From 122bb1142631e31ce50716495dba420102f58f56 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 31 七月 2023 20:05:05 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   61 +++++++++++++++++++++++++++---
 1 files changed, 54 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 e83b6cf..a39dd9c 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("小程序");
@@ -600,6 +621,7 @@
             member.setMemberId(memberId);
             member.setUserId(sysUser.getUserId());
             member.setDelFlag(0);
+            member.setFrozenFlag(0);
             member.setNickName(merMemberAddDto.getNickName());
             member.setRealName(merMemberAddDto.getNickName());
             member.setGender(merMemberAddDto.getGender());
@@ -615,7 +637,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);
@@ -663,6 +685,11 @@
     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();
@@ -768,8 +795,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);
@@ -914,6 +941,7 @@
                 member.setUpdateTime(new Date());
                 member.setUpdateUserId(mgtMemberRelEditDto.getUserId());
                 this.saveOrUpdate(member);
+                memberMapper.updateById(member);
             }
         }
     }
@@ -1555,7 +1583,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 +1742,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 +1924,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