|  |  |  | 
|---|
|  |  |  | package com.matrix.system.fenxiao.action; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.hutool.core.util.ObjectUtil; | 
|---|
|  |  |  | import cn.hutool.core.util.StrUtil; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.matrix.biz.bean.BizUser; | 
|---|
|  |  |  | import com.matrix.biz.dao.BizUserDao; | 
|---|
|  |  |  | import com.matrix.core.constance.MatrixConstance; | 
|---|
|  |  |  | 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.fenxiao.constant.FenxiaoSettingConstant; | 
|---|
|  |  |  | import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; | 
|---|
|  |  |  | import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; | 
|---|
|  |  |  | 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.service.ShopSalesmanApplyService; | 
|---|
|  |  |  | import com.matrix.system.fenxiao.vo.*; | 
|---|
|  |  |  | import com.matrix.system.hive.action.util.QueryUtil; | 
|---|
|  |  |  | import com.matrix.system.hive.bean.SysVipInfo; | 
|---|
|  |  |  | import com.matrix.system.hive.dao.SysVipInfoDao; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | import io.swagger.annotations.ApiResponse; | 
|---|
|  |  |  | import io.swagger.annotations.ApiResponses; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ShopSalesmanApplyDao shopSalesmanApplyDao; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BizUserDao bizUserDao; | 
|---|
|  |  |  | private SysVipInfoDao sysVipInfoDao; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ShopSalesmanGradeDao shopSalesmanGradeDao; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BusParameterSettingsDao busParameterSettingsDao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分销员详情页面信息 | 
|---|
|  |  |  | 
|---|
|  |  |  | @ApiResponses({ | 
|---|
|  |  |  | @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanDetailVo.class) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | @PostMapping(value = "/findShopSalesmanDetail") | 
|---|
|  |  |  | @PostMapping(value = "/loadParamSettingBasic") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult findShopSalesmanDetail(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) { | 
|---|
|  |  |  | AjaxResult findShopSalesmanDetail(@RequestBody LoadParamSettingBasicDto loadParamSettingBasicDto) { | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(shopSalesmanDetailDto); | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(loadParamSettingBasicDto); | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | //根据OPENID查询基础信息 | 
|---|
|  |  |  | String userId = shopSalesmanDetailDto.getUserId(); | 
|---|
|  |  |  | String applyId = shopSalesmanDetailDto.getApplyId(); | 
|---|
|  |  |  | SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(userId,Long.parseLong(applyId)); | 
|---|
|  |  |  | SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(loadParamSettingBasicDto.getUserId(),loadParamSettingBasicDto.getApplyId()); | 
|---|
|  |  |  | result.putInMap("basicdetail", salesmanBasicDetailVo); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分销员详情页面绑定客户 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "分销员详情页面绑定客户") | 
|---|
|  |  |  | @PostMapping(value = "/loadParamSetting") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult loadParamSetting(@RequestBody LoadParamSettingDto loadParamSettingDto) { | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(loadParamSettingDto); | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | //排序 | 
|---|
|  |  |  | if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){ | 
|---|
|  |  |  | shopSalesmanDetailDto.setSort("create_time"); | 
|---|
|  |  |  | shopSalesmanDetailDto.setOrder("desc"); | 
|---|
|  |  |  | if(StringUtils.isBlank(loadParamSettingDto.getSort())){ | 
|---|
|  |  |  | loadParamSettingDto.setSort("create_time"); | 
|---|
|  |  |  | loadParamSettingDto.setOrder("desc"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询绑定客户信息 | 
|---|
|  |  |  | Page<ShopCustomDetailVo> page = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize()); | 
|---|
|  |  |  | IPage<ShopCustomDetailVo> customDetailRows = shopSalesmanApplyService.findCustomDetail(page,shopSalesmanDetailDto); | 
|---|
|  |  |  | Page<ShopCustomDetailVo> page = new Page(loadParamSettingDto.getPageNum(), loadParamSettingDto.getPageSize()); | 
|---|
|  |  |  | IPage<ShopCustomDetailVo> customDetailRows = shopSalesmanApplyService.findCustomDetail(page,loadParamSettingDto); | 
|---|
|  |  |  | result.putInMap("customDetailRecords", customDetailRows.getRecords()); | 
|---|
|  |  |  | result.putInMap("customDetailTotal", customDetailRows.getTotal()); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分销员详情页面邀请下级 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "分销员详情页面邀请下级") | 
|---|
|  |  |  | @PostMapping(value = "/loadParamSettinglow") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult loadParamSettinglow(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) { | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(shopSalesmanDetailDto); | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | //排序 | 
|---|
|  |  |  | if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){ | 
|---|
|  |  |  | shopSalesmanDetailDto.setSort("create_time"); | 
|---|
|  |  |  | shopSalesmanDetailDto.setOrder("desc"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询邀请下级信息 | 
|---|
|  |  |  | Page<ShopCustomDetailVo> pageLow = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize()); | 
|---|
|  |  |  | IPage<ShopCustomDetailVo> customLowRows = shopSalesmanApplyService.findCustomLow(pageLow,shopSalesmanDetailDto); | 
|---|
|  |  |  | result.putInMap("customLowRecords", customLowRows.getRecords()); | 
|---|
|  |  |  | result.putInMap("customLowTotal", customLowRows.getTotal()); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分销员详情页面收益订单 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "分销员详情页面收益订单") | 
|---|
|  |  |  | @PostMapping(value = "/loadParamSettingOrder") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult loadParamSettingOrder(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) { | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(shopSalesmanDetailDto); | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | //排序 | 
|---|
|  |  |  | if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){ | 
|---|
|  |  |  | shopSalesmanDetailDto.setSort("create_time"); | 
|---|
|  |  |  | shopSalesmanDetailDto.setOrder("desc"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询收益订单 | 
|---|
|  |  |  | Page<ShopOrderDetailVo> pageOrder = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize()); | 
|---|
|  |  |  | IPage<ShopOrderDetailVo> orderRows = shopSalesmanApplyService.findShopOrderDetail(pageOrder,shopSalesmanDetailDto); | 
|---|
|  |  |  | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult unbundlingSaleMan(@RequestBody UnbundlingSaleManDto unbundlingSaleManDto) { | 
|---|
|  |  |  | return shopSalesmanApplyService.unbundlingSaleMan(unbundlingSaleManDto); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *推广图片 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "推广图片") | 
|---|
|  |  |  | @PostMapping(value = "/updateTgtp") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult updateTgtp(@RequestBody UpdateTgtpDto updateTgtpDto) { | 
|---|
|  |  |  | return shopSalesmanApplyService.updateTgtp(updateTgtpDto); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *推广图片 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping(value = "/loadTgtpSetting") | 
|---|
|  |  |  | public AjaxResult loadTgtpSetting() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|---|
|  |  |  | Long companyId = user.getCompanyId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //推广文案 | 
|---|
|  |  |  | String[] FXKGCode={FenxiaoSettingConstant.FX_TG_POSTER}; | 
|---|
|  |  |  | String[] FXKGName={"推广图片"}; | 
|---|
|  |  |  | List<FenXiaoSettingVo> fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId); | 
|---|
|  |  |  | result.putInMap("tgtp", fxkgRuleSettingsVo.get(0)); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *推广计划更新 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation(value = "推广计划更新") | 
|---|
|  |  |  | @PostMapping(value = "/updateTgjh") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult updateTgjh(@RequestBody UpdateTgjhDto updateTgjhDto) { | 
|---|
|  |  |  | return shopSalesmanApplyService.updateTgjh(updateTgjhDto); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *查询推广计划 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping(value = "/loadTgwaSetting") | 
|---|
|  |  |  | public AjaxResult loadTgwaSetting() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); | 
|---|
|  |  |  | SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|---|
|  |  |  | Long companyId = user.getCompanyId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //推广文案 | 
|---|
|  |  |  | String[] FXKGCode={FenxiaoSettingConstant.FX_TG_PLAN}; | 
|---|
|  |  |  | String[] FXKGName={"推广文案"}; | 
|---|
|  |  |  | List<FenXiaoSettingVo> fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId); | 
|---|
|  |  |  | result.putInMap("tgwa", fxkgRuleSettingsVo.get(0)); | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *获取对应的规则设置数据 | 
|---|
|  |  |  | * @param ArrayCode | 
|---|
|  |  |  | * @param ArrayName | 
|---|
|  |  |  | * @param companyId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private List<FenXiaoSettingVo> getRuleSettingsVo(String[] ArrayCode,String[] ArrayName,Long companyId){ | 
|---|
|  |  |  | List<BusParameterSettings> dataList = busParameterSettingsDao.selectByCodesAndCompanyId(Arrays.asList(ArrayCode), companyId); | 
|---|
|  |  |  | List<FenXiaoSettingVo> scoreRuleSettingsVos=new ArrayList<FenXiaoSettingVo>(); | 
|---|
|  |  |  | int index=0; | 
|---|
|  |  |  | for (BusParameterSettings item:dataList){ | 
|---|
|  |  |  | FenXiaoSettingVo paramVo=new FenXiaoSettingVo(); | 
|---|
|  |  |  | BeanUtils.copyProperties(item,paramVo); | 
|---|
|  |  |  | paramVo.setParamName(ArrayName[index]); | 
|---|
|  |  |  | scoreRuleSettingsVos.add(paramVo); | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return scoreRuleSettingsVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | @PostMapping(value = "/addSaleManApply") | 
|---|
|  |  |  | public @ResponseBody | 
|---|
|  |  |  | AjaxResult addSaleManApply(@RequestBody AddSaleManApplyDto addSaleManApplyDto) { | 
|---|
|  |  |  | String gradeId = addSaleManApplyDto.getGradeId(); | 
|---|
|  |  |  | if(StrUtil.isBlankOrUndefined(gradeId)) { | 
|---|
|  |  |  | return AjaxResult.buildSuccessInstance("请选择分销等级"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(Long.parseLong(gradeId)); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(selectById)) { | 
|---|
|  |  |  | return AjaxResult.buildSuccessInstance("请选择分销等级"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(addSaleManApplyDto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getOpenId(),gradeId); | 
|---|
|  |  |  | if(addSaleManApplyDto.getGradeId()==null) { | 
|---|
|  |  |  | return AjaxResult.buildFailInstance("请选择分销等级"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getUserId(), addSaleManApplyDto.getGradeId()); | 
|---|
|  |  |  | return AjaxResult.buildSuccessInstance("设置成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | AjaxResult examineSaleManApply(@RequestBody ExamineSaleManApplyDto examineSaleManApplyDto) { | 
|---|
|  |  |  | //设置用户公司ID | 
|---|
|  |  |  | QueryUtil.setQueryLimitCom(examineSaleManApplyDto); | 
|---|
|  |  |  | String userId = examineSaleManApplyDto.getUserId(); | 
|---|
|  |  |  | //待审核状态才允许提交 | 
|---|
|  |  |  | ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectById(examineSaleManApplyDto.getApplyId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(shopSalesmanApply)) { | 
|---|
|  |  |  | return  AjaxResult.buildFailInstance("当前记录有误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BizUser bizUser = bizUserDao.findByOpenId(userId); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(bizUser)) { | 
|---|
|  |  |  | SysVipInfo sysVipInfo = sysVipInfoDao.selectById(examineSaleManApplyDto.getUserId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(sysVipInfo)) { | 
|---|
|  |  |  | return  AjaxResult.buildFailInstance("当前记录有误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|