| | |
| | | package com.matrix.system.fenxiao.service; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | 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.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; |
| | | |
| | |
| | | BusParameterSettingsDao busParameterSettingsDao; |
| | | |
| | | @Autowired |
| | | ShopSalesmanApplyDao salesmanApplyDao; |
| | | ShopSalesmanApplyDao shopSalesmanApplyDao; |
| | | |
| | | @Autowired |
| | | ShopSalesmanGradeDao shopSalesmanGradeDao; |
| | |
| | | * @param invitationId |
| | | * @return |
| | | */ |
| | | public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,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){ |
| | | |
| | |
| | | ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); |
| | | shopSalesmanApply.setGradeId(shopSalesmanGrade.getId()); |
| | | } |
| | | |
| | | BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, HostInterceptor.getCompanyId()); |
| | | shopSalesmanApply.setApplyWay(applyWay); |
| | | |
| | | BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId()); |
| | | if(busParameterSettings!=null |
| | | &&busParameterSettings.getParamValue().equals("1")){ |
| | | //自动审核 |
| | |
| | | }else{ |
| | | shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); |
| | | } |
| | | salesmanApplyDao.insert(shopSalesmanApply); |
| | | shopSalesmanApplyDao.insert(shopSalesmanApply); |
| | | return shopSalesmanApply; |
| | | }else{ |
| | | throw new GlobleException("不能重复申请"); |
| | |
| | | } |
| | | |
| | | public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) { |
| | | return salesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto); |
| | | return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto); |
| | | } |
| | | |
| | | public IPage<ShopSalesmanAppliingVo> findShopSalesmanAppliingList(Page<ShopSalesmanAppliingVo> page, |
| | | ShopSalesmanAppliingDto shopSalesmanAppliingDto) { |
| | | return salesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); |
| | | return shopSalesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); |
| | | } |
| | | |
| | | public IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) { |
| | | return salesmanApplyDao.selectBizUserApplyList(page,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); |
| | | } |
| | | |
| | | public void addSaleManApply(String userId,long gradeId) { |
| | | BizUser user = bizUserDao.selectById(userId); |
| | | @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) { |
| | | |
| | | applyToBeAnSalesman(user.getOpenId(),gradeId+"", ""); |
| | | 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("保存成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | |