From 7c9dda6138ceea88a312583a3fcc9b2bb356fbc4 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期六, 05 八月 2023 09:37:54 +0800 Subject: [PATCH] bug和二维码 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 183 +++++++++++++++++++++++++++++++-------------- 1 files changed, 126 insertions(+), 57 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 e83b6cf..8ab33cf 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 @@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -199,7 +200,26 @@ String errcode = jsonUserPhoneNumber.getString("errcode"); String errmsg = jsonUserPhoneNumber.getString("errmsg"); if (!"0".equals(errcode)) { - throw new ServiceException(errmsg); + //因为生产测试差异,临时更新token + redisService.deleteObject(SecurityConstant.WX_TOKEN); + String responseAccessToken = getAccessTokenByWX(); + JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken); + accessToken = jsonAccessToken.getString("access_token"); + errmsg = jsonAccessToken.getString("errmsg"); + Long expiresIn = jsonAccessToken.getLong("expires_in"); + if (StringUtils.isBlank(accessToken)) { + throw new ServiceException(errmsg); + } else { + expiresIn = expiresIn - 100; + redisService.setCacheObject(SecurityConstant.WX_TOKEN, accessToken, Long.valueOf(expiresIn), TimeUnit.SECONDS); + } + responseUserPhoneNumber = getMobileByWX(accessToken, appUserRegisterDto.getMobileCode()); + jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); + errcode = jsonUserPhoneNumber.getString("errcode"); + errmsg = jsonUserPhoneNumber.getString("errmsg"); + if (!"0".equals(errcode)) { + throw new ServiceException(errmsg); + } } String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo); @@ -235,6 +255,7 @@ member.setMemberNo(memberNo); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); + member.setFrozenFlag(0); member.setNickName("鸿瑞堂用户"); member.setRealName("鸿瑞堂用户"); member.setCustomerSource("小程序"); @@ -339,6 +360,9 @@ case 4: member.setBirthday(editValue); break; + case 5: + member.setRealName(editValue); + break; default: break; } @@ -356,6 +380,7 @@ */ @Override public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto) { + //处理活跃度 List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); if (StringUtils.isNotBlank(merMemberPageDto.getMemberActiveness())) { if(!activenessList.isEmpty()){ @@ -369,6 +394,19 @@ break; } } + } + } + //处理剩余次数 + if(merMemberPageDto.getSurpNum()!=null){ + if(merMemberPageDto.getSurpNum()==1){ + merMemberPageDto.setSurpStartNum(0); + merMemberPageDto.setSurpEndNum(5); + }else if(merMemberPageDto.getSurpNum()==2){ + merMemberPageDto.setSurpStartNum(5); + merMemberPageDto.setSurpEndNum(10); + }else if(merMemberPageDto.getSurpNum()==3){ + merMemberPageDto.setSurpStartNum(10); + merMemberPageDto.setSurpEndNum(999999999); } } List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto); @@ -422,7 +460,7 @@ Member member = this.getByUserId(userId); // 设置MerMemberInfoVo对象的属性值 merMemberInfoVo.setUserId(userId); - merMemberInfoVo.setNickName(member.getNickName()); + merMemberInfoVo.setRealName(member.getRealName()); merMemberInfoVo.setPhonenumber(member.getMobile()); merMemberInfoVo.setAvatar(member.getAvatar()); merMemberInfoVo.setBirthday(member.getBirthday()); @@ -497,7 +535,7 @@ MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo(); Member member = this.getByUserId(userId); BeanUtils.copyProperties(member, merMemberBasicFileVo); - merMemberBasicFileVo.setNickName(member.getNickName()); + merMemberBasicFileVo.setRealName(member.getRealName()); merMemberBasicFileVo.setPhonenumber(member.getMobile()); merMemberBasicFileVo.setCreateTime(member.getCreateTime()); /*List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); @@ -572,7 +610,7 @@ * @param merMemberAddDto */ @Override - public void addMerMember(MerMemberAddDto merMemberAddDto) { + public Long addMerMember(MerMemberAddDto merMemberAddDto) { String phoneNumber = merMemberAddDto.getPhonenumber(); Member oldMember = this.getByMobile(phoneNumber); // Check if the member already exists @@ -587,7 +625,7 @@ sysUser = new SysUser(); sysUser.setUserName(memberId); sysUser.setUserType("03"); - sysUser.setNickName(merMemberAddDto.getNickName()); + sysUser.setNickName(merMemberAddDto.getRealName()); sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "hongruitang"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); @@ -600,8 +638,9 @@ member.setMemberId(memberId); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); - member.setNickName(merMemberAddDto.getNickName()); - member.setRealName(merMemberAddDto.getNickName()); + member.setFrozenFlag(0); + member.setNickName(merMemberAddDto.getRealName()); + member.setRealName(merMemberAddDto.getRealName()); member.setGender(merMemberAddDto.getGender()); member.setMobile(phoneNumber); member.setReferrer(merMemberAddDto.getReferrer()); @@ -615,7 +654,7 @@ // Get shop information and set it to the member Shop shop = remoteShopService.getShop(merMemberAddDto.getShopId()).getData(); member.setRelationShopName(shop.getShopName()); - member.setCustomerSource("商户添加"); + member.setCustomerSource(merMemberAddDto.getCustomerSource()); member.setCreateTime(new Date()); // Save the member and initialize member total this.saveOrUpdate(member); @@ -635,6 +674,7 @@ memberArchiveService.saveBatch(memberArchiveList); } } + return sysUser.getUserId(); } /** @@ -644,49 +684,54 @@ */ @Override public void editMerMember(MerMemberEditDto merMemberEditDto) { - // 获取用户信息 - Member member = this.getByUserId(merMemberEditDto.getEditUserId()); - // 检查手机号是否已经存在 - if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { - Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); - if (memberOld != null) { - throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); + // 获取用户信息 + Member member = this.getByUserId(merMemberEditDto.getEditUserId()); + // 检查手机号是否已经存在 + if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { + Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); + if (memberOld != null) { + throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); + } + } + // 更新用户信息 + member.setRealName(merMemberEditDto.getRealName()); + member.setMobile(merMemberEditDto.getPhonenumber()); + member.setGender(merMemberEditDto.getGender()); + member.setReferrer(merMemberEditDto.getReferrer()); + member.setCustomerSource(merMemberEditDto.getCustomerSource()); + member.setLevel(merMemberEditDto.getLevel()); + member.setBirthday(merMemberEditDto.getBirthday()); + member.setUpdateUserId(merMemberEditDto.getUserId()); + member.setUpdateTime(new Date()); + List<String> memberNurse = merMemberEditDto.getMemberNurse(); + if(memberNurse!=null&&!memberNurse.isEmpty()){ + String memberNurseString = String.join(",", memberNurse); + member.setMemberNurse(memberNurseString); + } + this.saveOrUpdate(member); + // 更新用户手机号 + SysUser sysUser = new SysUser(); + sysUser.setUserId(merMemberEditDto.getEditUserId()); + sysUser.setPhonenumber(merMemberEditDto.getPhonenumber()); + sysUserService.updateUserMobile(sysUser); + // 删除用户的档案信息 + memberArchiveService.deleteByUserId(sysUser.getUserId()); + // 添加用户的档案信息 + List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList(); + if (achiveList != null && !achiveList.isEmpty()) { + // 构造用户档案列表 + List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { + MemberArchive memberArchive = new MemberArchive(); + memberArchive.setDelFlag(0); + memberArchive.setUserId(sysUser.getUserId()); + memberArchive.setFieldId(memberArchiveVo.getFieldId()); + memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); + return memberArchive; + }).collect(Collectors.toList()); + // 批量保存用户档案信息 + memberArchiveService.saveBatch(memberArchiveList); } } - // 更新用户信息 - member.setRealName(merMemberEditDto.getNickName()); - member.setMobile(merMemberEditDto.getPhonenumber()); - member.setGender(merMemberEditDto.getGender()); - member.setReferrer(merMemberEditDto.getReferrer()); - member.setCustomerSource(merMemberEditDto.getCustomerSource()); - member.setLevel(merMemberEditDto.getLevel()); - member.setBirthday(merMemberEditDto.getBirthday()); - member.setUpdateUserId(merMemberEditDto.getUserId()); - member.setUpdateTime(new Date()); - this.saveOrUpdate(member); - // 更新用户手机号 - SysUser sysUser = new SysUser(); - sysUser.setUserId(merMemberEditDto.getEditUserId()); - sysUser.setPhonenumber(merMemberEditDto.getPhonenumber()); - sysUserService.updateUserMobile(sysUser); - // 删除用户的档案信息 - memberArchiveService.deleteByUserId(sysUser.getUserId()); - // 添加用户的档案信息 - List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList(); - if (achiveList != null && !achiveList.isEmpty()) { - // 构造用户档案列表 - List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { - MemberArchive memberArchive = new MemberArchive(); - memberArchive.setDelFlag(0); - memberArchive.setUserId(sysUser.getUserId()); - memberArchive.setFieldId(memberArchiveVo.getFieldId()); - memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); - return memberArchive; - }).collect(Collectors.toList()); - // 批量保存用户档案信息 - memberArchiveService.saveBatch(memberArchiveList); - } -} /** * @param mobile @@ -768,8 +813,8 @@ String memberNo = createMemberNo(); member.setMemberNo(memberNo); member.setDelFlag(0); + member.setFrozenFlag(0); member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); - member.setBindingFlag(0); member.setCreateTime(new Date()); member.setCustomerSource("商户订单添加"); this.saveOrUpdate(member); @@ -854,7 +899,7 @@ } if(merMemberPageDto.getEndAge()!=null){ LocalDate currentDate = LocalDate.now(); - LocalDate startBirthday = currentDate.minusYears(merMemberPageDto.getEndAge()); + LocalDate startBirthday = currentDate.minusYears(merMemberPageDto.getEndAge()+1); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); merMemberPageDto.setStartBirthday(startBirthday.format(formatter)); } @@ -914,6 +959,7 @@ member.setUpdateTime(new Date()); member.setUpdateUserId(mgtMemberRelEditDto.getUserId()); this.saveOrUpdate(member); + memberMapper.updateById(member); } } } @@ -932,9 +978,11 @@ for (String str : memberUserIdArr) { Member member = this.getByUserId(Long.valueOf(str)); member.setBindingFlag(0); + member.setRelationShopId(null); + member.setRelationShopName(null); member.setUpdateTime(new Date()); member.setUpdateUserId(mgtMemberRelDelDto.getUserId()); - this.saveOrUpdate(member); + memberMapper.update(member,null); } } } @@ -1063,7 +1111,9 @@ mgtMemberGetVo.setCreateTime(member.getCreateTime()); mgtMemberGetVo.setLastPayTime(memberTotal.getLastPayTime()); mgtMemberGetVo.setGoodsType(member.getGoodsType()); - mgtMemberGetVo.setRelationShopName(member.getRelationShopName()); + if(member.getBindingFlag()==1){ + mgtMemberGetVo.setRelationShopName(member.getRelationShopName()); + } mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral()); mgtMemberGetVo.setMemberFrom(member.getCustomerSource()); mgtMemberGetVo.setTotalActivityCount(memberTotal.getTotalActivityCount()); @@ -1555,7 +1605,7 @@ menPercent = new BigDecimal("100.00"); womenPercent = new BigDecimal("0.00"); }else{ - menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP); + menPercent = manTotalBig.divide(personTotalBig,0,BigDecimal.ROUND_HALF_UP); womenPercent = bigTen.subtract(menPercent); } memberFixedTotalVo.setManPercent(menPercent); @@ -1714,12 +1764,16 @@ * @description * @author jqs * @date 2023/7/5 21:18 - * @param mgtBaseGetDto + * @param mgtFrozenMemberDto * @return void */ @Override - public void mgtFrozenMember(MgtBaseGetDto mgtBaseGetDto){ - sysUserService.frozenUser(Long.valueOf(mgtBaseGetDto.getId())); + public void mgtFrozenMember(MgtFrozenMemberDto mgtFrozenMemberDto){ + Long userId = mgtFrozenMemberDto.getId(); + Member member = this.getByUserId(userId); + member.setFrozenFlag(mgtFrozenMemberDto.getFrozenFlag()); + this.saveOrUpdate(member); + sysUserService.frozenUser(mgtFrozenMemberDto); } /** @@ -1892,4 +1946,19 @@ public Integer getAreaNewMember(List<Long> shopIdList){ return memberMapper.getAreaNewMember(shopIdList); } + + /** + * @description 更新会员绑定商户名 + * @author jqs + * @date 2023/7/26 17:08 + * @param mgtMemberShopNameDto + * @return void + */ + @Override + public void updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto){ + LambdaUpdateWrapper<Member> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Member::getRelationShopId,mgtMemberShopNameDto.getShopId()); + updateWrapper.set(Member::getRelationShopName,mgtMemberShopNameDto.getShopName()); + this.update(updateWrapper); + } } -- Gitblit v1.7.1