From f6e14b78fe0e9e6e1fa6006ef110b04002599dc4 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Fri, 07 Oct 2022 13:58:23 +0800
Subject: [PATCH] 修复任选套餐-无限次数时无默认999的bug

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java
index 84755ba..e7ef97b 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java
@@ -1,11 +1,11 @@
 package com.matrix.system.shopXcx.api.action;
 
-import com.matrix.component.rabbitmq.RabiitMqTemplate;
-import com.matrix.component.redis.RedisUserLoginUtils;
+import com.alibaba.fastjson.JSON;
 import com.matrix.component.tools.AES;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.init.UserCacheManager;
 import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.hive.dao.SysVipInfoDao;
 import com.matrix.system.shopXcx.api.pojo.BindingPhoneNumberPOJO;
@@ -21,6 +21,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author jiangyouyao
@@ -37,10 +38,8 @@
     private SysVipInfoDao sysVipInfoDao;
 
     @Autowired
-    private RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
-    @Autowired
-    private RabiitMqTemplate mqTemplate;
 
     @Value("${evn}")
     private String evn;
@@ -97,19 +96,24 @@
         if (StringUtils.isBlank(bindingPhoneNumber.getPhoneNumber())) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "手机号码不能为空");
         }
-        SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+        SysVipInfo loginUser = userCacheManager.getLoginUser();
 
 
         SysVipInfo oldeUser = sysVipInfoDao.selectByPhone(bindingPhoneNumber.getPhoneNumber(), loginUser.getCompanyId());
-        if(oldeUser!=null){
+        if(oldeUser!=null && !Objects.equals(oldeUser.getId(),loginUser.getId())){
             oldeUser.setIsSales(loginUser.getIsSales());
             oldeUser.setOpenId(loginUser.getOpenId());
             oldeUser.setSessionKey(loginUser.getSessionKey());
-            oldeUser.setPhoto(loginUser.getAvatarUrl());
+            oldeUser.setPhoto(loginUser.getPhoto());
+            oldeUser.setNickName(loginUser.getNickName());
             oldeUser.setAvatarUrl(loginUser.getAvatarUrl());
             sysVipInfoDao.update(oldeUser);
-            sysVipInfoDao.deleteById(loginUser.getId());
-            String token = redisUserLoginUtils.saveUserInfo(oldeUser);
+            LogUtil.info("绑定手机号码删除老会员openId。。"+ JSON.toJSONString(loginUser));
+//            sysVipInfoDao.deleteLogicByIds(Arrays.asList(loginUser.getId()));
+            loginUser.setOpenId("--");
+            loginUser.setPhone("--");
+            sysVipInfoDao.update(loginUser);
+            String token = userCacheManager.saveUserInfo(oldeUser);
             AjaxResult result =   AjaxResult.buildSuccessInstance("绑定成功");
             result.putInMap("token",token);
             result.putInMap("userInfo",oldeUser);
@@ -145,7 +149,7 @@
     @RequestMapping(value = "/deciphering")
     public @ResponseBody
     AjaxResult deciphering(@RequestBody DataDecipheringVo dataDecipheringVo) {
-        SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+        SysVipInfo loginUser = userCacheManager.getLoginUser();
         String session_key = loginUser.getSessionKey();
         LogUtil.debug(dataDecipheringVo.toString());
         String jsonResult = AES.wxDecrypt(dataDecipheringVo.getEncryptedData(), session_key, dataDecipheringVo.getIv());

--
Gitblit v1.9.1