From 0cb21bc650d8225d77d3bbb353395d3070f9029b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 14 Mar 2021 20:32:12 +0800
Subject: [PATCH] 分销员后台0315

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java |  274 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 238 insertions(+), 36 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 1caaee3..169a429 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,35 +1,30 @@
 package com.matrix.system.fenxiao.action;
 
-import com.matrix.core.anotations.RemoveRequestToken;
+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.tools.DataAuthUtil;
+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.ShoppingGoods;
-import com.matrix.system.hive.bean.SysShopInfo;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
-
 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.dto.ShopSalesmanApplyDto;
-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;
 import java.util.List;
 
 @RestController
@@ -38,11 +33,131 @@
 	
 	@Autowired
     private ShopSalesmanApplyService shopSalesmanApplyService;
+	@Autowired
+    private ShopSalesmanApplyDao shopSalesmanApplyDao;
+	@Autowired
+	private BizUserDao bizUserDao;
+	@Autowired
+	private ShopSalesmanGradeDao shopSalesmanGradeDao;
+	
+	/**
+     * 分销员详情页面信息
+     */
+    @ApiOperation(value = "分销员详情页面信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanDetailVo.class)
+    })
+    @PostMapping(value = "/findShopSalesmanDetail")
+    public @ResponseBody
+    AjaxResult findShopSalesmanDetail(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) {
+    	//设置用户公司ID
+    	QueryUtil.setQueryLimitCom(shopSalesmanDetailDto);
+    	AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+    	//根据OPENID查询基础信息
+    	String userId = shopSalesmanDetailDto.getUserId();
+    	String applyId = shopSalesmanDetailDto.getApplyId();
+    	SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(userId,Long.parseLong(applyId));
+    	result.putInMap("basicdetail", salesmanBasicDetailVo);
+        //排序
+        if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){
+        	shopSalesmanDetailDto.setSort("create_time");
+        	shopSalesmanDetailDto.setOrder("desc");
+        }
+        //查询绑定客户信息
+        Page<ShopCustomDetailVo> page = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize());
+        IPage<ShopCustomDetailVo> customDetailRows = shopSalesmanApplyService.findCustomDetail(page,shopSalesmanDetailDto);
+        result.putInMap("customDetailRecords", customDetailRows.getRecords());
+        result.putInMap("customDetailTotal", customDetailRows.getTotal());
+        //查询邀请下级信息
+        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());
+        //查询收益订单
+        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 = "查询分佣方案")
+    @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)
@@ -52,32 +167,119 @@
     AjaxResult findShopSalesmanApplyList(@RequestBody ShopSalesmanApplyDto shopSalesmanApplyDto) {
     	//设置用户公司ID
     	QueryUtil.setQueryLimitCom(shopSalesmanApplyDto);
-      
+        //排序
         if(StringUtils.isBlank(shopSalesmanApplyDto.getSort())){
-        	shopSalesmanApplyDto.setSort("createTime");
+        	shopSalesmanApplyDto.setSort("create_time");
         	shopSalesmanApplyDto.setOrder("desc");
         }
-        
-        List<ShopSalesmanApplyVo> rows = shopSalesmanApplyService.findShopSalesmanApplyList(shopSalesmanApplyDto);
-        Integer total = shopSalesmanApplyService.findShopSalesmanApplyListTotal(shopSalesmanApplyDto);
-        AjaxResult result = AjaxResult.buildSuccessInstance(rows, total);
+        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;
     }
+    
 	/**
-     *获取分销员审核记录
+     *获取分销员待审核记录
      */
-    @RequestMapping(value = "/fenXiaoUserApply")
-    public AjaxResult selectFenXiaoUserApply() {
+    @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");
+        }
 
-       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);
+        Page<ShopSalesmanAppliingVo> page = new Page(shopSalesmanAppliingDto.getPageNum(), shopSalesmanAppliingDto.getPageSize());
+        IPage<ShopSalesmanAppliingVo> rows = shopSalesmanApplyService.selectBizUserApplyList(page,shopSalesmanAppliingDto);
 
-       return result;
+        //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) {
+    	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);
+		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);
+        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)) {
+			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