From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:41:42 +0800
Subject: [PATCH] Merge branch 'developer'

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 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 ba4c3ec..ff3c95e 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,10 @@
 package com.matrix.system.shopXcx.api.action;
 
-import com.matrix.component.rabbitmq.RabiitMqTemplate;
-import com.matrix.component.redis.RedisUserLoginUtils;
 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;
@@ -37,10 +36,8 @@
     private SysVipInfoDao sysVipInfoDao;
 
     @Autowired
-    private RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
-    @Autowired
-    private RabiitMqTemplate mqTemplate;
 
     @Value("${evn}")
     private String evn;
@@ -97,16 +94,38 @@
         if (StringUtils.isBlank(bindingPhoneNumber.getPhoneNumber())) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "手机号码不能为空");
         }
-        //验证通过将手机号加入相应的用户数据中
-        SysVipInfo sysVipInfo = new SysVipInfo();
-        SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
-        sysVipInfo.setId(loginUser.getId());
-        if(loginUser.getShopId()==null){
-            sysVipInfo.setShopId(bindingPhoneNumber.getShopId());
+        SysVipInfo loginUser = userCacheManager.getLoginUser();
+
+
+        SysVipInfo oldeUser = sysVipInfoDao.selectByPhone(bindingPhoneNumber.getPhoneNumber(), loginUser.getCompanyId());
+        if(oldeUser!=null){
+            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 = userCacheManager.saveUserInfo(oldeUser);
+            AjaxResult result =   AjaxResult.buildSuccessInstance("绑定成功");
+            result.putInMap("token",token);
+            result.putInMap("userInfo",oldeUser);
+            return result;
+        }else{
+
+            //验证通过将手机号加入相应的用户数据中
+            SysVipInfo sysVipInfo = new SysVipInfo();
+
+            sysVipInfo.setId(loginUser.getId());
+            if(loginUser.getShopId()==null){
+                sysVipInfo.setShopId(bindingPhoneNumber.getShopId());
+            }
+            sysVipInfo.setPhone(bindingPhoneNumber.getPhoneNumber());
+            sysVipInfoDao.update(sysVipInfo);
+            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "绑定成功");
         }
-        sysVipInfo.setPhone(bindingPhoneNumber.getPhoneNumber());
-        sysVipInfoDao.update(sysVipInfo);
-        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "绑定成功");
+
+
     }
 
 
@@ -123,7 +142,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