From 241a49f9653aa83d1dcd9bf646208da3157df35a Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Mon, 05 Apr 2021 22:48:14 +0800 Subject: [PATCH] 合并BizUser表与SysVipInfo表 大部分逻辑已经修正 可能存在问题的 1、拼团秒杀 2、分享图 3、分销结算 --- zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 95 ++++++++++++++++++++++++++--------------------- 1 files changed, 53 insertions(+), 42 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java index e34da97..4ccb773 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java @@ -1,8 +1,7 @@ package com.matrix.system.shopXcx.api.action; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.matrix.biz.bean.BizUser; -import com.matrix.biz.service.BizUserService; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.component.tools.HttpCurlUtil; import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil; @@ -11,14 +10,18 @@ import com.matrix.core.tools.StringUtils; import com.matrix.core.web.BaseAction; import com.matrix.system.common.bean.BusParameterSettings; -import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.common.interceptor.HostInterceptor; +import com.matrix.system.constance.Dictionary; import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant; import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.service.ShopSalesmanApplyService; +import com.matrix.system.hive.bean.SysVipInfo; +import com.matrix.system.hive.dao.SysVipInfoDao; +import com.matrix.system.hive.service.SysVipInfoService; import com.matrix.system.shopXcx.api.WeChatApiTools; +import com.matrix.system.shopXcx.api.dto.XcxUserSaveUserInfoDto; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -26,7 +29,6 @@ import org.springframework.web.bind.annotation.*; import java.util.Collections; -import java.util.Date; /** * @author jyy @@ -38,7 +40,10 @@ public class WxUserAction extends BaseAction { @Autowired - private BizUserService bizUserService; + private SysVipInfoService sysVipInfoService; + + @Autowired + private SysVipInfoDao sysVipInfoDao; @Autowired private ShopSalesmanApplyService shopSalesmanApplyService; @@ -92,32 +97,35 @@ String sessionKey = json.getString("session_key"); LogUtil.debug("openId={},sessionKey={}", openId, sessionKey); // 查询用户是否存在 - BizUser bizUser = null; + SysVipInfo sysVipInfo = null; synchronized (this) { - bizUser = bizUserService.findByOpenId(openId); - if (bizUser == null) { + sysVipInfo = sysVipInfoService.findByOpenId(openId); + if (sysVipInfo == null) { // 新增用户 - bizUser = new BizUser(); - bizUser.setSessionKey(sessionKey); - bizUser.setIsSales(BizUser.NOT_SALES); - bizUser.setOpenId(openId); - bizUser.setLastLoginTime(new Date()); - bizUser.setUserType(AppConstance.USER_TYPE_CUSTOMER); - bizUser.setCompanyId(HostInterceptor.getCompanyId()); - bizUserService.add(bizUser); + sysVipInfo = new SysVipInfo(); + sysVipInfo.setIsSales(SysVipInfo.NOT_SALES); + sysVipInfo.setOpenId(openId); + sysVipInfo.setSessionKey(sessionKey); + sysVipInfo.setCompanyId(HostInterceptor.getCompanyId()); + sysVipInfo.setArrivalWay("微商城"); + sysVipInfo.setVipState(Dictionary.VIP_STATE_HY); + sysVipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD); + sysVipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP); - } else { - bizUser.setSessionKey(sessionKey); - bizUser.setLastLoginTime(new Date()); - // 更新用户sessionKey - bizUserService.modifyByModel(bizUser); + sysVipInfo.setVipNo(openId); + sysVipInfoService.add(sysVipInfo); + + }else{ + sysVipInfo.setSessionKey(sessionKey); + sysVipInfoDao.update(sysVipInfo); } } // 存放redis - String token = redisUserLoginUtils.saveUserInfo(bizUser); + sysVipInfo.setLevelCard(null); + String token = redisUserLoginUtils.saveUserInfo(sysVipInfo); LogUtil.info("用户token={}", token); res.putInMap("token", token); - res.putInMap("userInfo", bizUser); + res.putInMap("userInfo", sysVipInfo); res.setStatus(AjaxResult.STATUS_SUCCESS); } else { res.setStatus(AjaxResult.STATUS_FAIL); @@ -132,11 +140,11 @@ @RequestMapping(value = "/findUserInfo") public @ResponseBody AjaxResult findUserInfo() { - BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); + SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); String openId = loginUser.getOpenId(); - BizUser bizUser = bizUserService.findByOpenId(openId); + SysVipInfo sysVipInfo = sysVipInfoService.findByOpenId(openId); AjaxResult res = new AjaxResult(); - res.putInMap("userInfo", bizUser); + res.putInMap("userInfo", sysVipInfo); res.setStatus(AjaxResult.STATUS_SUCCESS); return res; } @@ -147,10 +155,10 @@ @GetMapping(value = "/findUserInfo/{openId}") public @ResponseBody AjaxResult findUserInfo(@PathVariable String openId) { - BizUser bizUser = bizUserService.findByOpenId(openId); - BizUser bizUserQuery=new BizUser(); - bizUserQuery.setNickName(bizUser.getNickName()); - bizUserQuery.setAvatarUrl(bizUser.getAvatarUrl()); + SysVipInfo sysVipInfo = sysVipInfoService.findByOpenId(openId); + SysVipInfo bizUserQuery=new SysVipInfo(); + bizUserQuery.setNickName(sysVipInfo.getNickName()); + bizUserQuery.setAvatarUrl(sysVipInfo.getAvatarUrl()); bizUserQuery.setOpenId(openId); return AjaxResult.buildSuccessInstance(bizUserQuery); } @@ -159,39 +167,42 @@ /** * 接收用户信息 */ - @RequestMapping(value = "/saveUserInfo") + @PostMapping(value = "/saveUserInfo") public @ResponseBody - AjaxResult saveUserInfo(@RequestBody BizUser bizUser) { + AjaxResult saveUserInfo(@RequestBody XcxUserSaveUserInfoDto xcxUserSaveUserInfoDto) { - BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); - bizUser.setUserId(loginUser.getUserId()); - // TODO 赋值操作 - int i = bizUserService.saveUserInfo(bizUser); + SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); + SysVipInfo sysVipInfo=new SysVipInfo(); + sysVipInfo.setId(loginUser.getId()); + BeanUtil.copyProperties(xcxUserSaveUserInfoDto,sysVipInfo); + sysVipInfo.setPhone(xcxUserSaveUserInfoDto.getPhoneNumber()); - checkNeedToBeSalesman(bizUser, loginUser); + int i = sysVipInfoDao.update(sysVipInfo); + + checkNeedToBeSalesman(sysVipInfo, loginUser); if (i == 0) { return new AjaxResult(AjaxResult.STATUS_FAIL, "更新失败"); } - return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(bizUser)); + return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(sysVipInfo)); } - void checkNeedToBeSalesman(BizUser bizUser, BizUser loginUser) { + void checkNeedToBeSalesman(SysVipInfo sysVipInfo, SysVipInfo loginUser) { //查询是否需要自动成为分销员 if ((loginUser.getIsSales() == null || loginUser.getIsSales() == 2) - && StringUtils.isNotBlank(bizUser.getNickName())) {//目前还不是分销员 + && StringUtils.isNotBlank(sysVipInfo.getNickName())) {//目前还不是分销员 BusParameterSettings fxSwith = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_SWITCH, HostInterceptor.getCompanyId()); if (fxSwith.getParamValue().equals("1")) {//开启分销 BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, loginUser.getCompanyId()); if (applyWay.getParamValue().equals(FenxiaoSettingConstant.FX_APPLY_WAY_AUTO)) {//自动成为分销员 QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("user_id", loginUser.getOpenId()); + queryWrapper.eq("user_id", loginUser.getId()); queryWrapper.eq("apply_status", ShopSalesmanApply.APPLY_STATUS_DSH); ShopSalesmanApply shopSalesmanApply = salesmanApplyDao.selectOne(queryWrapper); if (shopSalesmanApply == null) {//没有待审核记录 try { - shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(), null, null, 2); + shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getId(), null, null, 2); }catch (Exception e){ LogUtil.debug(e.getMessage()); } -- Gitblit v1.9.1