From 9c791d431038fe79a111805762ee2f42c96b51c5 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 08 Nov 2021 17:03:15 +0800 Subject: [PATCH] fix --- zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 208 ++++++++++++++++++++++++++------------------------- 1 files changed, 106 insertions(+), 102 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java index 3acf923..617db32 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java @@ -6,14 +6,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.matrix.biz.bean.BizUser; -import com.matrix.biz.dao.BizUserDao; -import com.matrix.biz.service.BizUserService; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.VerificationResult; -import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysUsers; @@ -26,6 +22,9 @@ import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; import com.matrix.system.fenxiao.vo.*; import com.matrix.system.hive.action.util.QueryUtil; +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.dao.ShopOrderV2Dao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -54,36 +53,36 @@ ShopSalesmanGradeDao shopSalesmanGradeDao; @Autowired - private BizUserDao bizUserDao; + SysVipInfoDao sysVipInfoDao; @Autowired - BizUserService bizUserService; + SysVipInfoService sysVipInfoService; @Autowired ShopOrderV2Dao shopOrderV2Dao; /** * 申请成为推广员 - * @param openId + * @param userId * @param invitationId * @return */ - public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId,int applyWay) { + public ShopSalesmanApply applyToBeAnSalesman(Long userId,Long gradeId,Long invitationId,int applyWay) { - BizUser loginUser=bizUserDao.findByOpenId(openId); + SysVipInfo loginUser=sysVipInfoDao.selectById(userId); //验证申请条件 - VerificationResult verificationResult = isAbleToBeAnSalesman(openId,loginUser.getCompanyId()); + VerificationResult verificationResult = isAbleToBeAnSalesman(userId,loginUser.getCompanyId()); if(verificationResult.isJudgeResult()){ //校验审核状态,和是否重复发起 QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("user_id",loginUser.getOpenId()); + queryWrapper.eq("user_id",loginUser.getId()); queryWrapper.in("apply_status",Arrays.asList("1,2".split(","))); ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper); if(checkApply==null|| checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply(); - shopSalesmanApply.setUserId(openId); + shopSalesmanApply.setUserId(userId); shopSalesmanApply.setCreateBy(MatrixConstance.SYSTEM_USER); shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); @@ -94,14 +93,14 @@ shopSalesmanApply.setCreateTime(date); shopSalesmanApply.setUpdateTime(date); - if(StringUtils.isNotBlank(invitationId)){ + if(invitationId!=null){ shopSalesmanApply.setParentUserId(invitationId); - }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){ + }else if(loginUser.getRecommendId()!=null){ //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级 - shopSalesmanApply.setParentUserId(loginUser.getParentOpenId()); + shopSalesmanApply.setParentUserId(loginUser.getRecommendId()); } - if(StringUtils.isNotBlank(gradeId)){ - shopSalesmanApply.setGradeId(Long.parseLong(gradeId)); + if(gradeId!=null){ + shopSalesmanApply.setGradeId(gradeId); }else{ //获取初始等级ID(公司id,是否为初始等级) QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); @@ -116,8 +115,13 @@ if(busParameterSettings!=null &&busParameterSettings.getParamValue().equals("1")){ //自动审核 + //初始等级ID(公司id,是否为初始等级) + QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); + queryWrapperOrepool.eq("company_id", loginUser.getCompanyId()); + queryWrapperOrepool.eq("is_default", 1); + ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG); - bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId); + sysVipInfoService.setToBeAnSalesman(loginUser.getId(),invitationId,shopSalesmanGrade.getId()); }else{ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); @@ -136,44 +140,50 @@ /** * 判断是否满足申请成为分销员的条件 */ - public VerificationResult isAbleToBeAnSalesman(String openId,Long companyId) { + public VerificationResult isAbleToBeAnSalesman(Long userId,Long companyId) { VerificationResult verificationResult=null; - //申请条件 - BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId); - switch (applyCondition.getParamValue()){ - case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ: - verificationResult= VerificationResult.buildVerificationResult(true); - break; - case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP: - int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(openId,applyCondition.getParamValue1()); - if(buyZdcpCount>0){ - verificationResult= VerificationResult.buildVerificationResult(true); - }else{ - verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!"); - } - break; - case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP: - //判断用户是否有确认收货的产品 - int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(openId); - if(receivedOrderCount>0){ - verificationResult= VerificationResult.buildVerificationResult(true); - }else{ - verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!"); - } - break; - case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE: - Double zdje=Double.parseDouble(applyCondition.getParamValue2()); - Double yxfje=shopOrderV2Dao.countOrderAmount(openId); - if(zdje<yxfje){ - verificationResult=VerificationResult.buildVerificationResult(true); - }else{ - verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!"); - } - break; - default: - verificationResult= VerificationResult.buildVerificationResult(true); + //申请模式 + BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, companyId); + if (FenxiaoSettingConstant.FX_APPLY_WAY_AUTO.equals(applyWay.getParamValue())) { + verificationResult= VerificationResult.buildVerificationResult(true); + }else{ + //申请条件 + BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId); + switch (applyCondition.getParamValue()){ + case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ: + verificationResult= VerificationResult.buildVerificationResult(true); + break; + case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP: + int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(userId,applyCondition.getParamValue1()); + if(buyZdcpCount>0){ + verificationResult= VerificationResult.buildVerificationResult(true); + }else{ + verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!"); + } + break; + case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP: + //判断用户是否有确认收货的产品 + int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(userId); + if(receivedOrderCount>0){ + verificationResult= VerificationResult.buildVerificationResult(true); + }else{ + verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!"); + } + break; + case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE: + Double zdje=Double.parseDouble(applyCondition.getParamValue2()); + Double yxfje=shopOrderV2Dao.countOrderAmount(userId); + if(zdje<yxfje){ + verificationResult=VerificationResult.buildVerificationResult(true); + }else{ + verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!"); + } + break; + default: + verificationResult= VerificationResult.buildVerificationResult(true); + } } return verificationResult; } @@ -197,29 +207,30 @@ } @Transactional(rollbackFor = Exception.class) - public void addSaleManApply(String userId,String gradeId) { - BizUser user = bizUserDao.findByOpenId(userId); - applyToBeAnSalesman(user.getOpenId(),gradeId, "",ShopSalesmanApply.APPLY_WAY_HAND_ADD); + public void addSaleManApply(Long userId,Long gradeId) { + SysVipInfo user = sysVipInfoDao.selectById(userId); + applyToBeAnSalesman(user.getId(),gradeId, null,ShopSalesmanApply.APPLY_WAY_HAND_ADD); } @Transactional(rollbackFor = Exception.class) public void examineSaleManApply(ShopSalesmanApply shopSalesmanApply, Integer applyState) { - String userId = shopSalesmanApply.getUserId(); - String parentUserId = shopSalesmanApply.getParentUserId(); - BizUser bizUser = bizUserDao.findByOpenId(userId); + Long userId = shopSalesmanApply.getUserId(); + Long parentUserId = shopSalesmanApply.getParentUserId(); + SysVipInfo sysVipInfo = sysVipInfoDao.selectById(userId); //修改审核记录 if(ShopSalesmanApply.APPLY_STATUS_TG == applyState) { shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG); - bizUser.setIsSales(BizUser.IS_SALES); + sysVipInfo.setIsSales(SysVipInfo.IS_SALES); }else { shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_WTG); - bizUser.setIsSales(BizUser.NOT_SALES); + sysVipInfo.setIsSales(SysVipInfo.NOT_SALES); } shopSalesmanApplyDao.updateById(shopSalesmanApply); //修改USER的状态 - bizUser.setParentOpenId(parentUserId); - bizUser.setBindingParentTime(new Date()); - bizUserDao.updateByModel(bizUser); + sysVipInfo.setRecommendId(parentUserId); + sysVipInfo.setBindingParentTime(new Date()); + sysVipInfo.setSalesmanGrade(shopSalesmanApply.getGradeId()); + sysVipInfoDao.update(sysVipInfo); } public IPage<ShopSalesmanApplyVo> findShopSalesmanDetail(Page<ShopSalesmanApplyVo> page, @@ -228,11 +239,11 @@ return null; } - public SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(String userId, long applyId) { + public SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(Long userId, long applyId) { //获取个人信息 - BizUser bizUser = bizUserDao.findByOpenId(userId); - Long companyId = bizUser.getCompanyId(); - return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId,applyId); + SysVipInfo sysVipInfo = sysVipInfoDao.selectById(userId); + Long companyId = sysVipInfo.getCompanyId(); + return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(sysVipInfo.getId(),companyId,applyId); } public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,LoadParamSettingDto loadParamSettingDto) { @@ -251,41 +262,36 @@ @Transactional(rollbackFor = Exception.class) public AjaxResult changeSaleManGrade(ChangeSaleManGradeDto changeSaleManGradeDto) { - //设置用户公司ID - QueryUtil.setQueryLimitCom(changeSaleManGradeDto); - String userId = changeSaleManGradeDto.getUserId(); - Long companyId = changeSaleManGradeDto.getCompanyId(); + + SysVipInfo vipInfo = sysVipInfoDao.selectById(changeSaleManGradeDto.getUserId()); + //获取对应的公司的等级 QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); queryWrapperOrepool.eq("is_default", 1); - queryWrapperOrepool.eq("company_id", companyId); + queryWrapperOrepool.eq("company_id", vipInfo.getCompanyId()); ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); - //修改Biz_User的salesman_grade - BizUser findByOpenId = bizUserDao.findByOpenId(userId); - if(ObjectUtil.isEmpty(findByOpenId)) { - return AjaxResult.buildFailInstance("当前用户已不存在"); - } + //不是分销员不允许修改 - Integer isSales = findByOpenId.getIsSales(); - if(BizUser.IS_SALES != isSales) { + Integer isSales = vipInfo.getIsSales(); + if(SysVipInfo.IS_SALES != isSales) { return AjaxResult.buildFailInstance("当前用户未通过审核,不允许修改"); } //修改申请记录的等级 QueryWrapper<ShopSalesmanApply> queryShopSalesmanApply = new QueryWrapper<>(); queryShopSalesmanApply.eq("apply_status", 2); - queryShopSalesmanApply.eq("user_id", userId); - queryShopSalesmanApply.eq("company_id", companyId); + queryShopSalesmanApply.eq("user_id", vipInfo.getId()); + queryShopSalesmanApply.eq("company_id", vipInfo.getCompanyId()); ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectOne(queryShopSalesmanApply); Long gradeId = changeSaleManGradeDto.getGradeId(); if(ObjectUtil.isEmpty(gradeId)) { - findByOpenId.setSalesmanGrade(shopSalesmanGrade.getId()); + vipInfo.setSalesmanGrade(shopSalesmanGrade.getId()); shopSalesmanApply.setGradeId(shopSalesmanGrade.getId()); }else { - findByOpenId.setSalesmanGrade(gradeId); + vipInfo.setSalesmanGrade(gradeId); shopSalesmanApply.setGradeId(gradeId); } - bizUserDao.updateByModel(findByOpenId); + sysVipInfoDao.update(vipInfo); shopSalesmanApplyDao.updateById(shopSalesmanApply); return AjaxResult.buildSuccessInstance("修改等级成功"); @@ -293,16 +299,9 @@ @Transactional(rollbackFor = Exception.class) public AjaxResult unbundlingSaleMan(UnbundlingSaleManDto unbundlingSaleManDto) { - //设置用户公司ID - QueryUtil.setQueryLimitCom(unbundlingSaleManDto); - String userId = unbundlingSaleManDto.getUserId(); - //将Biz_User的parent_open_id置空 - BizUser findByOpenId = bizUserDao.findByOpenId(userId); - if(ObjectUtil.isEmpty(findByOpenId)) { - return AjaxResult.buildFailInstance("当前用户已不存在"); - } - findByOpenId.setParentOpenId(""); - bizUserDao.updateByModel(findByOpenId); + + Long userId = unbundlingSaleManDto.getUserId(); + sysVipInfoDao.unbundlingSaleMan(userId); return AjaxResult.buildSuccessInstance("解绑成功"); } @@ -310,18 +309,17 @@ public AjaxResult delSaleManGradeApply(DelSaleManGradeApplyDto delSaleManGradeApplyDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(delSaleManGradeApplyDto); - String userId = delSaleManGradeApplyDto.getUserId(); - Long applyid = delSaleManGradeApplyDto.getApplyId(); + //将biz_user的is_sale设置成否 - BizUser findByOpenId = bizUserDao.findByOpenId(userId); - if(ObjectUtil.isEmpty(findByOpenId)) { + SysVipInfo vipInfo = sysVipInfoDao.selectById(delSaleManGradeApplyDto.getUserId()); + if(ObjectUtil.isEmpty(vipInfo)) { return AjaxResult.buildFailInstance("当前用户已不存在"); } - findByOpenId.setIsSales(BizUser.NOT_SALES); - bizUserDao.updateByModel(findByOpenId); + vipInfo.setIsSales(SysVipInfo.NOT_SALES); + sysVipInfoDao.update(vipInfo); //将记录设置成系统取消 - ShopSalesmanApply selectById = shopSalesmanApplyDao.selectById(applyid); + ShopSalesmanApply selectById = shopSalesmanApplyDao.selectById(delSaleManGradeApplyDto.getApplyId()); selectById.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_XTQX); shopSalesmanApplyDao.updateById(selectById); return AjaxResult.buildSuccessInstance("操作成功"); @@ -365,6 +363,10 @@ if(StrUtil.isEmpty(name)) { return AjaxResult.buildFailInstance("请输入方案名称"); } + Double selfCommission = updateFyfaDto.getSelfCommission(); + if(ObjectUtil.isEmpty(selfCommission)) { + return AjaxResult.buildFailInstance("请输入正确的自购返佣"); + } Double sealesCommission = updateFyfaDto.getSealesCommission(); if(ObjectUtil.isEmpty(sealesCommission)) { return AjaxResult.buildFailInstance("请输入正确的推广提成"); @@ -378,6 +380,7 @@ ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade(); shopSalesmanGrade.setCompanyId(updateFyfaDto.getCompanyId()); shopSalesmanGrade.setName(updateFyfaDto.getName()); + shopSalesmanGrade.setSelfCommission(selfCommission); shopSalesmanGrade.setSealesCommission(sealesCommission); shopSalesmanGrade.setInvitationCommission(invitationCommission); shopSalesmanGrade.setGradeCondition(updateFyfaDto.getGradeCondition()); @@ -392,6 +395,7 @@ } selectById.setCompanyId(updateFyfaDto.getCompanyId()); selectById.setName(updateFyfaDto.getName()); + selectById.setSelfCommission(selfCommission); selectById.setSealesCommission(sealesCommission); selectById.setInvitationCommission(invitationCommission); selectById.setGradeCondition(updateFyfaDto.getGradeCondition()); -- Gitblit v1.9.1