From d6628194b6d867f840d37db2ef9dc057a2084270 Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Fri, 01 Jul 2022 07:36:00 +0800
Subject: [PATCH] fix:修复用户绑定后被删除的情况

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 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..52cd2d5 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;
@@ -20,7 +20,9 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author jiangyouyao
@@ -37,10 +39,8 @@
     private SysVipInfoDao sysVipInfoDao;
 
     @Autowired
-    private RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
-    @Autowired
-    private RabiitMqTemplate mqTemplate;
 
     @Value("${evn}")
     private String evn;
@@ -97,19 +97,21 @@
         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.setAvatarUrl(loginUser.getAvatarUrl());
             sysVipInfoDao.update(oldeUser);
-            sysVipInfoDao.deleteById(loginUser.getId());
-            String token = redisUserLoginUtils.saveUserInfo(oldeUser);
+            LogUtil.info("绑定手机号码删除会员。。"+ JSON.toJSONString(loginUser));
+            sysVipInfoDao.deleteLogicByIds(Arrays.asList(loginUser.getId()));
+            String token = userCacheManager.saveUserInfo(oldeUser);
             AjaxResult result =   AjaxResult.buildSuccessInstance("绑定成功");
             result.putInMap("token",token);
             result.putInMap("userInfo",oldeUser);
@@ -145,7 +147,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