From abbb3326355de35bcb535deba49d8da704d92d63 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 15 Jul 2021 10:49:50 +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/dto/DistribInfoListDto.java            |   31 ++++++++++
 gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java            |   30 ++++++++-
 gc-user/src/main/resources/mapper/user/AccountMapper.xml                     |   37 ++++++++++++
 gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java                  |    2 
 gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java              |   41 +++++++++++++
 gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java              |   10 +--
 gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java |   12 +++
 7 files changed, 150 insertions(+), 13 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 3f047aa..2c1bff9 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
@@ -12,6 +12,7 @@
 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.DistribInfoListVo;
 import com.xzx.gc.user.vo.DistribListVo;
 import com.xzx.gc.user.vo.ViewSettingVo;
 import io.swagger.annotations.Api;
@@ -77,7 +78,7 @@
         return  JsonResult.success("操作成功!");
     }
 
-    @ApiOperation(value = "团长列表")
+    @ApiOperation(value = "符合条件待入选团长列表")
     @ApiResponses(
             @ApiResponse(code = 200, message = "success", response = DistribListVo.class)
     )
@@ -116,6 +117,15 @@
         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));
+    }
+
 
 
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java
new file mode 100644
index 0000000..012e5a0
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java
@@ -0,0 +1,31 @@
+package com.xzx.gc.user.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "DistribInfoListDto", description = "加入团长参数接收类")
+public class DistribInfoListDto {
+
+    private String name;
+
+    private String phone;
+
+    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @ApiModelProperty(value="开始时间")
+    private Date reserveTimeStart;
+
+    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @ApiModelProperty(value="结束时间")
+    private Date reserveTimeEnd;
+
+    @ApiModelProperty(value="第几页",required=true)
+    private int page;
+
+    @ApiModelProperty(value="每一页数量",required=true)
+    private int limit;
+}
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 4fc4dd8..14236ae 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
@@ -3,21 +3,17 @@
 import com.xzx.gc.entity.AccountInfo;
 import com.xzx.gc.entity.OrderInfo;
 import com.xzx.gc.entity.ScoreDetails;
-import com.xzx.gc.entity.UserInfo;
 import com.xzx.gc.model.admin.AccountMoneyModel;
 import com.xzx.gc.model.admin.UserAccountModel;
-import com.xzx.gc.model.user.AccountReq;
-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.DistribInfoListDto;
 import com.xzx.gc.user.dto.DistribListDto;
+import com.xzx.gc.user.vo.DistribInfoListVo;
 import com.xzx.gc.user.vo.DistribListVo;
 import com.xzx.gc.util.GcMapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
-import java.util.Map;
 
 @Repository
 public interface AccountMapper extends GcMapper<AccountInfo> {
@@ -54,5 +50,7 @@
     AccountInfo selectOneByUserId(@Param("userId")String userId);
 
     List<DistribListVo> selectDsitribListByQueryCol(@Param("record")DistribListDto distribListDto);
+
+    List<DistribInfoListVo> selectDsitribInfoListByQueryCol(@Param("record")DistribInfoListDto distribInfoListDto);
 }
 
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 ae2af57..766ea84 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
@@ -19,21 +19,19 @@
 import com.xzx.gc.user.vo.HeadProfitListVo;
 import com.xzx.gc.user.vo.HeadTeamVo;
 import com.xzx.gc.user.dto.AdddistribDto;
+import com.xzx.gc.user.dto.DistribInfoListDto;
 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 com.xzx.gc.user.vo.*;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.xzx.gc.entity.RedPaperRule;
 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;
 import org.springframework.transaction.annotation.Transactional;
@@ -240,4 +238,28 @@
         accountInfo.setIsHead(1);
         accountMapper.updateByPrimaryKey(accountInfo);
     }
