From cbc564a7088503ad8cc7af4e1d2ba417d061e615 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 30 六月 2023 11:35:05 +0800 Subject: [PATCH] 联调bug和统计完善 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 525 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 326 insertions(+), 199 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 0c96aef..5324204 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 @@ -17,7 +17,6 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.*; import com.ruoyi.member.domain.pojo.member.IntegralRecord; -import com.ruoyi.member.domain.pojo.member.MemberNurse; import com.ruoyi.member.domain.pojo.member.MemberTotal; import com.ruoyi.member.domain.vo.*; import com.ruoyi.member.mapper.member.MemberMapper; @@ -115,18 +114,17 @@ * @version 1.0 */ @Override - public Member getByUserId(Long userId){ + public Member getByUserId(Long userId) { Member member = memberMapper.selectMemberByUserId(userId); return member; } /** - * * @param appMiniLoginDto * @return */ @Override - public AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto){ + public AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto) { AppMiniLoginVo appMiniLoginVo = new AppMiniLoginVo(); WxMaJscode2SessionResult session = null; @@ -140,38 +138,39 @@ e.printStackTrace(); return null; } - if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){ + if (session != null && StringUtils.isNotBlank(session.getOpenid())) { unionid = session.getUnionid(); openid = session.getOpenid(); sessionKey = session.getSessionKey(); //获取用户 Member member = memberMapper.getOneByMiniOpenid(openid); SysUser sysUser = null; - if(member!=null){ + if (member != null) { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } appMiniLoginVo.setMiniOpenid(openid); appMiniLoginVo.setWxUnionid(unionid); appMiniLoginVo.setSysUser(sysUser); appMiniLoginVo.setSessionKey(sessionKey); - redisService.setCacheObject(SecurityConstant.SESSION_KEY+openid,sessionKey,1L,TimeUnit.DAYS); + redisService.setCacheObject(SecurityConstant.SESSION_KEY + openid, sessionKey, 1L, TimeUnit.DAYS); } - log.info("appMiniLoginVo"+appMiniLoginVo.toString()); + log.info("appMiniLoginVo" + appMiniLoginVo.toString()); return appMiniLoginVo; } /** * 小程序注册 + * * @param appUserRegisterDto * @return */ @Override - public AppMiniRegisterVo miniRegister(AppMiniRegisterDto appUserRegisterDto){ + public AppMiniRegisterVo miniRegister(AppMiniRegisterDto appUserRegisterDto) { AppMiniRegisterVo appUserRegisterVo = new AppMiniRegisterVo(); String mobile = null; //获取code接口在redis里存放的sessionkey用于解密 - String sessionkey = redisService.getCacheObject(SecurityConstant.SESSION_KEY+ appUserRegisterDto.getMiniOpenid()); - if(StringUtils.isBlank(sessionkey)){ + String sessionkey = redisService.getCacheObject(SecurityConstant.SESSION_KEY + appUserRegisterDto.getMiniOpenid()); + if (StringUtils.isBlank(sessionkey)) { throw new ServiceException(AppErrorConstant.USER_NOT_LOGIN); } try { @@ -204,18 +203,18 @@ } catch (Exception e) { e.printStackTrace(); } - if(StringUtils.isBlank(mobile)){ + if (StringUtils.isBlank(mobile)) { return null; } //判断openid是否被其他手机号占用 Member checkMember = memberMapper.getOneByMiniOpenid(appUserRegisterDto.getMiniOpenid()); - if(checkMember!=null&&!checkMember.getMobile().equals(mobile)){ + if (checkMember != null && !checkMember.getMobile().equals(mobile)) { throw new ServiceException("微信号换绑手机需联系客服"); } Member member = memberMapper.selectMemberByMobile(mobile); SysUser sysUser; //获取用户为空则新建 - if(member == null){ + if (member == null) { //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); @@ -240,12 +239,12 @@ member.setCreateTime(new Date()); member.setMobile(mobile); initMemberTotal(memberId); - }else{ + } else { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } member.setWxUnionid(appUserRegisterDto.getWxUnionid()); member.setMiniOpenid(appUserRegisterDto.getMiniOpenid()); - log.info("member-----------------"+member.toString()); + log.info("member-----------------" + member.toString()); this.saveOrUpdate(member); appUserRegisterVo.setMobile(mobile); appUserRegisterVo.setNickName(member.getNickName()); @@ -257,19 +256,19 @@ public static String getAccessTokenByWX() throws Exception { String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential"; - Map<String, String> headers = new HashMap<>(8); + Map<String, String> headers = new HashMap<>(8); HttpResponse response = HttpUtils.doGet(host, "", "GET", headers, null); return EntityUtils.toString(response.getEntity()); } - public static String getMobileByWX(String accessToken, String code) throws Exception { + public static String getMobileByWX(String accessToken, String code) throws Exception { String method = "POST"; Map<String, String> headers = new HashMap<>(16); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json"); Map<String, String> querys = new HashMap<>(16); Map<String, String> bodys = new HashMap<>(16); - querys.put("access_token", accessToken ); + querys.put("access_token", accessToken); bodys.put("code", code); String body = JSONObject.toJSONString(bodys); String host = "https://api.weixin.qq.com/wxa/business/getuserphonenumber"; @@ -279,11 +278,12 @@ /** * 获取用户信息 + * * @param userId * @return */ @Override - public AppUserInfoVo getAppUserInfo(Long userId){ + public AppUserInfoVo getAppUserInfo(Long userId) { AppUserInfoVo appUserInfoVo = new AppUserInfoVo(); Member member = this.getByUserId(userId); appUserInfoVo.setUserId(userId); @@ -291,11 +291,11 @@ appUserInfoVo.setNickName(member.getNickName()); appUserInfoVo.setRealName(member.getRealName()); appUserInfoVo.setPhonenumber(member.getMobile()); - if(member.getRelationShopId()!=null&&member.getBindingFlag()==1){ + if (member.getRelationShopId() != null && member.getBindingFlag() == 1) { appUserInfoVo.setRelationShopId(member.getRelationShopId()); Shop shop = shopService.getShop(member.getRelationShopId()).getData(); appUserInfoVo.setShopName(shop.getShopName()); - appUserInfoVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); + appUserInfoVo.setShopAddress(shop.getShopAreaName() + shop.getShopAddress()); } appUserInfoVo.setBirthday(member.getBirthday()); appUserInfoVo.setGender(member.getGender()); @@ -308,15 +308,16 @@ /** * 修改用户信息 + * * @param appEditUserDto */ @Override - public void editAppUserInfo(AppEditUserDto appEditUserDto){ + public void editAppUserInfo(AppEditUserDto appEditUserDto) { //修改类型1.昵称2.头像3.性别4.生日 Integer editType = appEditUserDto.getEditType(); String editValue = appEditUserDto.getEditValue(); Member member = this.getByUserId(appEditUserDto.getUserId()); - switch (editType){ + switch (editType) { case 1: member.setNickName(editValue); member.setUpdateTime(new Date()); @@ -345,12 +346,23 @@ /** * 分页获取会员信息 + * * @param merMemberPageDto * @return */ @Override - public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto){ - List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page,merMemberPageDto); + public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto) { + 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); + } + } + List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto); return merMemberPageVoList; } @@ -362,41 +374,71 @@ * @version 1.0 */ @Override - public MerMemberInfoVo getMerMemberInfo(Long userId){ + public MerMemberInfoVo getMerMemberInfo(MerBaseGetDto merBaseGetDto) { + // 将id转换为Long类型 + Long userId = Long.valueOf(merBaseGetDto.getId()); + // 创建MerMemberInfoVo对象 MerMemberInfoVo merMemberInfoVo = new MerMemberInfoVo(); + // 根据userId获取Member对象 Member member = this.getByUserId(userId); + // 设置MerMemberInfoVo对象的属性值 merMemberInfoVo.setUserId(userId); merMemberInfoVo.setNickName(member.getNickName()); merMemberInfoVo.setPhonenumber(member.getMobile()); merMemberInfoVo.setAvatar(member.getAvatar()); merMemberInfoVo.setBirthday(member.getBirthday()); merMemberInfoVo.setUserTags(member.getUserTags()); - //未完成 - + merMemberInfoVo.setMemberType(member.getGoodsType()); + // 根据memberId获取MemberTotal对象 + MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); + // 设置MerMemberInfoVo对象的属性值 + merMemberInfoVo.setSurpNumber(memberTotal.getUseableServiceCount()); + merMemberInfoVo.setUserNumber(memberTotal.getUsedServiceCount()); + merMemberInfoVo.setPayMoney(memberTotal.getTotalPayMoney()); + // 创建MerBaseDto对象 + MerBaseDto merBaseDto = new MerBaseDto(); + // 设置MerBaseDto对象的属性值 + merBaseDto.setShopId(merBaseGetDto.getShopId()); + merBaseDto.setUserId(userId); + // 获取未支付订单金额 + BigDecimal unpaidMoney = remoteOrderService.getMemberUnpaidOrder(merBaseDto).getData(); + merMemberInfoVo.setUnpaidMoney(unpaidMoney); + // 获取最近的会员任务 + MemberTaskSimpleVo memberTaskSimpleVo = remoteShopService.getLastMemberTask(userId).getData(); + if (memberTaskSimpleVo != null) { + merMemberInfoVo.setLastTaskContent(memberTaskSimpleVo.getTaskContent()); + merMemberInfoVo.setLastTaskTime(memberTaskSimpleVo.getTaskDate()); + } + // 设置MerMemberInfoVo对象的属性值 + merMemberInfoVo.setNextTaskTime(memberTotal.getNextTaskTime()); + merMemberInfoVo.setLastPayTime(memberTotal.getLastPayTime()); + // 返回MerMemberInfoVo对象 return merMemberInfoVo; } /** * 分页获取收银用户列表 + * * @param page * @param merCashMemberPageDto * @return */ @Override - public List<MerCashMemberPageVo> pageMerCashMember(Page page, MerCashMemberPageDto merCashMemberPageDto){ + public List<MerCashMemberPageVo> pageMerCashMember(Page page, MerCashMemberPageDto merCashMemberPageDto) { - List<MerCashMemberPageVo> merCashMemberPageVos = memberMapper.pageMerCashMember(page,merCashMemberPageDto); + List<MerCashMemberPageVo> merCashMemberPageVos = memberMapper.pageMerCashMember(page, merCashMemberPageDto); return merCashMemberPageVos; } /** * 更新会员绑定商户 + * * @param appMemberBindingDto */ @Override - public void updateMemberBinding(AppMemberBindingDto appMemberBindingDto){ + public void updateMemberBinding(AppMemberBindingDto appMemberBindingDto) { Member member = this.getByUserId(appMemberBindingDto.getUserId()); - if(member.getBindingFlag()==0){ + if (member.getBindingFlag() == 0) { member.setBindingTime(new Date()); } member.setBindingFlag(appMemberBindingDto.getBindingFlag()); @@ -407,48 +449,56 @@ /** * 获取会员基础档案 + * * @param userId * @return */ @Override - public MerMemberBasicFileVo getMerMemberBasicFile(Long userId){ + public MerMemberBasicFileVo getMerMemberBasicFile(Long userId) { MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo(); Member member = this.getByUserId(userId); BeanUtils.copyProperties(member, merMemberBasicFileVo); merMemberBasicFileVo.setNickName(member.getNickName()); merMemberBasicFileVo.setPhonenumber(member.getMobile()); merMemberBasicFileVo.setCreateTime(member.getCreateTime()); - List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); - List<String> valueList = memberNurseList.stream().map(k->k.getNurse()).collect(Collectors.toList()); - merMemberBasicFileVo.setMemberNurse(valueList); + /*List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); + List<String> valueList = memberNurseList.stream().map(k -> k.getNurse()).collect(Collectors.toList());*/ + String memberNurse = member.getMemberNurse(); + if(StringUtils.isNotBlank(memberNurse)){ + List<String> valueList = Arrays.asList(memberNurse.split(",")); + merMemberBasicFileVo.setMemberNurse(valueList); + } + List<MemberArchiveVo> achiveList = memberArchiveService.listMerVoByUserId(userId); + merMemberBasicFileVo.setAchiveList(achiveList); return merMemberBasicFileVo; } /** * 获取会员标签 + * * @param userId * @return */ @Override - public List<MerMemberTagVo> getMerMemberTags(Long userId){ + public List<MerMemberTagVo> getMerMemberTags(Long userId) { Member member = this.getByUserId(userId); String userTags = member.getUserTags(); String[] userTagsArr = null; - if(StringUtils.isNotBlank(userTags)){ + if (StringUtils.isNotBlank(userTags)) { userTagsArr = userTags.split(","); } List<SysTag> sysTagsList = remoteConfigService.listSysTag(1).getData(); List<MerMemberTagVo> merMemberTagVoList = new ArrayList<>(); MerMemberTagVo merMemberTagVo; String tagName; - if(sysTagsList!=null&&!sysTagsList.isEmpty()){ - for(SysTag sysTag : sysTagsList){ + if (sysTagsList != null && !sysTagsList.isEmpty()) { + for (SysTag sysTag : sysTagsList) { merMemberTagVo = new MerMemberTagVo(); tagName = sysTag.getTagName(); merMemberTagVo.setTagName(tagName); - if(userTagsArr!=null && ArrayUtils.contains(userTagsArr, tagName)){ + if (userTagsArr != null && ArrayUtils.contains(userTagsArr, tagName)) { merMemberTagVo.setSelectFlag(1); - }else{ + } else { merMemberTagVo.setSelectFlag(0); } merMemberTagVoList.add(merMemberTagVo); @@ -459,15 +509,16 @@ /** * 编辑会员标签 + * * @param merMemberTagEditDto */ @Override - public void editMerMemberTags(MerMemberTagEditDto merMemberTagEditDto){ + public void editMerMemberTags(MerMemberTagEditDto merMemberTagEditDto) { Member member = this.getByUserId(merMemberTagEditDto.getMemberUserId()); List<String> userTags = merMemberTagEditDto.getUserTags(); StringJoiner sj = new StringJoiner(","); - if(userTags!=null&&!userTags.isEmpty()){ - for(String str : userTags){ + if (userTags != null && !userTags.isEmpty()) { + for (String str : userTags) { sj.add(str); } } @@ -478,17 +529,21 @@ /** * 添加会员 + * * @param merMemberAddDto */ @Override - public void addMerMember(MerMemberAddDto merMemberAddDto){ - String phonenumber = merMemberAddDto.getPhonenumber(); - Member oldMember = this.getByMobile(phonenumber); - if(oldMember!=null){ + public void addMerMember(MerMemberAddDto merMemberAddDto) { + String phoneNumber = merMemberAddDto.getPhonenumber(); + Member oldMember = this.getByMobile(phoneNumber); + // Check if the member already exists + if (oldMember != null) { throw new ServiceException(AppErrorConstant.MOBILE_USER_DOUBLE); } - SysUser sysUser = sysUserService.getSysUserByMobile(phonenumber).getData(); - if(sysUser==null){ + // Get the sysUser by mobile number + SysUser sysUser = sysUserService.getSysUserByMobile(phoneNumber).getData(); + // If sysUser does not exist, create a new one + if (sysUser == null) { String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); sysUser.setUserName(memberId); @@ -497,8 +552,9 @@ sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "hongruitang"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); - log.debug("sysUser"+sysUser.toString()); + log.debug("sysUser" + sysUser.toString()); sysUser = sysUserService.registerUser(sysUser).getData(); + // Create a new member Member member = new Member(); String memberNo = createMemberNo(); member.setMemberNo(memberNo); @@ -508,7 +564,7 @@ member.setNickName(merMemberAddDto.getNickName()); member.setRealName(merMemberAddDto.getNickName()); member.setGender(merMemberAddDto.getGender()); - member.setMobile(phonenumber); + member.setMobile(phoneNumber); member.setReferrer(merMemberAddDto.getReferrer()); member.setBirthday(merMemberAddDto.getBirthday()); member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); @@ -517,29 +573,29 @@ member.setMiniOpenid(null); member.setBindingFlag(1); member.setBindingTime(new Date()); + // Get shop information and set it to the member Shop shop = remoteShopService.getShop(merMemberAddDto.getShopId()).getData(); member.setRelationShopName(shop.getShopName()); member.setCustomerSource("商户添加"); member.setCreateTime(new Date()); - log.info("member-----------------"+member.toString()); + // Save the member and initialize member total this.saveOrUpdate(member); initMemberTotal(memberId); } - - } /** * 编辑会员 + * * @param merMemberEditDto */ @Override - public void editMerMember(MerMemberEditDto merMemberEditDto){ + public void editMerMember(MerMemberEditDto merMemberEditDto) { Member member = this.getByUserId(merMemberEditDto.getEditUserId()); - if(!member.getMobile().equals(merMemberEditDto.getPhonenumber())){ + if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); - if(memberOld!=null){ + if (memberOld != null) { throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); } } @@ -552,7 +608,7 @@ member.setBirthday(merMemberEditDto.getBirthday()); member.setUpdateUserId(merMemberEditDto.getUserId()); member.setUpdateTime(new Date()); - log.info("member-----------------"+member.toString()); + log.info("member-----------------" + member.toString()); this.saveOrUpdate(member); SysUser sysUser = new SysUser(); sysUser.setUserId(merMemberEditDto.getEditUserId()); @@ -561,12 +617,11 @@ } /** - * * @param mobile * @return */ @Override - public Member getByMobile(String mobile){ + public Member getByMobile(String mobile) { LambdaQueryWrapper<Member> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Member::getDelFlag, 0).eq(Member::getMobile, mobile); Member member = this.getOne(queryWrapper); @@ -575,27 +630,28 @@ /** * 更新用户商品类型 + * * @param appMemberGoodsTypeDto */ @Override - public void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto){ + public void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) { Member member = this.getByUserId(appMemberGoodsTypeDto.getUserId()); HashSet<String> goodsTypeSet = appMemberGoodsTypeDto.getGoodsTypeSet(); - if(member!=null){ + if (member != null) { String goodsType = member.getGoodsType(); Boolean change = false; - for(String str : goodsTypeSet){ - if(goodsType != null){ - if(!goodsType.contains(str)){ + for (String str : goodsTypeSet) { + if (goodsType != null) { + if (!goodsType.contains(str)) { goodsType = goodsType + "," + str; change = true; } - }else{ + } else { goodsType = str; change = true; } } - if(change){ + if (change) { member.setGoodsType(goodsType); this.saveOrUpdate(member); } @@ -605,10 +661,11 @@ /** * 订单创建新用户 + * * @param member */ @Override - public void createNewMember(Member member){ + public void createNewMember(Member member) { String memberNo = createMemberNo(); member.setMemberNo(memberNo); member.setDelFlag(0); @@ -622,10 +679,11 @@ /** * 生成会员统计 + * * @param memberId * @return */ - private void initMemberTotal(String memberId){ + private void initMemberTotal(String memberId) { MemberTotal memberTotal = new MemberTotal(); memberTotal.setMemberId(memberId); memberTotal.setDelFlag(0); @@ -648,65 +706,67 @@ /** * 生成会员编号 + * * @return */ - private String createMemberNo(){ + private String createMemberNo() { int memberTotal = memberMapper.selectCount(new LambdaQueryWrapper<Member>()); - String memberNo = CodeFactoryUtil.getMemberNo(Long.valueOf(memberTotal+1)); + String memberNo = CodeFactoryUtil.getMemberNo(Long.valueOf(memberTotal + 1)); return memberNo; } /** * 平台分页获取会员列表 + * * @param page * @param merMemberPageDto * @return */ @Override - public List<MgtMemberPageVo> pageMgtMember(Page page,MgtMemberPageDto merMemberPageDto){ + public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) { List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); Date nowDay = new Date(); - if(merMemberPageDto.getActivenessId()!=null){ + if (merMemberPageDto.getActivenessId() != null) { //处理活跃度筛选 activenessList.stream() .filter(activeness -> activeness.getActivenessId().equals(merMemberPageDto.getActivenessId())) .findFirst() .ifPresent(activeness -> { - merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(nowDay, activeness.getEndDay()))); - merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(nowDay, activeness.getStartDay()))); + merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()))); + merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()))); }); } //处理标签为正则表达 - if(StringUtils.isNotBlank(merMemberPageDto.getMemberTags())){ - merMemberPageDto.setMemberTags(merMemberPageDto.getMemberTags().replace(",","|")); + if (StringUtils.isNotBlank(merMemberPageDto.getMemberTags())) { + merMemberPageDto.setMemberTags(merMemberPageDto.getMemberTags().replace(",", "|")); } //查询获取结果列表 List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto); //处理活跃度返回 - if(memberPageVoList!=null&&!memberPageVoList.isEmpty()){ - if(activenessList!=null&&!activenessList.isEmpty()){ + if (memberPageVoList != null && !memberPageVoList.isEmpty()) { + if (activenessList != null && !activenessList.isEmpty()) { //生成活跃度时间段列表 List<MgtActivenessJudgeVo> mgtActivenessJudgeVoList = new ArrayList<>(); MgtActivenessJudgeVo mgtActivenessJudgeVo; - for(Activeness activeness : activenessList){ + 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.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay())); + mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1)); mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); } //活跃度赋值 Date lastPayTime; - for(MgtMemberPageVo mgtMemberPageVo : memberPageVoList){ + for (MgtMemberPageVo mgtMemberPageVo : memberPageVoList) { 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){ + 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){ + if (sj.length() > 0) { mgtMemberPageVo.setActiveness(sj.toString()); } } @@ -719,15 +779,16 @@ /** * 修改会员关联商户 + * * @param mgtMemberRelEditDto */ @Override - public void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto){ - if(StringUtils.isNotBlank(mgtMemberRelEditDto.getMemberUserIds())){ + public void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto) { + if (StringUtils.isNotBlank(mgtMemberRelEditDto.getMemberUserIds())) { Shop shop = shopService.getShop(mgtMemberRelEditDto.getShopId()).getData(); String memberUserIds = mgtMemberRelEditDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); - for(String str : memberUserIdArr){ + for (String str : memberUserIdArr) { Member member = this.getByUserId(Long.valueOf(str)); member.setRelationShopId(shop.getShopId()); member.setRelationShopName(shop.getShopName()); @@ -743,14 +804,15 @@ /** * 删除会员关联商户 + * * @param mgtMemberRelDelDto */ @Override - public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto){ - if(StringUtils.isNotBlank(mgtMemberRelDelDto.getMemberUserIds())) { + public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto) { + if (StringUtils.isNotBlank(mgtMemberRelDelDto.getMemberUserIds())) { String memberUserIds = mgtMemberRelDelDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); - for(String str : memberUserIdArr) { + for (String str : memberUserIdArr) { Member member = this.getByUserId(Long.valueOf(str)); member.setBindingFlag(0); member.setUpdateTime(new Date()); @@ -762,15 +824,16 @@ /** * 修改会员积分 + * * @param mgtMemberIntEditDto */ @Override - public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto){ - if(StringUtils.isNotBlank(mgtMemberIntEditDto.getMemberUserIds())) { + public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto) { + if (StringUtils.isNotBlank(mgtMemberIntEditDto.getMemberUserIds())) { String memberUserIds = mgtMemberIntEditDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); MemberIntegralChangeDto memberIntegralChangeDto; - for(String str : memberUserIdArr) { + for (String str : memberUserIdArr) { memberIntegralChangeDto = new MemberIntegralChangeDto(); Member member = this.getByUserId(Long.valueOf(str)); memberIntegralChangeDto.setUserId(Long.valueOf(str)); @@ -785,13 +848,13 @@ } - /** * 会员积分变动 + * * @param memberIntegralChangeDto */ @Override - public void memberIntegralChange(MemberIntegralChangeDto memberIntegralChangeDto){ + public void memberIntegralChange(MemberIntegralChangeDto memberIntegralChangeDto) { MemberTotal memberTotal = memberTotalService.getById(memberIntegralChangeDto.getMemberId()); Integer recordType = memberIntegralChangeDto.getRecordType(); Integer changeType = memberIntegralChangeDto.getChangeType(); @@ -800,15 +863,15 @@ Integer usedIntegral = memberTotal.getUsedIntegral(); Integer useableIntegral = memberTotal.getUseableIntegral(); //变动统计 - if(changeType==1){ + if (changeType == 1) { totalIntegral = totalIntegral + integer; useableIntegral = useableIntegral + integer; memberTotal.setTotalIntegral(totalIntegral); memberTotal.setUseableIntegral(useableIntegral); - }else if(changeType==2){ + } else if (changeType == 2) { usedIntegral = usedIntegral + integer; useableIntegral = useableIntegral - integer; - if(useableIntegral<0){ + if (useableIntegral < 0) { throw new ServiceException(AppErrorConstant.INTEGRAL_USE_FAILED); } memberTotal.setTotalIntegral(totalIntegral); @@ -821,16 +884,16 @@ integralRecord.setDelFlag(0); integralRecord.setUserId(memberIntegralChangeDto.getUserId()); integralRecord.setChangeType(recordType); - if(changeType==1){ + if (changeType == 1) { integralRecord.setChangeIntegral(integer); - }else if(changeType==2){ - integralRecord.setChangeIntegral( 0-integer); + } else if (changeType == 2) { + integralRecord.setChangeIntegral(0 - integer); } integralRecord.setSurpIntegral(useableIntegral); integralRecord.setCreateTime(new Date()); integralRecord.setOrderId(memberIntegralChangeDto.getOrderId()); integralRecord.setOrderNo(memberIntegralChangeDto.getOrderNo()); - switch (recordType){ + switch (recordType) { case 1: integralRecord.setChangeReason("购物赠送"); break; @@ -848,16 +911,17 @@ /** * 平台获取会员信息 + * * @param userId * @return */ @Override - public MgtMemberGetVo getMgtMemberInfo(Long userId){ + public MgtMemberGetVo getMgtMemberInfo(Long userId) { MgtMemberGetVo mgtMemberGetVo = new MgtMemberGetVo(); Member member = this.getByUserId(userId); MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); - List<MemberArchiveVo> memberArchiveVoList = memberArchiveService.listVoByUserId(member.getUserId()); - if(memberArchiveVoList!=null&&!memberArchiveVoList.isEmpty()){ + List<MemberArchiveVo> memberArchiveVoList = memberArchiveService.listMgtVoByUserId(member.getUserId()); + if (memberArchiveVoList != null && !memberArchiveVoList.isEmpty()) { //去掉未完善信息 memberArchiveVoList.removeIf(o -> Objects.isNull(o.getFieldValue())); } @@ -867,7 +931,7 @@ mgtMemberGetVo.setRealName(member.getRealName()); mgtMemberGetVo.setNickName(member.getNickName()); mgtMemberGetVo.setMobile(member.getMobile()); - mgtMemberGetVo.setGender(member.getGender()==0 ? "男" : member.getGender()==1 ? "女" : null); + mgtMemberGetVo.setGender(member.getGender() == 0 ? "男" : member.getGender() == 1 ? "女" : null); mgtMemberGetVo.setBirthday(member.getBirthday()); mgtMemberGetVo.setBelongDistrict(member.getBelongDistrict()); mgtMemberGetVo.setCreateTime(member.getCreateTime()); @@ -885,54 +949,54 @@ } /** - * @description 删除标签 - * @author jqs - * @date 2023/6/8 15:18 * @param memberTag - * @return void + * @return void + * @description 删除标签 + * @author jqs + * @date 2023/6/8 15:18 */ @Override - public void deleteMemberTag(String memberTag){ + public void deleteMemberTag(String memberTag) { memberMapper.deleteMemberTag(memberTag); } /** - * @description 通过发送类型获取userId - * @author jqs - * @date 2023/6/13 17:53 * @param sendType - * @return List<Long> + * @return List<Long> + * @description 通过发送类型获取userId + * @author jqs + * @date 2023/6/13 17:53 */ @Override - public List<Long> listIdBySendType(Integer sendType){ + public List<Long> listIdBySendType(Integer sendType) { //1.手动领取2.全部用户3.会员用户4非会员用户5自定义 return memberMapper.listIdBySendType(sendType); } /** - * @description 通过ids获取用户简易返回 - * @author jqs - * @date 2023/6/16 11:06 * @param userIds - * @return List<MgtSimpleMemberVo> + * @return List<MgtSimpleMemberVo> + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:06 */ @Override - public List<MgtSimpleMemberVo> listSimpleVoByIds(String userIds){ + public List<MgtSimpleMemberVo> listSimpleVoByIds(String userIds) { return memberMapper.listSimpleVoByIds(userIds); } /** - * @description - * @author jqs - * @date 2023/6/16 12:41 * @param mgtUserIdByKeywordDto - * @return MgtUserIdByKeywordVo + * @return MgtUserIdByKeywordVo + * @description + * @author jqs + * @date 2023/6/16 12:41 */ @Override - public MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto){ + public MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto) { MgtUserIdByKeywordVo mgtUserIdByKeywordVo = new MgtUserIdByKeywordVo(); List<Long> userIdList = memberMapper.getUserIdByKeyword(mgtUserIdByKeywordDto); - if(userIdList!=null&&!userIdList.isEmpty()){ + if (userIdList != null && !userIdList.isEmpty()) { String userIdStr = userIdList.stream() .map(Object::toString) .collect(Collectors.joining(",")); @@ -942,14 +1006,14 @@ } /** - * @description boardMemberTotal * @param * @return MgtBulletinBoardVo + * @description boardMemberTotal * @author jqs34 * @date 2023/6/18 16:45 */ @Override - public MgtBulletinBoardVo boardMemberTotal(){ + public MgtBulletinBoardVo boardMemberTotal() { MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal()); mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday()); @@ -957,14 +1021,14 @@ } /** - * @description 会员人数统计 - * @author jqs - * @date 2023/6/19 15:26 * @param - * @return MgtTotalMemberTotalVo + * @return MgtTotalMemberTotalVo + * @description 会员人数统计 + * @author jqs + * @date 2023/6/19 15:26 */ @Override - public MgtTotalMemberTotalVo getTotalMemberTotal(MgtBaseShopDto mgtBaseShopDto){ + public MgtTotalMemberTotalVo getTotalMemberTotal(MgtBaseShopDto mgtBaseShopDto) { Date nowDay = DateUtils.getNowDate(); // 获取店铺ID Long shopId = mgtBaseShopDto.getShopId(); @@ -979,13 +1043,13 @@ mgtTotalMemberTotalVo.setAgeKey(ageKey); mgtTotalMemberTotalVo.setAgeValue(ageValue); // 获取不同护理类型的会员数 - List<MgtMapTotalVo> nurseTotalVos = memberMapper.getTotalMemberTotalNurse(mgtBaseShopDto); + List<MgtMapIntTotalVo> nurseTotalVos = memberMapper.getTotalMemberTotalNurse(mgtBaseShopDto); if (nurseTotalVos != null && nurseTotalVos.size() > 0) { nurseTotalVos = listRemoveNull(nurseTotalVos); mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos); } // 获取不同商品类型的会员数 - List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto); + List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto); if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) { goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos); mgtTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos); @@ -997,29 +1061,29 @@ String actStartDate; String actEndDate; Integer count; - List<MgtMapTotalVo> mgtMapTotalVoList = new ArrayList<>(); - MgtMapTotalVo mgtMapTotalVo; + List<MgtMapIntTotalVo> MgtMapIntTotalVoList = new ArrayList<>(); + MgtMapIntTotalVo MgtMapIntTotalVo; // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 for (int i = 0; i < activenessList.size(); i++) { activeness = activenessList.get(i); actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); count = memberMapper.getTotalMemberTotalActiveness(shopId, actStartDate, actEndDate); - mgtMapTotalVo = new MgtMapTotalVo(); - mgtMapTotalVo.setMapKey(activeness.getActivenessName()); - mgtMapTotalVo.setMapValue(count); - mgtMapTotalVoList.add(mgtMapTotalVo); + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + MgtMapIntTotalVo.setMapKey(activeness.getActivenessName()); + MgtMapIntTotalVo.setMapValue(count); + MgtMapIntTotalVoList.add(MgtMapIntTotalVo); } - mgtTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList); + mgtTotalMemberTotalVo.setActivenessList(MgtMapIntTotalVoList); } //获取会员消费排名 - List<MgtMapTotalVo> memberPayList = memberMapper.getTotalMemberRankPay(mgtBaseShopDto); + List<MgtMapIntTotalVo> memberPayList = memberMapper.getTotalMemberRankPay(mgtBaseShopDto); if (memberPayList != null && memberPayList.size() > 0) { memberPayList = listRemoveNull(memberPayList); mgtTotalMemberTotalVo.setMemberPayList(memberPayList); } //获取来源渠道排名 - List<MgtMapTotalVo> customerSourceList = memberMapper.getTotalMemberRankCustomerSource(mgtBaseShopDto); + List<MgtMapIntTotalVo> customerSourceList = memberMapper.getTotalMemberRankCustomerSource(mgtBaseShopDto); if (customerSourceList != null && customerSourceList.size() > 0) { customerSourceList = listRemoveNull(customerSourceList); mgtTotalMemberTotalVo.setCustomerSourceList(customerSourceList); @@ -1030,36 +1094,36 @@ /** - * @description - * @author jqs - * @date 2023/6/20 11:42 * @param mgtActivityAgeDto - * @return List<Long> + * @return List<Long> + * @description + * @author jqs + * @date 2023/6/20 11:42 */ @Override - public List<Long> listUserIdByAge(MgtActivityAgeDto mgtActivityAgeDto){ + public List<Long> listUserIdByAge(MgtActivityAgeDto mgtActivityAgeDto) { List<Long> userIdList = memberMapper.listUserIdByAge(mgtActivityAgeDto); return userIdList; } /** - * @description 会员人数统计 - * @author jqs - * @date 2023/6/21 10:59 * @param mgtBasePlatformDto - * @return MgtPlTotalMemberTotalVo + * @return MgtPlTotalMemberTotalVo + * @description 会员人数统计 + * @author jqs + * @date 2023/6/21 10:59 */ @Override - public MgtPlTotalMemberTotalVo getPlTotalMemberTotal(MgtBasePlatformDto mgtBasePlatformDto){ + public MgtPlTotalMemberTotalVo getPlTotalMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) { Date nowDay = DateUtils.getNowDate(); //如果区域代码不为null获取对应的商户id - if(StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode())||StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())){ + if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) { MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); mgtShopIdByCodeDto.setShopProvinceCode(mgtBasePlatformDto.getShopProvinceCode()); mgtShopIdByCodeDto.setShopCityCode(mgtBasePlatformDto.getShopCityCode()); mgtShopIdByCodeDto.setShopAreaCode(mgtBasePlatformDto.getShopAreaCode()); MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); - if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { List<Long> list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(",")) .map(Long::valueOf) .collect(Collectors.toList()); @@ -1069,10 +1133,10 @@ //获取基础统计 MgtPlTotalMemberTotalVo plTotalMemberTotalVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto); MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getPlTotalMemberTotalAge(mgtBasePlatformDto); - if(mgtAgeTotalVo!=null){ + if (mgtAgeTotalVo != null) { plTotalMemberTotalVo.setManTotal(mgtAgeTotalVo.getManTotal()); plTotalMemberTotalVo.setWomenTotal(mgtAgeTotalVo.getWomenTotal()); - }else{ + } else { plTotalMemberTotalVo.setManTotal(0); plTotalMemberTotalVo.setWomenTotal(0); } @@ -1085,13 +1149,13 @@ plTotalMemberTotalVo.setAgeKey(ageKey); plTotalMemberTotalVo.setAgeValue(ageValue); // 获取不同调理类型的会员数 - List<MgtMapTotalVo> nurseTotalVos = memberMapper.getPlTotalMemberTotalNurse(mgtBasePlatformDto); + List<MgtMapIntTotalVo> nurseTotalVos = memberMapper.getPlTotalMemberTotalNurse(mgtBasePlatformDto); if (nurseTotalVos != null && nurseTotalVos.size() > 0) { nurseTotalVos = listRemoveNull(nurseTotalVos); plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos); } // 获取不同商品类型的会员数 - List<MgtMapTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto); + List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto); if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) { goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos); plTotalMemberTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos); @@ -1104,42 +1168,42 @@ String actStartDate; String actEndDate; Integer count; - List<MgtMapTotalVo> mgtMapTotalVoList = new ArrayList<>(); - MgtMapTotalVo mgtMapTotalVo; + List<MgtMapIntTotalVo> MgtMapIntTotalVoList = new ArrayList<>(); + MgtMapIntTotalVo MgtMapIntTotalVo; // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 for (int i = 0; i < activenessList.size(); i++) { activeness = activenessList.get(i); actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); count = memberMapper.getPlTotalMemberTotalActiveness(shopIdList, actStartDate, actEndDate); - if(StringUtils.isNotBlank(activeness.getActivenessName())){ - mgtMapTotalVo = new MgtMapTotalVo(); - mgtMapTotalVo.setMapKey(activeness.getActivenessName()); - mgtMapTotalVo.setMapValue(count); - mgtMapTotalVoList.add(mgtMapTotalVo); + if (StringUtils.isNotBlank(activeness.getActivenessName())) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + MgtMapIntTotalVo.setMapKey(activeness.getActivenessName()); + MgtMapIntTotalVo.setMapValue(count); + MgtMapIntTotalVoList.add(MgtMapIntTotalVo); } } - plTotalMemberTotalVo.setActivenessList(mgtMapTotalVoList); + plTotalMemberTotalVo.setActivenessList(MgtMapIntTotalVoList); } //获取会员消费排名 - List<MgtMapTotalVo> memberPayList = memberMapper.getPlTotalMemberRankPay(mgtBasePlatformDto); + List<MgtMapIntTotalVo> memberPayList = memberMapper.getPlTotalMemberRankPay(mgtBasePlatformDto); if (memberPayList != null && memberPayList.size() > 0) { memberPayList = listRemoveNull(memberPayList); plTotalMemberTotalVo.setMemberPayList(memberPayList); } //获取来源渠道排名 - List<MgtMapTotalVo> customerSourceList = memberMapper.getPlTotalMemberRankCustomerSource(mgtBasePlatformDto); + List<MgtMapIntTotalVo> customerSourceList = memberMapper.getPlTotalMemberRankCustomerSource(mgtBasePlatformDto); if (customerSourceList != null && customerSourceList.size() > 0) { customerSourceList = listRemoveNull(customerSourceList); plTotalMemberTotalVo.setCustomerSourceList(customerSourceList); } //获取商铺会员排名 - List<MgtMapTotalVo> shopMemberRankList = memberMapper.getPlTotalMemberRank(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopMemberRankList = memberMapper.getPlTotalMemberRank(mgtBasePlatformDto); if (shopMemberRankList != null && shopMemberRankList.size() > 0) { shopMemberRankList = listRemoveNull(shopMemberRankList); plTotalMemberTotalVo.setShopMemberRankList(shopMemberRankList); } - List<MgtMapTotalVo> memberGoodsRankList = remoteOrderService.listMemberGoodsRank(mgtBasePlatformDto).getData(); + List<MgtMapIntTotalVo> memberGoodsRankList = remoteOrderService.listMemberGoodsRank(mgtBasePlatformDto).getData(); if (memberGoodsRankList != null && memberGoodsRankList.size() > 0) { memberGoodsRankList = listRemoveNull(memberGoodsRankList); plTotalMemberTotalVo.setMemberGoodsRankList(memberGoodsRankList); @@ -1148,42 +1212,42 @@ } /** - * @description 去除空字符串 - * @author jqs - * @date 2023/6/27 17:35 - * @param mgtMapTotalVos - * @return List<MgtMapTotalVo> + * @param MgtMapIntTotalVos + * @return List<MgtMapIntTotalVo> + * @description 去除空字符串 + * @author jqs + * @date 2023/6/27 17:35 */ - private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){ - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){ - mgtMapTotalVos.remove(i); + private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos) { + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { + MgtMapIntTotalVos.remove(i); } } - return mgtMapTotalVos; + return MgtMapIntTotalVos; } /** - * @description 通过shopId获取userId - * @author jqs - * @date 2023/6/21 17:11 * @param shopIdList - * @return List<Long> + * @return List<Long> + * @description 通过shopId获取userId + * @author jqs + * @date 2023/6/21 17:11 */ @Override - public List<Long> listUserIdByShopId(List<Long> shopIdList){ + public List<Long> listUserIdByShopId(List<Long> shopIdList) { return memberMapper.listUserIdByShopId(shopIdList); } /** - * @description 通过shopId获取user统计 - * @author jqs - * @date 2023/6/21 17:19 * @param shopIdList - * @return MgtShopTotalMemberVo + * @return MgtShopTotalMemberVo + * @description 通过shopId获取user统计 + * @author jqs + * @date 2023/6/21 17:19 */ @Override - public MgtShopTotalMemberVo getUserTotalByShopId(List<Long> shopIdList){ + public MgtShopTotalMemberVo getUserTotalByShopId(List<Long> shopIdList) { MgtShopTotalMemberVo mgtShopTotalMemberVo = new MgtShopTotalMemberVo(); MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); mgtBasePlatformDto.setShopIdList(shopIdList); @@ -1199,4 +1263,67 @@ mgtShopTotalMemberVo.setAgeValue(ageValue); return mgtShopTotalMemberVo; } + + /** + * @param memberTotalChangeDto + * @return void + * @description 会员统计变动 + * @author jqs + * @date 2023/6/28 14:34 + */ + @Override + public void changeMemberTotal(MemberTotalChangeDto memberTotalChangeDto) { + Member member = this.getByUserId(memberTotalChangeDto.getUserId()); + MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); + //积分变动 + if (memberTotalChangeDto.getChangeIntegral() != null) { + if (memberTotalChangeDto.getTypeIntegral() == 2) { + memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() - memberTotalChangeDto.getChangeIntegral()); + memberTotal.setUsedIntegral(memberTotal.getUsedIntegral() + memberTotalChangeDto.getChangeIntegral()); + } else { + memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getChangeIntegral()); + memberTotal.setTotalIntegral(memberTotal.getTotalIntegral() + memberTotalChangeDto.getChangeIntegral()); + } + } + //消费变动 + if (memberTotalChangeDto.getPayMoney() != null) { + memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney())); + memberTotal.setTotalPayCount(memberTotal.getTotalPayCount() + 1); + memberTotal.setLastPayMoney(memberTotalChangeDto.getPayMoney()); + memberTotal.setLastPayTime(memberTotalChangeDto.getPayTime()); + } + //服务次数变动 + if (memberTotalChangeDto.getServiceCount() != null) { + if (memberTotalChangeDto.getTypeService() == 2) { + memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() - memberTotalChangeDto.getServiceCount()); + memberTotal.setUsedServiceCount(memberTotal.getUsedServiceCount() + memberTotalChangeDto.getServiceCount()); + } else { + memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getServiceCount()); + memberTotal.setTotalServiceCount(memberTotal.getTotalServiceCount() + memberTotalChangeDto.getServiceCount()); + } + } + //跟进时间 + if (memberTotalChangeDto.getNextTaskTime() != null) { + memberTotal.setNextTaskTime(memberTotalChangeDto.getNextTaskTime()); + } + //活动次数变动 + if (memberTotalChangeDto.getActivityTime() != null) { + memberTotal.setTotalActivityCount(memberTotal.getTotalActivityCount() + 1); + memberTotal.setLastActivityTime(memberTotalChangeDto.getActivityTime()); + } + //订单数量变动 + if (memberTotalChangeDto.getCycleOrderChange() != null) { + memberTotal.setTotalCycleOrder(memberTotal.getTotalCycleOrder() + memberTotalChangeDto.getCycleOrderChange()); + } + if (memberTotalChangeDto.getExperienceOrderChange() != null) { + memberTotal.setTotalExperienceOrder(memberTotal.getTotalExperienceOrder() + memberTotalChangeDto.getExperienceOrderChange()); + } + if (memberTotalChangeDto.getServiceOrderChange() != null) { + memberTotal.setTotalServiceOrder(memberTotal.getTotalServiceOrder() + memberTotalChangeDto.getServiceOrderChange()); + } + if (memberTotalChangeDto.getGoodsOrderChange() != null) { + memberTotal.setTotalGoodsOrder(memberTotal.getTotalGoodsOrder() + memberTotalChangeDto.getGoodsOrderChange()); + } + memberTotalService.saveOrUpdate(memberTotal); + } } -- Gitblit v1.7.1