From f3f0b58b316e7821bf418882a38b7356a915ce2b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 14 Jul 2021 16:14:36 +0800
Subject: [PATCH] 202107014

---
 gc-user/src/main/java/com/xzx/gc/user/dto/AdddistribDto.java                 |    9 +++
 gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java            |   42 ++++++++++++++
 gc-user/src/main/resources/mapper/user/AccountMapper.xml                     |   20 ++++++
 gc-user/src/main/java/com/xzx/gc/user/dto/DistribListDto.java                |   23 +++++++
 gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java                  |   25 ++++++++
 gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java              |    4 +
 gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java |   55 ++++++++++++++++--
 7 files changed, 171 insertions(+), 7 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 fa68dcb..3f047aa 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,20 +1,18 @@
 package com.xzx.gc.user.controller;
 
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.xzx.gc.common.Result;
 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.JhyInfo;
+import com.xzx.gc.entity.AccountInfo;
 import com.xzx.gc.entity.RedPaperRule;
 import com.xzx.gc.model.JsonResult;
-import com.xzx.gc.user.dto.ExamineJwyDto;
-import com.xzx.gc.user.dto.UpdateSettingDto;
-import com.xzx.gc.user.dto.ViewSettingDto;
+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.service.DistribService;
+import com.xzx.gc.user.vo.DistribListVo;
 import com.xzx.gc.user.vo.ViewSettingVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,6 +25,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 @RestController
 @Api(tags = {"分銷系統管理"})
@@ -37,6 +36,9 @@
 
     @Resource
     private RedPaperRuleMapper redPaperRuleMapper;
+
+    @Autowired
+    private AccountMapper accountMapper;
 
     /**
      * 查看分銷系統设置详情
@@ -52,7 +54,7 @@
     /**
      * 更新分銷系統设置
      */
-    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/jhy/updateSetting.json")
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/updateSetting.json")
     @ApiOperation(value="分銷系統管理--更新分銷系統设置", notes="test: 仅0有正确返回")
     public JsonResult updateSetting(@RequestBody UpdateSettingDto model, HttpServletRequest request) {
 
@@ -75,6 +77,45 @@
         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("账户已冻结!");
+        }
+        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("操作成功!");
+    }
+
 
 
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/AdddistribDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/AdddistribDto.java
new file mode 100644
index 0000000..a735eb2
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/AdddistribDto.java
@@ -0,0 +1,9 @@
+package com.xzx.gc.user.dto;
+
+import lombok.Data;
+
+@Data
+public class AdddistribDto {
+
+    private String Id;
+}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/DistribListDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribListDto.java
new file mode 100644
index 0000000..25dc84b
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribListDto.java
@@ -0,0 +1,23 @@
+package com.xzx.gc.user.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "DistribListDto", description = "团长列表接收参数类")
+public class DistribListDto {
+
+    @ApiModelProperty(value = "第几页", required = true)
+    private int page;
+
+    @ApiModelProperty(value = "每一页数量", required = true)
+    private int limit;
+
+    @ApiModelProperty(value = "查询字段")
+    private String queryCol;
+
+    private String name;
+    private String Phone;
+
+}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
index 452b81f..4fc4dd8 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
@@ -10,6 +10,8 @@
 import com.xzx.gc.model.user.AccountVo;
 import com.xzx.gc.model.user.UserInfoVo;
 import com.xzx.gc.model.user.UserReq;
+import com.xzx.gc.user.dto.DistribListDto;
+import com.xzx.gc.user.vo.DistribListVo;
 import com.xzx.gc.util.GcMapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -50,5 +52,7 @@
     void insertScoreDetailsRet(ScoreDetails scoreDetailsRet);
 
     AccountInfo selectOneByUserId(@Param("userId")String userId);
+
+    List<DistribListVo> selectDsitribListByQueryCol(@Param("record")DistribListDto distribListDto);
 }
 
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
index 9eca3ab..42cad59 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -1,16 +1,24 @@
 package com.xzx.gc.user.service;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.xzx.gc.common.exception.RestException;