+
+    public Map<String, Object> distribInfoList(DistribInfoListDto distribInfoListDto) {
+        PageHelper.startPage(distribInfoListDto.getPage(), distribInfoListDto.getLimit());
+        if(StrUtil.isNotEmpty(distribInfoListDto.getName())){
+            String decode = StringUtils.encode(distribInfoListDto.getName());
+            distribInfoListDto.setName(decode);
+        }
+        List<DistribInfoListVo> distribInfoListVos = accountMapper.selectDsitribInfoListByQueryCol(distribInfoListDto);
+        if(CollUtil.isNotEmpty(distribInfoListVos)){
+            for(DistribInfoListVo distribInfoListVo : distribInfoListVos){
+                String nickname = distribInfoListVo.getNickname();
+                String decode = StringUtils.decode(nickname);
+                distribInfoListVo.setNickname(decode);
+            }
+        }
+        PageInfo<DistribInfoListVo> pageInfo = new PageInfo<>(distribInfoListVos);
+        Map<String, Object> data = new HashMap<>();
+        int count = Convert.toInt(pageInfo.getTotal());
+        data.put("data", distribInfoListVos);
+        data.put("count", count);
+        data.put("code", 0);
+        return data;
+
+    }
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java
new file mode 100644
index 0000000..9de50a0
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java
@@ -0,0 +1,41 @@
+package com.xzx.gc.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "DistribInfoListVo", description = "返回参数类")
+public class DistribInfoListVo {
+
+    private String id;
+
+    @ApiModelProperty(value = "名称")
+    private String nickname;
+
+    @ApiModelProperty(value = "手机号码")
+    private String phone;
+
+    @ApiModelProperty(value = "注册时间")
+    private String registTime;
+
+    @ApiModelProperty(value = "团员数量")
+    private Integer cnt;
+
+    @ApiModelProperty(value = "交易单数")
+    private String orderCnt;
+
+    @ApiModelProperty(value = "环保币")
+    private String amount;
+
+    @ApiModelProperty(value = "积分")
+    private String score;
+
+    @ApiModelProperty(value = "是否为团长 1-是 2-否")
+    private String isHead;
+
+    @ApiModelProperty(value = "是否禁用 0:未冻结,1:冻结")
+    private String isProhibit;
+
+
+}
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
index 38d1e0e..1e2e6e9 100644
--- 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
@@ -5,7 +5,7 @@
 import lombok.Data;
 
 @Data
-@ApiModel(value = "DistribListVo", description = "团长返回参数类")
+@ApiModel(value = "DistribListVo", description = "返回参数类")
 public class DistribListVo {
 
     private String id;
diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
index 14f9d3d..cdb5525 100644
--- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -161,10 +161,45 @@
             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},'%') )
+                or b.mobile_phone like concat('%',#{record.phone},'%') )
             </if>
         </where>
         order by id desc
     </select>
 
+    <select id="selectDsitribInfoListByQueryCol" resultType="com.xzx.gc.user.vo.DistribInfoListVo">
+        SELECT
+        a.account_id id,
+        b.nick_name nickname,
+        b.mobile_phone phone,
+        b.regist_time registTime,
+        a.is_head isHead,
+        (select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) cnt,
+        (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id GROUP BY head_user_id) orderCnt,
+        (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) amount,
+        (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) score,
+        a.is_prohibit isProhibit
+        FROM
+        xzx_account_info a
+        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
+        <where>
+            1=1
+            and a.is_head = 1
+            <if test="record.name != null and record.name != ''">
+                and b.nick_name like concat('%',#{record.name},'%')
+            </if>
+            <if test="record.phone != null and record.phone != ''">
+                and b.mobile_phone like concat('%',#{record.phone},'%')
+            </if>
+            <if test="record.reserveTimeStart != null">
+                and b.regist_time >= #{record.reserveTimeStart}
+            </if>
+
+            <if test="record.reserveTimeEnd != null">
+                and b.regist_time &lt;= #{record.reserveTimeEnd}
+            </if>
+        </where>
+         order by id desc
+    </select>
+
 </mapper>

--
Gitblit v1.9.1