From 11e9536bf17e452f947faf14bdce99b5f9d31094 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 15 Mar 2021 21:38:07 +0800
Subject: [PATCH] 分销员后台0315
---
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 370 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 369 insertions(+), 1 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 62614de..393ad09 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,9 +1,54 @@
package com.matrix.system.fenxiao.service;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.exception.GlobleException;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.StringUtils;
+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.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.hive.action.util.QueryUtil;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
/**
* @description 推广员申请记录
@@ -14,7 +59,330 @@
public class ShopSalesmanApplyService extends ServiceImpl<ShopSalesmanApplyDao, ShopSalesmanApply>{
+ @Autowired
+ BusParameterSettingsDao busParameterSettingsDao;
+ @Autowired
+ ShopSalesmanApplyDao shopSalesmanApplyDao;
+
+ @Autowired
+ ShopSalesmanGradeDao shopSalesmanGradeDao;
-
+ @Autowired
+ private BizUserDao bizUserDao;
+
+ @Autowired
+ BizUserService bizUserService;
+
+ /**
+ * 申请成为推广员
+ * @param openId
+ * @param invitationId
+ * @return
+ */
+ 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){
+
+ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply();
+ shopSalesmanApply.setUserId(openId);
+
+ shopSalesmanApply.setCreateBy(loginUser.getNickName());
+ shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
+
+ shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
+ shopSalesmanApply.setUpdateBy(loginUser.getNickName());
+ 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,是否为初始等级)
+ 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());
+ }
+ 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("不能重复申请");
+ }
+
+ }
+
+ public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) {
+ return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
+ }
+
+ public IPage<ShopSalesmanAppliingVo> findShopSalesmanAppliingList(Page<ShopSalesmanAppliingVo> page,
+ ShopSalesmanAppliingDto shopSalesmanAppliingDto) {
+ return shopSalesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto);
+ }
+
+ public IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) {
+ return shopSalesmanApplyDao.selectBizUserApplyList(page,shopSalesmanAppliingDto);
+ }
+
+ public List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(Long companyId) {
+ return shopSalesmanGradeDao.getShopSalesmanGradeVo(companyId);
+ }
+
+ @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);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void examineSaleManApply(ShopSalesmanApply shopSalesmanApply, Integer applyState) {
+ String userId = shopSalesmanApply.getUserId();
+ String parentUserId = shopSalesmanApply.getParentUserId();
+ BizUser bizUser = bizUserDao.findByOpenId(userId);
+ //修改审核记录
+ if(ShopSalesmanApply.APPLY_STATUS_TG == applyState) {
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
+ bizUser.setIsSales(BizUser.IS_SALES);
+ }else {
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_WTG);
+ bizUser.setIsSales(BizUser.NOT_SALES);
+ }
+ shopSalesmanApplyDao.updateById(shopSalesmanApply);
+ //修改USER的状态
+ bizUser.setParentOpenId(parentUserId);
+ bizUser.setBindingParentTime(new Date());
+ bizUserDao.updateByModel(bizUser);
+ }
+
+ public IPage<ShopSalesmanApplyVo> findShopSalesmanDetail(Page<ShopSalesmanApplyVo> page,
+ ShopSalesmanDetailDto shopSalesmanDetailDto) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public SalesmanBasicDetailVo selectShopSalesmanDetailByOpenId(String userId, long applyId) {
+ //获取个人信息
+ BizUser bizUser = bizUserDao.findByOpenId(userId);
+ Long companyId = bizUser.getCompanyId();
+ return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId,applyId);
+ }
+
+ public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
+ ShopSalesmanDetailDto shopSalesmanDetailDto) {
+ return shopSalesmanApplyDao.findCustomDetail(page,shopSalesmanDetailDto);
+ }
+
+ public IPage<ShopCustomDetailVo> findCustomLow(Page<ShopCustomDetailVo> pageLow,
+ ShopSalesmanDetailDto shopSalesmanDetailDto) {
+ return shopSalesmanApplyDao.findCustomLow(pageLow,shopSalesmanDetailDto);
+ }
+
+ public IPage<ShopOrderDetailVo> findShopOrderDetail(Page<ShopOrderDetailVo> pageOrder,
+ ShopSalesmanDetailDto shopSalesmanDetailDto) {
+ return shopSalesmanApplyDao.findShopOrderDetail(pageOrder,shopSalesmanDetailDto);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult changeSaleManGrade(ChangeSaleManGradeDto changeSaleManGradeDto) {
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(changeSaleManGradeDto);
+ String userId = changeSaleManGradeDto.getUserId();
+ Long companyId = changeSaleManGradeDto.getCompanyId();
+ //获取对应的公司的等级
+ QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
+ queryWrapperOrepool.eq("is_default", 1);
+ queryWrapperOrepool.eq("company_id", companyId);
+ 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) {
+ return AjaxResult.buildFailInstance("当前用户未通过审核,不允许修改");
+ }
+
+ //修改申请记录的等级
+ QueryWrapper<ShopSalesmanApply> queryShopSalesmanApply = new QueryWrapper<>();
+ queryShopSalesmanApply.eq("apply_status", 2);
+ queryShopSalesmanApply.eq("user_id", userId);
+ queryShopSalesmanApply.eq("company_id", companyId);
+ ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectOne(queryShopSalesmanApply);
+ Long gradeId = changeSaleManGradeDto.getGradeId();
+ if(ObjectUtil.isEmpty(gradeId)) {
+ findByOpenId.setSalesmanGrade(shopSalesmanGrade.getId());
+ shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
+ }else {
+ findByOpenId.setSalesmanGrade(gradeId);
+ shopSalesmanApply.setGradeId(gradeId);
+ }
+ bizUserDao.updateByModel(findByOpenId);
+ shopSalesmanApplyDao.updateById(shopSalesmanApply);
+
+ return AjaxResult.buildFailInstance("修改等级成功");
+ }
+
+ @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);
+ return AjaxResult.buildFailInstance("解绑成功");
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ 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)) {
+ return AjaxResult.buildFailInstance("当前用户已不存在");
+ }
+ findByOpenId.setIsSales(BizUser.NOT_SALES);
+ bizUserDao.updateByModel(findByOpenId);
+ //将记录设置成系统取消
+ ShopSalesmanApply selectById = shopSalesmanApplyDao.selectById(applyid);
+ selectById.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_XTQX);
+ shopSalesmanApplyDao.updateById(selectById);
+ return AjaxResult.buildFailInstance("操作成功");
+ }
+
+ public IPage<FyfaManageVo> findFyfaManageList(Page<FyfaManageVo> page, FyfaManageDto fyfaManageDto) {
+ return shopSalesmanGradeDao.findFyfaManageList(page,fyfaManageDto);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void addFyfa(SysUsers user) {
+ ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade();
+ 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);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult delFyfaApply(DelFyfaApplyDto delFyfaApplyDto) {
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(delFyfaApplyDto);
+ Long gradeId = delFyfaApplyDto.getGradeId();
+ ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(gradeId);
+ if(ObjectUtil.isEmpty(selectById)) {
+ return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
+ }
+ shopSalesmanGradeDao.deleteById(gradeId);
+ return AjaxResult.buildFailInstance("操作成功");
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult updateFyfa(UpdateFyfaDto 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("请输入方案名称");
+ }
+ Double sealesCommission = updateFyfaDto.getSealesCommission();
+ if(ObjectUtil.isEmpty(sealesCommission)) {
+ return AjaxResult.buildFailInstance("请输入正确的推广提成");
+ }
+ Double invitationCommission = updateFyfaDto.getInvitationCommission();
+ if(ObjectUtil.isEmpty(invitationCommission)) {
+ return AjaxResult.buildFailInstance("请输入正确的邀请提成");
+ }
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(updateFyfaDto);
+ selectById.setCompanyId(updateFyfaDto.getCompanyId());
+ selectById.setName(updateFyfaDto.getName());
+ selectById.setSealesCommission(sealesCommission);
+ selectById.setInvitationCommission(invitationCommission);
+ selectById.setGradeCondition(updateFyfaDto.getGradeCondition());
+ shopSalesmanGradeDao.updateById(selectById);
+ return AjaxResult.buildFailInstance("操作成功");
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult updateTgjh(UpdateTgjhDto updateTgjhDto) {
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(updateTgjhDto);
+ //获取推广计划的Param
+ Long companyId = updateTgjhDto.getCompanyId();
+ BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_PLAN, companyId);
+ busParameterSettings.setParamValue3(updateTgjhDto.getTgfa());
+ busParameterSettingsDao.updateByModel(busParameterSettings);
+ return AjaxResult.buildFailInstance("保存成功");
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult updateTgtp(UpdateTgtpDto updateTgtpDto) {
+ //设置用户公司ID
+ QueryUtil.setQueryLimitCom(updateTgtpDto);
+ //获取推广计划的Param
+ Long companyId = updateTgtpDto.getCompanyId();
+ BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, companyId);
+ busParameterSettings.setParamValue(updateTgtpDto.getImageUrl());
+ busParameterSettingsDao.updateByModel(busParameterSettings);
+ return AjaxResult.buildFailInstance("保存成功");
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
\ No newline at end of file
--
Gitblit v1.9.1