+import com.xzx.gc.common.utils.StringUtils;
 import com.xzx.gc.entity.AccountInfo;
 import com.xzx.gc.entity.SysMessage;
 import com.xzx.gc.entity.UserHeadRelate;
 import com.xzx.gc.entity.UserShareInfo;
+import com.xzx.gc.user.dto.AdddistribDto;
+import com.xzx.gc.user.dto.DistribListDto;
 import com.xzx.gc.user.mapper.AccountMapper;
 import com.xzx.gc.user.mapper.SysMessageMapper;
 import com.xzx.gc.user.mapper.UserHeadRelateMapper;
 import com.xzx.gc.user.mapper.UserShareInfoMapper;
+import com.xzx.gc.user.vo.DistribListVo;
 import com.xzx.gc.user.vo.HeadInfoVo;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -18,6 +26,7 @@
 import com.xzx.gc.model.JsonResult;
 import com.xzx.gc.user.dto.UpdateSettingDto;
 import com.xzx.gc.user.mapper.RedPaperRuleMapper;
+import com.xzx.gc.user.vo.JhyInfoListVo;
 import com.xzx.gc.user.vo.ViewSettingVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,10 +34,12 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.Map;
 
 @Service
 @Transactional
@@ -180,4 +191,35 @@
             redPaperRuleMapper.updateByPrimaryKey(redPaperRule);
         }
     }
+
+    public Map<String, Object> distribList(DistribListDto distribListDto) {
+        PageHelper.startPage(distribListDto.getPage(), distribListDto.getLimit());
+        if(StrUtil.isNotEmpty(distribListDto.getQueryCol())){
+            String decode = StringUtils.encode(distribListDto.getQueryCol());
+            distribListDto.setName(decode);
+            distribListDto.setPhone(distribListDto.getQueryCol());
+        }
+        List<DistribListVo> distribListVos = accountMapper.selectDsitribListByQueryCol(distribListDto);
+        if(CollUtil.isNotEmpty(distribListVos)){
+            for(DistribListVo distribListVo : distribListVos){
+                String nickname = distribListVo.getNickname();
+                String decode = StringUtils.decode(nickname);
+                distribListVo.setNickname(decode);
+            }
+        }
+        PageInfo<DistribListVo> pageInfo = new PageInfo<>(distribListVos);
+        Map<String, Object> data = new HashMap<>();
+        int count = Convert.toInt(pageInfo.getTotal());
+        data.put("data", distribListVos);
+        data.put("count", count);
+        data.put("code", 0);
+        return data;
+    }
+
+    public void adddistrib(AdddistribDto model) {
+        String id = model.getId();
+        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
+        accountInfo.setIsHead(1);
+        accountMapper.updateByPrimaryKey(accountInfo);
+    }
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java
new file mode 100644
index 0000000..38d1e0e
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java
@@ -0,0 +1,25 @@
+package com.xzx.gc.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "DistribListVo", description = "团长返回参数类")
+public class DistribListVo {
+
+    private String id;
+
+    @ApiModelProperty(value = "昵称")
+    private String nickname;
+
+    @ApiModelProperty(value = "手机号码")
+    private String phone;
+
+    @ApiModelProperty(value = "注册时间")
+    private String registTime;
+
+    @ApiModelProperty(value = "是否为团长 1-是 2-否")
+    private String isHead;
+
+}
diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
index 2cd6409..14f9d3d 100644
--- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -147,4 +147,24 @@
         select * from  xzx_account_info where user_id = #{userId}
     </select>
 
+    <select id="selectDsitribListByQueryCol" resultType="com.xzx.gc.user.vo.DistribListVo">
+        SELECT
+        a.account_id id,
+        a.is_head isHead,
+        b.nick_name nickname,
+        b.regist_time registTime,
+        b.mobile_phone phone
+        FROM
+        xzx_account_info a
+        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
+        <where>
+            1=1
+            <if test="record.queryCol != null and record.queryCol != ''">
+                and (b.nick_name like concat('%',#{record.name},'%')
+                or mobile_phone like concat('%',#{record.phone},'%') )
+            </if>
+        </where>
+        order by id desc
+    </select>
+
 </mapper>

--
Gitblit v1.9.1