From 000e2719d57fd6cfc94fb340730ab3722d6c47cb Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sun, 14 Mar 2021 14:33:14 +0800 Subject: [PATCH] 分销员后台0314 --- zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 207 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 191 insertions(+), 16 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 1c9f16e..801eeb3 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,25 +1,42 @@ 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.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; +import com.matrix.core.pojo.AjaxResult; 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.common.interceptor.HostInterceptor; 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.DelSaleManGradeApplyDto; +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.entity.ShopSalesmanApply; +import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; +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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -37,7 +54,10 @@ BusParameterSettingsDao busParameterSettingsDao; @Autowired - ShopSalesmanApplyDao salesmanApplyDao; + ShopSalesmanApplyDao shopSalesmanApplyDao; + + @Autowired + ShopSalesmanGradeDao shopSalesmanGradeDao; @Autowired private BizUserDao bizUserDao; @@ -51,18 +71,19 @@ * @param invitationId * @return */ - public ShopSalesmanApply applyToBeAnSalesman(String openId, String invitationId) { + 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()); - ShopSalesmanApply checkApply = salesmanApplyDao.selectOne(queryWrapper); + ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper); if(checkApply==null|| checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply(); - shopSalesmanApply.setUserId(loginUser.getUserId()); + shopSalesmanApply.setUserId(openId); + shopSalesmanApply.setCreateBy(loginUser.getNickName()); shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); @@ -78,8 +99,19 @@ //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级 shopSalesmanApply.setParentUserId(loginUser.getParentOpenId()); } - - BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, HostInterceptor.getCompanyId()); + 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")){ //自动审核 @@ -89,7 +121,7 @@ }else{ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); } - salesmanApplyDao.insert(shopSalesmanApply); + shopSalesmanApplyDao.insert(shopSalesmanApply); return shopSalesmanApply; }else{ throw new GlobleException("不能重复申请"); @@ -97,10 +129,153 @@ } - public List<ShopSalesmanApplyVo> selectFenXiaoUserApplyByCompanyId(Long companyId) { - //获取当前登录人员信息 - SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - List<ShopSalesmanApplyVo> shopSalesmanApplyVos = salesmanApplyDao.selectFenXiaoUserApplyByCompanyId(companyId); - return shopSalesmanApplyVos; + 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.selectById(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.selectById(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) { + //获取个人信息 + BizUser bizUser = bizUserDao.findByOpenId(userId); + Long companyId = bizUser.getCompanyId(); + return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId); + } + + 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); + } + + 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("当前用户未通过审核,不允许修改"); + } + Long gradeId = changeSaleManGradeDto.getGradeId(); + if(ObjectUtil.isEmpty(gradeId)) { + findByOpenId.setSalesmanGrade(shopSalesmanGrade.getId()); + }else { + findByOpenId.setSalesmanGrade(gradeId); + } + bizUserDao.updateByModel(findByOpenId); + return AjaxResult.buildFailInstance("修改等级成功"); + } + + 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("解绑成功"); + } + + 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("操作成功"); + } + + + + + + + + + + + + + + + } \ No newline at end of file -- Gitblit v1.9.1