| | |
| | | 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; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author jiangyouyao |
| | |
| | | @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; |
| | |
| | | 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, "该手机号已被绑定"); |
| | | } |
| | |
| | | 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, "绑定成功"); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | @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()); |