From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 12 Apr 2021 19:48:45 +0800
Subject: [PATCH] 20210412  tqq环境

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java |  399 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 372 insertions(+), 27 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
index 640f7c0..1bff040 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -1,25 +1,31 @@
 package com.matrix.system.fenxiao.action;
 
-import com.matrix.core.anotations.RemoveRequestToken;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.hive.bean.ShoppingGoods;
-import com.matrix.system.hive.bean.SysShopInfo;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
-
+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.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 com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
-import com.matrix.system.fenxiao.service.FenXiaoSettingService;
-import com.matrix.system.fenxiao.service.ShopSalesmanApplyService;
-import com.matrix.system.fenxiao.vo.FenXiaoSettingVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -31,30 +37,369 @@
 	
 	@Autowired
     private ShopSalesmanApplyService shopSalesmanApplyService;
+	@Autowired
+    private ShopSalesmanApplyDao shopSalesmanApplyDao;
+	@Autowired
+	private SysVipInfoDao sysVipInfoDao;
+	@Autowired
+	private ShopSalesmanGradeDao shopSalesmanGradeDao;
+	@Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
+	
+	/**
+     * 分销员详情页面信息
+     */
+    @ApiOperation(value = "分销员详情页面信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanDetailVo.class)
+    })
+    @PostMapping(value = "/loadParamSettingBasic")
+    public @ResponseBody
+    AjaxResult findShopSalesmanDetail(@RequestBody LoadParamSettingBasicDto loadParamSettingBasicDto) {
+    	//设置用户公司ID
+    	QueryUtil.setQueryLimitCom(loadParamSettingBasicDto);
+    	AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+    	SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(loadParamSettingBasicDto.getUserId(),loadParamSettingBasicDto.getApplyId());
+    	result.putInMap("basicdetail", salesmanBasicDetailVo);
+        return result;
+    }
 
     /**
-     * 修改公司维度的分销规则
+     * 分销员详情页面绑定客户
      */
-//    @PostMapping(value = "/fxImgUpload")
-//    public @ResponseBody
-//    AjaxResult updateFenXiaoSetting(@RequestBody BusParameterSettings busParameterSettings) {
-//        return fenXiaoSettingService.updateFenXiaoSettingByCompanyId(busParameterSettings);
-//    }
-	/**
-     *获取分销员审核记录
+    @ApiOperation(value = "分销员详情页面绑定客户")
+    @PostMapping(value = "/loadParamSetting")
+    public @ResponseBody
+    AjaxResult loadParamSetting(@RequestBody LoadParamSettingDto loadParamSettingDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(loadParamSettingDto);
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+        //排序
+        if(StringUtils.isBlank(loadParamSettingDto.getSort())){
+        	loadParamSettingDto.setSort("create_time");
+        	loadParamSettingDto.setOrder("desc");
+        }
+        //查询绑定客户信息
+        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;
+    }
+
+    /**
+     * 分销员详情页面邀请下级
      */
-    @RequestMapping(value = "/fenXiaoUserApply")
-    public AjaxResult selectFenXiaoUserApply() {
+    @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);
+        result.putInMap("orderRecords", orderRows.getRecords());
+        result.putInMap("orderTotal", orderRows.getTotal());
+        return result;
+    }
+
+    /**
+     *修改等级
+     */
+    @ApiOperation(value = "修改等级")
+    @PostMapping(value = "/changeSaleManGrade")
+    public @ResponseBody
+    AjaxResult changeSaleManGrade(@RequestBody ChangeSaleManGradeDto changeSaleManGradeDto) {
+    	return shopSalesmanApplyService.changeSaleManGrade(changeSaleManGradeDto);
+    }
+    
+    /**
+     *解绑
+     */
+    @ApiOperation(value = "解绑")
+    @PostMapping(value = "/unbundlingSaleMan")
+    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();
        
