姜友瑶
2022-08-09 41f67399e4e9e7f1df9ae910c1fb2ccb475435c7
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxBindingPhoneNumber.java
@@ -1,10 +1,11 @@
package com.matrix.system.shopXcx.api.action;
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,6 +21,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Objects;
/**
 * @author jiangyouyao
@@ -36,7 +38,7 @@
    private SysVipInfoDao sysVipInfoDao;
    @Autowired
    private RedisUserLoginUtils redisUserLoginUtils;
    private UserCacheManager userCacheManager;
    @Value("${evn}")
@@ -94,19 +96,23 @@
        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("绑定手机号码删除老会员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);
@@ -142,7 +148,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());