From bea4cd8cceb220189fd1fed5c2c1ff22d3e8a9ed Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 15 Jul 2021 17:16:16 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop

---
 gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java |  184 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 178 insertions(+), 6 deletions(-)

diff --git a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
index e8f9ab2..23bd701 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
@@ -1,11 +1,20 @@
 package com.xzx.gc.user.controller;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.xzx.gc.common.constant.CommonEnum;
 import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.dto.log.OperationAppLog;
 import com.xzx.gc.common.request.BaseController;
+import com.xzx.gc.entity.AccountInfo;
+import com.xzx.gc.entity.RedPaperRule;
+import com.xzx.gc.entity.UserHeadRelate;
 import com.xzx.gc.model.JsonResult;
-import com.xzx.gc.user.dto.ViewSettingDto;
-import com.xzx.gc.user.service.FxSysService;
-import com.xzx.gc.user.vo.ViewSettingVo;
+import com.xzx.gc.user.dto.*;
+import com.xzx.gc.user.mapper.AccountMapper;
+import com.xzx.gc.user.mapper.RedPaperRuleMapper;
+import com.xzx.gc.user.mapper.UserHeadRelateMapper;
+import com.xzx.gc.user.service.DistribService;
+import com.xzx.gc.user.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -15,12 +24,25 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 @RestController
 @Api(tags = {"分銷系統管理"})
 public class AdminDistribController extends BaseController {
 
+    @Resource
+    private DistribService distribService;
+
+    @Resource
+    private RedPaperRuleMapper redPaperRuleMapper;
+
     @Autowired
-    private FxSysService fxSysService;
+    private AccountMapper accountMapper;
+
+    @Autowired
+    private UserHeadRelateMapper userHeadRelateMapper;
 
     /**
      * 查看分銷系統设置详情
@@ -29,10 +51,160 @@
     @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewSettingVo.class)})
     @ApiOperation(value="分銷系統管理-查看分銷系統设置详情", notes="test: 仅0有正确返回")
     public JsonResult<ViewSettingVo> viewSetting(@RequestBody ViewSettingDto viewSettingDto) {
-        Long id = viewSettingDto.getId();
-        ViewSettingVo viewSettingVo = fxSysService.viewSetting(id);
+        ViewSettingVo viewSettingVo = distribService.viewSetting("分销规则");
         return JsonResult.success(viewSettingVo);
     }
 
+    /**
+     * 更新分銷系統设置
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/updateSetting.json")
+    @ApiOperation(value="分銷系統管理--更新分銷系統设置", notes="test: 仅0有正确返回")
+    public JsonResult updateSetting(@RequestBody UpdateSettingDto model, HttpServletRequest request) {
+
+        RedPaperRule redPaperRule = redPaperRuleMapper.selectByRuleName("分销规则");
+        if(ObjectUtil.isEmpty(redPaperRule)){
+            distribService.addSetting(model);
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增分銷系統设置").build();
+            mqUtil.sendApp(build);
+        }else{
+            Integer id = model.getId();
+            if(redPaperRule.getId() != id){
+                return JsonResult.failMessage("规则不存在!");
+            }
+            distribService.updateSetting(model);
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--更新分銷系統设置-" + model.getId()).build();
+            mqUtil.sendApp(build);
+        }
+        return  JsonResult.success("操作成功!");
+    }
+
+    @ApiOperation(value = "符合条件待入选团长列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = DistribListVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribList.json")
+    public JsonResult<Map<String, Object>> distribList(@RequestBody DistribListDto distribListDto) {
+        return JsonResult.success(distribService.distribList(distribListDto));
+    }
+
+    /**
+     * 新增团长
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/adddistrib.json")
+    @ApiOperation(value="分銷系統管理--新增团长", notes="test: 仅0有正确返回")
+    public JsonResult adddistrib(@RequestBody AdddistribDto model, HttpServletRequest request) {
+        String id = model.getId();
+        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(accountInfo)){
+            return JsonResult.failMessage("账户不存在!");
+        }
+        if(ObjectUtil.isEmpty(accountInfo.getIsHead())
+                || accountInfo.getIsHead() == 1){
+            return JsonResult.failMessage("账户不能重复添加!");
+        }
+        if(ObjectUtil.isEmpty(accountInfo.getDelFlag())
+                || accountInfo.getDelFlag() == 1){
+            return JsonResult.failMessage("账户已删除!");
+        }
+        if(ObjectUtil.isEmpty(accountInfo.getIsProhibit())
+                || accountInfo.getIsProhibit() == "1"){
+            return JsonResult.failMessage("账户已冻结!");
+        }
+        //团员不能当团长
+        String userId = accountInfo.getUserId();
+        UserHeadRelate userHeadRelate = userHeadRelateMapper.selectMemberByUserId(userId);
+        if(ObjectUtil.isNotEmpty(userHeadRelate)){
+            return JsonResult.failMessage("账户不能申请成为团长!");
+        }
+        distribService.adddistrib(model);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增团长-"+id).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
+    @ApiOperation(value = "团长列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = DistribInfoListVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribInfoList.json")
+    public JsonResult<Map<String, Object>> distribInfoList(@RequestBody DistribInfoListDto distribInfoListDto) {
+        return JsonResult.success(distribService.distribInfoList(distribInfoListDto));
+    }
+
+    /**
+     * 查看团长信息详情-个人信息
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/viewDistribInfo.json")
+    @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewDistribInfoVo.class)})
+    @ApiOperation(value="团长列表-个人信息详情", notes="test: 仅0有正确返回")
+    public JsonResult<ViewDistribInfoVo> viewDistribInfo(@RequestBody ViewDistribInfoDto viewDistribInfoDto) {
+        String id = viewDistribInfoDto.getId();
+        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(accountInfo)){
+            return JsonResult.failMessage("账户不存在!");
+        }
+        ViewDistribInfoVo viewDistribInfoVo = distribService.viewDistribInfo(id);
+        return JsonResult.success(viewDistribInfoVo);
+    }
+
+    @ApiOperation(value = "团长列表-团队信息")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = UserHeadInfoVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/userHeadInfoList.json")
+    public JsonResult<Map<String, Object>> userHeadInfoList(@RequestBody UserHeadInfoListDto userHeadInfoListDto) {
+        return JsonResult.success(distribService.userHeadInfoList(userHeadInfoListDto));
+    }
+
+    @ApiOperation(value = "团长列表-订单详情")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = OrderItemsVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/orderItemsList.json")
+    public JsonResult<Map<String, Object>> orderItemsList(@RequestBody UserHeadInfoListDto userHeadInfoListDto) {
+        return JsonResult.success(distribService.orderItemsList(userHeadInfoListDto));
+    }
+
+    /**
+     * 启用禁用团长
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/prohibitDistrib.json")
+    @ApiOperation(value="分銷系統管理--启用禁用团长", notes="test: 仅0有正确返回")
+    public JsonResult prohibitDistrib(@RequestBody ProhibitDistribDto model, HttpServletRequest request) {
+        String id = model.getId();
+        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(accountInfo)){
+            return JsonResult.failMessage("账户不存在!");
+        }
+        distribService.prohibitDistrib(model);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--启用禁用团长-"+id).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
+    @ApiOperation(value = "团长数据--头部")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = DistribDataInfoVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataInfo.json")
+    public JsonResult<DistribDataInfoVo> distribDataInfo(@RequestBody DistribDataInfoDto distribDataInfoDto) {
+        return JsonResult.success(distribService.distribDataInfo(distribDataInfoDto));
+    }
+
+    @ApiOperation(value = "团长数据--列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = DistribDataListVo.class)
+    )
+    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataList.json")
+    public JsonResult<Map<String, Object>> distribDataList(@RequestBody DistribDataListDto distribDataListDto) {
+        return JsonResult.success(distribService.distribDataList(distribDataListDto));
+    }
+
+
 
 }

--
Gitblit v1.9.1