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 |   66 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 26 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 6b21617..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,18 +1,15 @@
 package com.matrix.system.shopXcx.api.action;
 
-import com.matrix.component.rabbitmq.RabiitMqTemplate;
-import com.matrix.core.constance.MatrixConstance;
+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.biz.bean.BizUser;
-import com.matrix.biz.dao.BizUserDao;
-import com.matrix.component.tools.AES;
-import com.matrix.component.redis.RedisUserLoginUtils;
+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;
 import com.matrix.system.shopXcx.api.tools.SMSVerifiTools;
 import com.matrix.system.shopXcx.api.vo.DataDecipheringVo;
-import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,9 +19,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author jiangyouyao
@@ -38,13 +33,11 @@
     @Autowired
     private SMSVerifiTools sMSVerifiTools;
     @Autowired
-    private BizUserDao bizUserDao;
+    private SysVipInfoDao sysVipInfoDao;
 
     @Autowired
-    private RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
-    @Autowired
-    private RabiitMqTemplate mqTemplate;
 
     @Value("${evn}")
     private String evn;
@@ -62,9 +55,9 @@
         if (StringUtils.isBlank(phoneNumber)) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "手机号码不能为空");
         }
-        BizUser bizUser = new BizUser();
-        bizUser.setPhoneNumber(phoneNumber);
-        List<BizUser> bizUsers = bizUserDao.selectByModel(bizUser);
+        SysVipInfo sysVipInfo = new SysVipInfo();
+        sysVipInfo.setPhone(phoneNumber);
+        List<SysVipInfo> bizUsers = sysVipInfoDao.selectByModel(sysVipInfo);
         if (CollectionUtils.isNotEmpty(bizUsers) && bizUsers.size() > 0) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "该手机号已被绑定");
         }
@@ -101,17 +94,38 @@
         if (StringUtils.isBlank(bindingPhoneNumber.getPhoneNumber())) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "手机号码不能为空");
         }
-        //验证通过将手机号加入相应的用户数据中
-        BizUser bizUser = new BizUser();
-        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        bizUser.setUserId(loginUser.getUserId());
-        bizUser.setPhoneNumber(bindingPhoneNumber.getPhoneNumber());
-        bizUserDao.updateByModel(bizUser);
+        SysVipInfo loginUser = userCacheManager.getLoginUser();
 
-        //绑定号码后同步到erp
-        mqTemplate.sendMsg(MQTaskRouting.CREATE_VIP + evn, loginUser.getOpenId()+","+bindingPhoneNumber.getShopId());
 
-        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "绑定成功");
+        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, "绑定成功");
+        }
+
+
     }
 
 
@@ -128,7 +142,7 @@
     @RequestMapping(value = "/deciphering")
     public @ResponseBody
     AjaxResult deciphering(@RequestBody DataDecipheringVo dataDecipheringVo) {
-        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.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