-       //分销员审核记录
-       List<ShopSalesmanApplyVo> shopSalesmanApplyVos = shopSalesmanApplyService.selectFenXiaoUserApplyByCompanyId(companyId);
-       result.putInMap("fxshjl", shopSalesmanApplyVos);
-
+       //推广文案
+       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;
+    }
+    
+    /**
+     * 分佣方案
+     */
+    @ApiOperation(value = "查询分佣方案")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "OK",  response = FyfaManageVo.class)
+    })
+    @PostMapping(value = "/findFyfaManageList")
+    public @ResponseBody
+    AjaxResult findFyfaManageList(@RequestBody FyfaManageDto fyfaManageDto) {
+    	//设置用户公司ID
+    	QueryUtil.setQueryLimitCom(fyfaManageDto);
+        //排序
+        if(StringUtils.isBlank(fyfaManageDto.getSort())){
+        	fyfaManageDto.setSort("create_time");
+        	fyfaManageDto.setOrder("asc");
+        }
+        Page<FyfaManageVo> page = new Page(fyfaManageDto.getPageNum(), fyfaManageDto.getPageSize());
+        IPage<FyfaManageVo> rows = shopSalesmanApplyService.findFyfaManageList(page,fyfaManageDto);
+        AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+        return result;
+    }
+
+    /**
+     *新增分佣方案
+     */
+    @ApiOperation(value = "新增分佣方案")
+    @RequestMapping(value = "/addFyfa")
+    private @ResponseBody AjaxResult addFyfa(){
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        shopSalesmanApplyService.addFyfa(user);
+        return AjaxResult.buildSuccessInstance("新增成功");
+    }
+    
+    /**
+     *修改分佣方案
+     */
+    @ApiOperation(value = "修改分佣方案")
+    @PostMapping(value = "/updateFyfa")
+    public @ResponseBody
+    AjaxResult updateFyfa(@RequestBody UpdateFyfaDto updateFyfaDto) {
+    	return shopSalesmanApplyService.updateFyfa(updateFyfaDto);
+    }
+    
+    /**
+     *删除分佣方案
+     */
+    @ApiOperation(value = "删除分佣方案")
+    @PostMapping(value = "/delFyfaApply")
+    public @ResponseBody
+    AjaxResult delFyfaApply(@RequestBody DelFyfaApplyDto delFyfaApplyDto) {
+    	return shopSalesmanApplyService.delFyfaApply(delFyfaApplyDto);
+    }
+
+	/**
+     * 查询分销员审核记录
+     */
+    @ApiOperation(value = "查询分销员审核记录")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanApplyVo.class)
+    })
+    @PostMapping(value = "/findShopSalesmanApplyList")
+    public @ResponseBody
+    AjaxResult findShopSalesmanApplyList(@RequestBody ShopSalesmanApplyDto shopSalesmanApplyDto) {
+    	//设置用户公司ID
+    	QueryUtil.setQueryLimitCom(shopSalesmanApplyDto);
+        //排序
+        if(StringUtils.isBlank(shopSalesmanApplyDto.getSort())){
+        	shopSalesmanApplyDto.setSort("create_time");
+        	shopSalesmanApplyDto.setOrder("desc");
+        }
+        Page<ShopSalesmanApplyVo> page = new Page(shopSalesmanApplyDto.getPageNum(), shopSalesmanApplyDto.getPageSize());
+        IPage<ShopSalesmanApplyVo> rows = shopSalesmanApplyService.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
+        AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+
+        return result;
+    }
+    
+	/**
+     *获取分销员待审核记录
+     */
+    @ApiOperation(value = "获取分销员待审核记录")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanAppliingVo.class)
+    })
+    @PostMapping(value = "/findShopSalesmanAppliingList")
+    public @ResponseBody
+    AjaxResult findShopSalesmanAppliingList(@RequestBody ShopSalesmanAppliingDto shopSalesmanAppliingDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(shopSalesmanAppliingDto);
+        //排序
+        if(StringUtils.isBlank(shopSalesmanAppliingDto.getSort())){
+        	shopSalesmanAppliingDto.setSort("create_time");
+        	shopSalesmanAppliingDto.setOrder("desc");
+        }
+
+        Page<ShopSalesmanAppliingVo> page = new Page(shopSalesmanAppliingDto.getPageNum(), shopSalesmanAppliingDto.getPageSize());
+        IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.selectBizUserApplyList(page,shopSalesmanAppliingDto);
+
+        //IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto);
+        AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+        return result;
+    }
+
+    /**
+     *新增分销员
+     */
+    @ApiOperation(value = "新增分销员")
+    @PostMapping(value = "/addSaleManApply")
+    public @ResponseBody
+    AjaxResult addSaleManApply(@RequestBody AddSaleManApplyDto addSaleManApplyDto) {
+
+    	if(addSaleManApplyDto.getGradeId()==null) {
+    		return AjaxResult.buildFailInstance("请选择分销等级");
+    	}
+
+        shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getUserId(), addSaleManApplyDto.getGradeId());
+		return AjaxResult.buildSuccessInstance("设置成功");
+    }
+    
+    /**
+     *删除---设置成不是分销员
+     */
+    @ApiOperation(value = "删除---设置成不是分销员")
+    @PostMapping(value = "/delSaleManGradeApply")
+    public @ResponseBody
+    AjaxResult delSaleManGradeApply(@RequestBody DelSaleManGradeApplyDto delSaleManGradeApplyDto) {
+    	return shopSalesmanApplyService.delSaleManGradeApply(delSaleManGradeApplyDto);
+    }
+    
+    /**
+     *审核分销员
+     */
+    @ApiOperation(value = "审核分销员")
+    @PostMapping(value = "/examineSaleManApply")
+    public @ResponseBody
+    AjaxResult examineSaleManApply(@RequestBody ExamineSaleManApplyDto examineSaleManApplyDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(examineSaleManApplyDto);
+        //待审核状态才允许提交
+        ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectById(examineSaleManApplyDto.getApplyId());
+		if(ObjectUtil.isEmpty(shopSalesmanApply)) {
+			return  AjaxResult.buildFailInstance("当前记录有误");
+		}
+		
+		SysVipInfo sysVipInfo = sysVipInfoDao.selectById(examineSaleManApplyDto.getUserId());
+		if(ObjectUtil.isEmpty(sysVipInfo)) {
+			return  AjaxResult.buildFailInstance("当前记录有误");
+		}
+		
+		Integer applyStatus = shopSalesmanApply.getApplyStatus();
+        if(ObjectUtil.isNotEmpty(applyStatus) && ShopSalesmanApply.APPLY_STATUS_DSH == applyStatus) {
+        	Integer applyState = examineSaleManApplyDto.getApplyState();
+            shopSalesmanApplyService.examineSaleManApply(shopSalesmanApply,applyState);
+            return AjaxResult.buildSuccessInstance("审核成功");
+        }else{
+            return  AjaxResult.buildFailInstance("当前记录不是待审核状态");
+        }
+    }
+
+    /**
+     *获取对应的分销员等级
+     */
+    @RequestMapping(value = "/getShopSalesmanGrade")
+    private @ResponseBody AjaxResult getShopSalesmanGradeVo(){
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+        List<ShopSalesmanGradeVo> dataList = shopSalesmanApplyService.getShopSalesmanGradeVo(user.getCompanyId());
+        result.putInMap("salesGrade", dataList);
+        return result;
+    }
+
 }

--
Gitblit v1.9.1