From 7109e2fefaa46caffcd36b44828f48e0f8a790ba Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 11 七月 2023 09:36:50 +0800
Subject: [PATCH] 管理台bug和用户端

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |  122 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index e973ada..b6e59dd 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -240,12 +240,14 @@
             member.setCreateTime(new Date());
             member.setMobile(mobile);
             initMemberTotal(memberId);
+            log.info("sysUser01-----------------" + sysUser.toString());
         } else {
             sysUser = sysUserService.getSysUser(member.getUserId()).getData();
+            log.info("sysUser02-----------------" + sysUser.toString());
         }
         member.setWxUnionid(appUserRegisterDto.getWxUnionid());
         member.setMiniOpenid(appUserRegisterDto.getMiniOpenid());
-        log.info("member-----------------" + member.toString());
+        log.info("member02-----------------" + member.toString());
         this.saveOrUpdate(member);
         appUserRegisterVo.setMobile(mobile);
         appUserRegisterVo.setNickName(member.getNickName());
@@ -964,6 +966,7 @@
         mgtMemberGetVo.setMemberNo(member.getMemberNo());
         mgtMemberGetVo.setRealName(member.getRealName());
         mgtMemberGetVo.setNickName(member.getNickName());
+        mgtMemberGetVo.setAvatar(member.getAvatar());
         mgtMemberGetVo.setMobile(member.getMobile());
         mgtMemberGetVo.setGender(member.getGender() == 0 ? "男" : member.getGender() == 1 ? "女" : null);
         mgtMemberGetVo.setBirthday(member.getBirthday());
@@ -1069,6 +1072,31 @@
         // 获取总会员数和不同年龄段的会员数
         MgtTotalMemberTotalVo mgtTotalMemberTotalVo = memberMapper.getTotalMemberTotal(mgtBaseShopDto);
         MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getTotalMemberTotalAge(mgtBaseShopDto);
+        Integer manTotal = mgtAgeTotalVo.getManTotal();
+        Integer womenTotal = mgtAgeTotalVo.getWomenTotal();
+        mgtTotalMemberTotalVo.setManTotal(manTotal);
+        mgtTotalMemberTotalVo.setWomenTotal(womenTotal);
+        Integer personTotal = manTotal + womenTotal;
+        BigDecimal manTotalBig = new BigDecimal(manTotal);
+        BigDecimal personTotalBig = new BigDecimal(personTotal);
+        BigDecimal bigTen = new BigDecimal("100.00");
+        BigDecimal menPercent = new BigDecimal("100.00");
+        BigDecimal womenPercent = new BigDecimal("100.00");
+        if(manTotal==0&&womenTotal==0){
+            menPercent = new BigDecimal("50.00");
+            womenPercent = new BigDecimal("50.00");
+        }else if(manTotal==0&&womenTotal>0){
+            menPercent = new BigDecimal("0.00");
+            womenPercent = new BigDecimal("100.00");
+        }else if(manTotal>0&&womenTotal==0){
+            menPercent = new BigDecimal("100.00");
+            womenPercent = new BigDecimal("0.00");
+        }else{
+            menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP);
+            womenPercent = bigTen.subtract(menPercent);
+        }
+        mgtTotalMemberTotalVo.setManPercent(menPercent);
+        mgtTotalMemberTotalVo.setWomenPercent(womenPercent);
         // 年龄段数组
         String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"};
         // 不同年龄段的会员数数组
@@ -1401,6 +1429,31 @@
             merTotalDto.setShopId(null);
         }
         MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getMerMemberTotalAge(merTotalDto);
+        Integer manTotal = mgtAgeTotalVo.getManTotal();
+        Integer womenTotal = mgtAgeTotalVo.getWomenTotal();
+        memberFixedTotalVo.setManTotal(manTotal);
+        memberFixedTotalVo.setWomenTotal(womenTotal);
+        Integer personTotal = manTotal + womenTotal;
+        BigDecimal manTotalBig = new BigDecimal(manTotal);
+        BigDecimal personTotalBig = new BigDecimal(personTotal);
+        BigDecimal bigTen = new BigDecimal("100.00");
+        BigDecimal menPercent = new BigDecimal("100.00");
+        BigDecimal womenPercent = new BigDecimal("100.00");
+        if(manTotal==0&&womenTotal==0){
+            menPercent = new BigDecimal("50.00");
+            womenPercent = new BigDecimal("50.00");
+        }else if(manTotal==0&&womenTotal>0){
+            menPercent = new BigDecimal("0.00");
+            womenPercent = new BigDecimal("100.00");
+        }else if(manTotal>0&&womenTotal==0){
+            menPercent = new BigDecimal("100.00");
+            womenPercent = new BigDecimal("0.00");
+        }else{
+            menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP);
+            womenPercent = bigTen.subtract(menPercent);
+        }
+        memberFixedTotalVo.setManPercent(menPercent);
+        memberFixedTotalVo.setWomenPercent(womenPercent);
         // 年龄段数组
         String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"};
         // 不同年龄段的会员数数组
