From 53939e0ceb528f45c4906c86ce499ecb864f7af8 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Mon, 15 Mar 2021 14:38:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop --- zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 312 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 297 insertions(+), 15 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..e13c1cc 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,26 +1,52 @@ 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.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; @@ -37,7 +63,10 @@ BusParameterSettingsDao busParameterSettingsDao; @Autowired - ShopSalesmanApplyDao salesmanApplyDao; + ShopSalesmanApplyDao shopSalesmanApplyDao; + + @Autowired + ShopSalesmanGradeDao shopSalesmanGradeDao; @Autowired private BizUserDao bizUserDao; @@ -51,18 +80,20 @@ * @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); + 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(loginUser.getUserId()); + shopSalesmanApply.setUserId(openId); + shopSalesmanApply.setCreateBy(loginUser.getNickName()); shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); @@ -78,8 +109,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 +131,7 @@ }else{ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); } - salesmanApplyDao.insert(shopSalesmanApply); + shopSalesmanApplyDao.insert(shopSalesmanApply); return shopSalesmanApply; }else{ throw new GlobleException("不能重复申请"); @@ -97,10 +139,250 @@ } - 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.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(StrUtil.isEmpty(sealesCommission.toString())) { + return AjaxResult.buildFailInstance("请输入正确的推广提成"); + } + Double invitationCommission = updateFyfaDto.getInvitationCommission(); + if(StrUtil.isEmpty(invitationCommission.toString())) { + return AjaxResult.buildFailInstance("请输入正确的邀请提成"); + } + //设置用户公司ID + QueryUtil.setQueryLimitCom(updateFyfaDto); + selectById.setCompanyId(updateFyfaDto.getCompanyId()); + selectById.setName(updateFyfaDto.getName()); + selectById.setSealesCommission(updateFyfaDto.getSealesCommission()); + selectById.setInvitationCommission(updateFyfaDto.getInvitationCommission()); + 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