From a0cd34acf14a149cc3c08b41ca4dde6938a29ecc Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Wed, 07 Jul 2021 22:31:34 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 230 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 144 insertions(+), 86 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 393ad09..37e9b50 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
@@ -1,6 +1,7 @@
package com.matrix.system.fenxiao.service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,40 +9,24 @@
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;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
-import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
-import com.matrix.system.fenxiao.dto.DelFyfaApplyDto;
-import com.matrix.system.fenxiao.dto.DelSaleManGradeApplyDto;
-import com.matrix.system.fenxiao.dto.FyfaManageDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
-import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto;
-import com.matrix.system.fenxiao.dto.UpdateFyfaDto;
-import com.matrix.system.fenxiao.dto.UpdateTgjhDto;
-import com.matrix.system.fenxiao.dto.UpdateTgtpDto;
+import com.matrix.system.fenxiao.dto.*;
import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
-import com.matrix.system.fenxiao.vo.FyfaManageVo;
-import com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo;
-import com.matrix.system.fenxiao.vo.ShopCustomDetailVo;
-import com.matrix.system.fenxiao.vo.ShopOrderDetailVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo;
+import com.matrix.system.fenxiao.vo.*;
import com.matrix.system.hive.action.util.QueryUtil;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-
+import com.matrix.system.shopXcx.dao.ShopOrderV2Dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -74,6 +59,9 @@
@Autowired
BizUserService bizUserService;
+ @Autowired
+ ShopOrderV2Dao shopOrderV2Dao;
+
/**
* 申请成为推广员
* @param openId
@@ -83,61 +71,119 @@
public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId,int applyWay) {
BizUser loginUser=bizUserDao.findByOpenId(openId);
- //校验审核状态,和是否重复发起
- QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("user_id",loginUser.getOpenId());
- queryWrapper.in("apply_status",Arrays.asList("1,2".split(",")));
- ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper);
- if(checkApply==null||
- checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){
+ //验证申请条件
+ VerificationResult verificationResult = isAbleToBeAnSalesman(openId,loginUser.getCompanyId());
+ if(verificationResult.isJudgeResult()){
+ //校验审核状态,和是否重复发起
+ QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("user_id",loginUser.getOpenId());
+ 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.setCreateBy(loginUser.getNickName());
- shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
+ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply();
+ shopSalesmanApply.setUserId(openId);
- shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
- shopSalesmanApply.setUpdateBy(loginUser.getNickName());
- Date date = new Date();
- shopSalesmanApply.setCreateTime(date);
- shopSalesmanApply.setUpdateTime(date);
+ shopSalesmanApply.setCreateBy(MatrixConstance.SYSTEM_USER);
+ shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
- if(StringUtils.isNotBlank(invitationId)){
- shopSalesmanApply.setParentUserId(invitationId);
- }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){
- //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级
- shopSalesmanApply.setParentUserId(loginUser.getParentOpenId());
- }
- if(StringUtils.isNotBlank(gradeId)){
- shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
+ shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
+ shopSalesmanApply.setUpdateBy(MatrixConstance.SYSTEM_USER);
+ Date date = new Date();
+ shopSalesmanApply.setCreateTime(date);
+ shopSalesmanApply.setUpdateTime(date);
+
+ if(StringUtils.isNotBlank(invitationId)){
+ shopSalesmanApply.setParentUserId(invitationId);
+ }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){
+ //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级
+ shopSalesmanApply.setParentUserId(loginUser.getParentOpenId());
+ }
+ if(StringUtils.isNotBlank(gradeId)){
+ shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
+ }else{
+ //获取初始等级ID(公司id,是否为初始等级)
+ QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
+ queryWrapperOrepool.eq("company_id", loginUser.getCompanyId());
+ queryWrapperOrepool.eq("is_default", 1);
+ ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
+ shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
+ }
+ shopSalesmanApply.setApplyWay(applyWay);
+
+ BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId());
+ if(busParameterSettings!=null
+ &&busParameterSettings.getParamValue().equals("1")){
+ //自动审核
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
+ bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId);
+
+ }else{
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH);
+ }
+ shopSalesmanApplyDao.insert(shopSalesmanApply);
+ return shopSalesmanApply;
}else{
- //获取初始等级ID(公司id,是否为初始等级)
- Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
- ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId());
- ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1);
- ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
- shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
+ throw new GlobleException("不能重复申请");
}
- shopSalesmanApply.setApplyWay(applyWay);
-
- BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId());
- if(busParameterSettings!=null
- &&busParameterSettings.getParamValue().equals("1")){
- //自动审核
- shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
- bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId);
-
- }else{
- shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH);
- }
- shopSalesmanApplyDao.insert(shopSalesmanApply);
- return shopSalesmanApply;
}else{
- throw new GlobleException("不能重复申请");
+ throw new GlobleException(verificationResult.getMsg());
}
-
}
+
+
+ /**
+ * 判断是否满足申请成为分销员的条件
+ */
+ public VerificationResult isAbleToBeAnSalesman(String openId,Long companyId) {
+
+ VerificationResult verificationResult=null;
+
+ //申请模式
+ BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, companyId);
+ if (applyWay.getParamValue().equals(FenxiaoSettingConstant.FX_APPLY_WAY_AUTO)) {
+ 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(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);
+ }
+ }
+ return verificationResult;
+ }
+
public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) {
return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
@@ -195,9 +241,8 @@
return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId,applyId);
}
- public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
- ShopSalesmanDetailDto shopSalesmanDetailDto) {
- return shopSalesmanApplyDao.findCustomDetail(page,shopSalesmanDetailDto);
+ public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,LoadParamSettingDto loadParamSettingDto) {
+ return shopSalesmanApplyDao.findCustomDetail(page,loadParamSettingDto);
}
public IPage<ShopCustomDetailVo> findCustomLow(Page<ShopCustomDetailVo> pageLow,
@@ -249,7 +294,7 @@
bizUserDao.updateByModel(findByOpenId);
shopSalesmanApplyDao.updateById(shopSalesmanApply);
- return AjaxResult.buildFailInstance("修改等级成功");
+ return AjaxResult.buildSuccessInstance("修改等级成功");
}
@Transactional(rollbackFor = Exception.class)
@@ -264,7 +309,7 @@
}
findByOpenId.setParentOpenId("");
bizUserDao.updateByModel(findByOpenId);
- return AjaxResult.buildFailInstance("解绑成功");
+ return AjaxResult.buildSuccessInstance("解绑成功");
}
@Transactional(rollbackFor = Exception.class)
@@ -285,7 +330,7 @@
ShopSalesmanApply selectById = shopSalesmanApplyDao.selectById(applyid);
selectById.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_XTQX);
shopSalesmanApplyDao.updateById(selectById);
- return AjaxResult.buildFailInstance("操作成功");
+ return AjaxResult.buildSuccessInstance("操作成功");
}
public IPage<FyfaManageVo> findFyfaManageList(Page<FyfaManageVo> page, FyfaManageDto fyfaManageDto) {
@@ -314,16 +359,14 @@
return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
}
shopSalesmanGradeDao.deleteById(gradeId);
- return AjaxResult.buildFailInstance("操作成功");
+ return AjaxResult.buildSuccessInstance("操作成功");
}
@Transactional(rollbackFor = Exception.class)
public AjaxResult updateFyfa(UpdateFyfaDto updateFyfaDto) {
-
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(updateFyfaDto);
ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(updateFyfaDto.getId());
- if(ObjectUtil.isEmpty(selectById)) {
- return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
- }
String name = updateFyfaDto.getName();
if(StrUtil.isEmpty(name)) {
return AjaxResult.buildFailInstance("请输入方案名称");
@@ -336,15 +379,30 @@
if(ObjectUtil.isEmpty(invitationCommission)) {
return AjaxResult.buildFailInstance("请输入正确的邀请提成");
}
- //设置用户公司ID
- QueryUtil.setQueryLimitCom(updateFyfaDto);
+ if(ObjectUtil.isEmpty(selectById)) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade();
+ shopSalesmanGrade.setCompanyId(updateFyfaDto.getCompanyId());
+ shopSalesmanGrade.setName(updateFyfaDto.getName());
+ shopSalesmanGrade.setSealesCommission(sealesCommission);
+ shopSalesmanGrade.setInvitationCommission(invitationCommission);
+ shopSalesmanGrade.setGradeCondition(updateFyfaDto.getGradeCondition());
+ shopSalesmanGrade.setIsDefault(2);
+ shopSalesmanGrade.setCreateBy(user.getSuName());
+ shopSalesmanGrade.setUpdateBy(user.getSuName());
+ shopSalesmanGrade.setCreateTime(new Date());
+ shopSalesmanGrade.setUpdateTime(new Date());
+ shopSalesmanGrade.setCompanyId(user.getCompanyId());
+ shopSalesmanGradeDao.insert(shopSalesmanGrade);
+ return AjaxResult.buildSuccessInstance("操作成功");
+ }
selectById.setCompanyId(updateFyfaDto.getCompanyId());
selectById.setName(updateFyfaDto.getName());
selectById.setSealesCommission(sealesCommission);
selectById.setInvitationCommission(invitationCommission);
selectById.setGradeCondition(updateFyfaDto.getGradeCondition());
shopSalesmanGradeDao.updateById(selectById);
- return AjaxResult.buildFailInstance("操作成功");
+ return AjaxResult.buildSuccessInstance("操作成功");
}
@Transactional(rollbackFor = Exception.class)
@@ -356,7 +414,7 @@
BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_PLAN, companyId);
busParameterSettings.setParamValue3(updateTgjhDto.getTgfa());
busParameterSettingsDao.updateByModel(busParameterSettings);
- return AjaxResult.buildFailInstance("保存成功");
+ return AjaxResult.buildSuccessInstance("保存成功");
}
@Transactional(rollbackFor = Exception.class)
@@ -368,7 +426,7 @@
BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, companyId);
busParameterSettings.setParamValue(updateTgtpDto.getImageUrl());
busParameterSettingsDao.updateByModel(busParameterSettings);
- return AjaxResult.buildFailInstance("保存成功");
+ return AjaxResult.buildSuccessInstance("保存成功");
}
--
Gitblit v1.9.1