From 25ef12504f10cb066db53541bd7bc7bac4c09ac4 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期二, 11 七月 2023 18:39:10 +0800 Subject: [PATCH] 管理台bug和用户端 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 14 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 a400294..ffa4cfc 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()); @@ -353,17 +355,52 @@ */ @Override public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto) { + List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); if (StringUtils.isNotBlank(merMemberPageDto.getMemberActiveness())) { - Activeness activeness = remoteConfigService.getActivenessByName(merMemberPageDto.getMemberActiveness()).getData(); - if (activeness != null) { - Date nowDay = DateUtils.getNowDate(); - String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); - String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); - merMemberPageDto.setActStartDate(actStartDate); - merMemberPageDto.setActEndDate(actEndDate); + if(!activenessList.isEmpty()){ + for(Activeness activeness : activenessList){ + if(activeness.getActivenessName().equals(merMemberPageDto.getMemberActiveness())){ + Date nowDay = DateUtils.getNowDate(); + String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); + String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); + merMemberPageDto.setActStartDate(actStartDate); + merMemberPageDto.setActEndDate(actEndDate); + break; + } + } } } List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto); + //处理活跃度返回 + if (merMemberPageVoList != null && !merMemberPageVoList.isEmpty()) { + if (activenessList != null && !activenessList.isEmpty()) { + //生成活跃度时间段列表 + List<MgtActivenessJudgeVo> mgtActivenessJudgeVoList = new ArrayList<>(); + MgtActivenessJudgeVo mgtActivenessJudgeVo; + for (Activeness activeness : activenessList) { + mgtActivenessJudgeVo = new MgtActivenessJudgeVo(); + mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay())); + mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1)); + mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); + } + //活跃度赋值 + Date lastPayTime; + for (MerMemberPageVo mgtMemberPageVo : merMemberPageVoList) { + lastPayTime = mgtMemberPageVo.getLastPayTime(); + StringJoiner sj = new StringJoiner(","); + if (lastPayTime != null) { + for (MgtActivenessJudgeVo entity : mgtActivenessJudgeVoList) { + if (lastPayTime.compareTo(entity.getStartDay()) >= 0 && lastPayTime.compareTo(entity.getEndDay()) <= 0) { + sj.add(entity.getActivenessName()); + } + } + if (sj.length() > 0) { + mgtMemberPageVo.setMemberActiveness(sj.toString()); + } + } + } + } + } return merMemberPageVoList; } @@ -1070,6 +1107,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"}; // 不同年龄段的会员数数组 @@ -1402,6 +1464,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"}; // 不同年龄段的会员数数组 @@ -1420,6 +1507,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(); @@ -1444,12 +1537,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; } -- Gitblit v1.7.1