@@ -1419,6 +1472,12 @@
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
             goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos);
             memberFixedTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos);
+        }
+        //获取会员消费排名
+        List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto);
+        if (memberPayList != null && memberPayList.size() > 0) {
+            memberPayList = listRemoveNull(memberPayList);
+            memberFixedTotalVo.setMemberPayList(memberPayList);
         }
         // 获取不同活跃度的会员数
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
@@ -1443,12 +1502,6 @@
                 MgtMapIntTotalVoList.add(MgtMapIntTotalVo);
             }
             memberFixedTotalVo.setActivenessList(MgtMapIntTotalVoList);
-        }
-        //获取会员消费排名
-        List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto);
-        if (memberPayList != null && memberPayList.size() > 0) {
-            memberPayList = listRemoveNull(memberPayList);
-            memberFixedTotalVo.setMemberPayList(memberPayList);
         }
         return memberFixedTotalVo;
     }
@@ -1501,4 +1554,59 @@
         }
         return memberRecommendTotalVo;
     }
+
+    /**
+     * @description  获取各年龄层用户
+     * @author  jqs
+     * @date    2023/7/4 9:50
+     * @param merTotalDto
+     * @return  MerOrderAgeUserVo
+     */
+    @Override
+    public List<MerOrderAgeUserVo> listOrderAgeUser(MerTotalDto merTotalDto){
+        List<MerOrderAgeUserVo> orderAgeUserVoList = new ArrayList<>();
+        MerOrderAgeUserVo merOrderAgeUserVo = new MerOrderAgeUserVo();
+        merTotalDto.setAgeType(1);
+        List<Long> userIdList = memberMapper.listOrderAgeUser(merTotalDto);
+        merOrderAgeUserVo.setAgeType(1);
+        merOrderAgeUserVo.setUserIdList(userIdList);
+        orderAgeUserVoList.add(merOrderAgeUserVo);
+        merOrderAgeUserVo = new MerOrderAgeUserVo();
+        merTotalDto.setAgeType(2);
+        userIdList = memberMapper.listOrderAgeUser(merTotalDto);
+        merOrderAgeUserVo.setAgeType(2);
+        merOrderAgeUserVo.setUserIdList(userIdList);
+        orderAgeUserVoList.add(merOrderAgeUserVo);
+        merOrderAgeUserVo = new MerOrderAgeUserVo();
+        merTotalDto.setAgeType(3);
+        userIdList = memberMapper.listOrderAgeUser(merTotalDto);
+        merOrderAgeUserVo.setAgeType(3);
+        merOrderAgeUserVo.setUserIdList(userIdList);
+        orderAgeUserVoList.add(merOrderAgeUserVo);
+        merOrderAgeUserVo = new MerOrderAgeUserVo();
+        merTotalDto.setAgeType(4);
+        userIdList = memberMapper.listOrderAgeUser(merTotalDto);
+        merOrderAgeUserVo.setAgeType(4);
+        merOrderAgeUserVo.setUserIdList(userIdList);
+        orderAgeUserVoList.add(merOrderAgeUserVo);
+        merOrderAgeUserVo = new MerOrderAgeUserVo();
+        merTotalDto.setAgeType(5);
+        userIdList = memberMapper.listOrderAgeUser(merTotalDto);
+        merOrderAgeUserVo.setAgeType(4);
+        merOrderAgeUserVo.setUserIdList(userIdList);
+        orderAgeUserVoList.add(merOrderAgeUserVo);
+        return orderAgeUserVoList;
+    }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/5 21:18
+     * @param mgtBaseGetDto
+     * @return  void
+     */
+    @Override
+    public void mgtFrozenMember(MgtBaseGetDto mgtBaseGetDto){
+        sysUserService.frozenUser(Long.valueOf(mgtBaseGetDto.getId()));
+    }
 }

--
Gitblit v1.7.1