From debe5f0c7882fe0b612d6e5c3af4805112d7c6e2 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 16 Jul 2021 15:20:20 +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/vo/UserHeadInfoVo.java | 7 +
gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java | 39 +++++++++
gc-user/src/main/resources/mapper/user/AccountMapper.xml | 62 +++++++++++++--
gc-user/src/main/java/com/xzx/gc/user/dto/ExportDistribDataListDto.java | 28 +++++++
gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java | 3
gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java | 3
gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java | 43 ++++++++++
7 files changed, 173 insertions(+), 12 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 23bd701..da31405 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,5 +1,6 @@
package com.xzx.gc.user.controller;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.xzx.gc.common.constant.CommonEnum;
import com.xzx.gc.common.constant.Constants;
@@ -9,23 +10,31 @@
import com.xzx.gc.entity.RedPaperRule;
import com.xzx.gc.entity.UserHeadRelate;
import com.xzx.gc.model.JsonResult;
+import com.xzx.gc.model.admin.ExportParamModel;
+import com.xzx.gc.model.admin.PromoterModel;
+import com.xzx.gc.model.admin.UserModel;
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 com.xzx.gc.util.DoubleUtil;
import io.swagger.annotations.Api;
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.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
@RestController
@@ -205,6 +214,40 @@
return JsonResult.success(distribService.distribDataList(distribDataListDto));
}
+ @ApiOperation(value = "团长数据--列表导出")
+ @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataExport.json")
+ public void distribDataExport(@RequestBody ExportDistribDataListDto distribDataListDto, HttpServletRequest request, HttpServletResponse response) {
+ List<List<String>> rows = new ArrayList<>();
+ List<String> header=new ArrayList<>();
+ //标题
+ header=CollUtil.newArrayList( "团长名称", "手机号", "身份", "团员数量", "交易单数", "累计收益积分", "累计收益(元)", "累计订单重量(kg)","累计数量(家电)");
+ rows.add(header);
+ Map<String, Object> stringObjectMap = distribService.distribDataExport(distribDataListDto);
+ List<DistribDataListVo> distribDataListVos = (List<DistribDataListVo>) stringObjectMap.get("data");
+ if (CollUtil.isNotEmpty(distribDataListVos)) {
+ for(DistribDataListVo m : distribDataListVos){
+ List<String> list = new ArrayList<>();
+ list.add(m.getNickname());
+ list.add(m.getPhone());
+ list.add("团长");
+ list.add(m.getCnt().toString());
+ list.add(m.getOrderCnt());
+ list.add(m.getScore());
+ list.add(m.getAmount());
+ list.add(m.getKg());
+ list.add(m.getJdsl());
+ rows.add(list);
+ }
+ }
+ //导出
+ export(rows,response);
+
+ OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+ .methodName(Constants.USER_MODUL_NAME).operateAction("用户导出-团长数据").build();
+ mqUtil.sendApp(build);
+
+ }
+
}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/ExportDistribDataListDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/ExportDistribDataListDto.java
new file mode 100644
index 0000000..59ad40c
--- /dev/null
+++ b/gc-user/src/main/java/com/xzx/gc/user/dto/ExportDistribDataListDto.java
@@ -0,0 +1,28 @@
+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 = "ExportDistribDataListDto", description = "参数接收类")
+public class ExportDistribDataListDto {
+
+ @ApiModelProperty(value = "查询字段")
+ private String queryCol;
+
+ @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(hidden = true)
+ private String name;
+ @ApiModelProperty(hidden = true)
+ 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 fddab8c..5f1d487 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
@@ -9,6 +9,7 @@
import com.xzx.gc.user.dto.DistribDataListDto;
import com.xzx.gc.user.dto.DistribInfoListDto;
import com.xzx.gc.user.dto.DistribListDto;
+import com.xzx.gc.user.dto.ExportDistribDataListDto;
import com.xzx.gc.user.vo.*;
import com.xzx.gc.util.GcMapper;
import org.apache.ibatis.annotations.Param;
@@ -69,5 +70,7 @@
String selectJDSLByHeadUserId(@Param("accountId")String id);
DistribDataInfoVo selectDistribDataInfoVo();
+
+ List<DistribDataListVo> distribDataExport(@Param("record")ExportDistribDataListDto distribDataListDto);
}
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 d446fb7..b46eba3 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
@@ -332,11 +332,19 @@
public Map<String, Object> distribDataList(DistribDataListDto distribDataListDto) {
+ if(StrUtil.isNotEmpty(distribDataListDto.getQueryCol())){
+ String decode = StringUtils.encode(distribDataListDto.getQueryCol());
+ distribDataListDto.setName(decode);
+ distribDataListDto.setPhone(distribDataListDto.getQueryCol());
+ }
PageHelper.startPage(distribDataListDto.getPage(), distribDataListDto.getLimit());
List<DistribDataListVo> distribDataListVos = accountMapper.distribDataList(distribDataListDto);
if(CollUtil.isNotEmpty(distribDataListVos)){
for(DistribDataListVo distribDataListVo : distribDataListVos){
if(ObjectUtil.isNotEmpty(distribDataListVo)){
+ String nickname = distribDataListVo.getNickname();
+ String decode = StringUtils.decode(nickname);
+ distribDataListVo.setNickname(decode);
String id = distribDataListVo.getId();
String kg = accountMapper.selectOrderByHeadUserId(id);
distribDataListVo.setKg(kg);
@@ -357,4 +365,35 @@
public DistribDataInfoVo distribDataInfo(DistribDataInfoDto distribDataInfoDto) {
return accountMapper.selectDistribDataInfoVo();
}
+
+ public Map<String, Object> distribDataExport(ExportDistribDataListDto distribDataListDto) {
+ if(StrUtil.isNotEmpty(distribDataListDto.getQueryCol())){
+ String decode = StringUtils.encode(distribDataListDto.getQueryCol());
+ distribDataListDto.setName(decode);
+ distribDataListDto.setPhone(distribDataListDto.getQueryCol());
+ }
+ List<DistribDataListVo> distribDataListVos = accountMapper.distribDataExport(distribDataListDto);
+ if(CollUtil.isNotEmpty(distribDataListVos)){
+ for(DistribDataListVo distribDataListVo : distribDataListVos){
+ if(ObjectUtil.isNotEmpty(distribDataListVo)){
+ String nickname = distribDataListVo.getNickname();
+ String decode = StringUtils.decode(nickname);
+ distribDataListVo.setNickname(decode);
+ String id = distribDataListVo.getId();
+ String kg = accountMapper.selectOrderByHeadUserId(id);
+ distribDataListVo.setKg(kg);
+ String jdsl = accountMapper.selectJDSLByHeadUserId(id);
+ distribDataListVo.setJdsl(jdsl);
+ }
+ }
+ }
+ PageInfo<DistribDataListVo> pageInfo = new PageInfo<>(distribDataListVos);
+ Map<String, Object> data = new HashMap<>();
+ int count = Convert.toInt(pageInfo.getTotal());
+ data.put("data", distribDataListVos);
+ data.put("count", count);
+ data.put("code", 0);
+ return data;
+ }
+
}
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java
index 51813a9..c31e69d 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java
@@ -14,6 +14,9 @@
@ApiModelProperty(value = "累计收益")
private String amount;
+ @ApiModelProperty(value = "累计积分收益")
+ private String score;
+
@ApiModelProperty(value = "累计交易订单")
private String orderCnt;
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/UserHeadInfoVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/UserHeadInfoVo.java
index 5342f80..d857484 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/vo/UserHeadInfoVo.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/UserHeadInfoVo.java
@@ -19,12 +19,15 @@
@ApiModelProperty(value="绑定时间")
private String createTime;
- @ApiModelProperty(value="累计金额")
+ @ApiModelProperty(value="累计金额收益")
private BigDecimal amount;
- @ApiModelProperty(value="累计积分")
+ @ApiModelProperty(value="累计积分收益")
private BigDecimal score;
+ @ApiModelProperty(value="累计积分")
+ private BigDecimal orderScore;
+
@ApiModelProperty(value="累计单数")
private Integer orderCnt;
diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
index 980ac42..ef1568b 100644
--- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -228,7 +228,18 @@
a.CREATED_TIME createTime,
(select IFNULL(count(1), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) orderCnt,
(select IFNULL(sum(amount), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) amount,
- (select IFNULL(sum(score), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) score
+ (select IFNULL(sum(score), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) score,
+ (SELECT
+ IFNULL(SUM(score),0) as kg
+ FROM
+ xzx_jhy_order_items WHERE order_id in ( SELECT
+ id
+ FROM
+ xzx_jhy_order WHERE order_no in ( SELECT
+ order_no
+ FROM
+ xzx_user_head_details WHERE
+ user_id = a.user_id and head_user_id = #{id} ) )) orderScore
FROM
xzx_user_head_relate a
LEFT JOIN xzx_user_info b on a.user_id = b.user_id
@@ -278,11 +289,8 @@
<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 test="record.queryCol != null and record.queryCol != ''">
+ and (b.nick_name like concat('%',#{record.name},'%') or b.mobile_phone like concat('%',#{record.phone},'%'))
</if>
<if test="record.reserveTimeStart != null">
and b.regist_time >= #{record.reserveTimeStart}
@@ -297,11 +305,12 @@
<select id="selectOrderByHeadUserId" resultType="java.lang.String">
SELECT
- IFNULL(SUM(weight),0) as kg
+ IFNULL(SUM(a.weight),0) as kg
FROM
- xzx_jhy_order_items
+ xzx_jhy_order_items a
+ left join xzx_sys_environmental_info b on a.item_type = b.id
WHERE
- order_id in (
+ b.item_unit = 'kg' and a.order_id in (
SELECT
id
FROM
@@ -361,7 +370,8 @@
SELECT
IFNULL(count(1), 0) cnt,
SUM((select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id) ) orderCnt,
- SUM((select IFNULL(sum(amount), 0) from xzx_user_head_details where head_user_id = a.user_id) ) amount
+ SUM((select IFNULL(sum(amount), 0) from xzx_user_head_details where head_user_id = a.user_id) ) amount,
+ SUM((select IFNULL(sum(score), 0) from xzx_user_head_details where head_user_id = a.user_id) ) score
FROM
xzx_account_info a
where
@@ -369,4 +379,36 @@
and a.is_head = 1
</select>
+ <select id="distribDataExport" resultType="com.xzx.gc.user.vo.DistribDataListVo">
+ 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) cnt,
+ (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id) orderCnt,
+ (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id) amount,
+ (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.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.queryCol != null and record.queryCol != ''">
+ and (b.nick_name like concat('%',#{record.name},'%') or 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 <= #{record.reserveTimeEnd}
+ </if>
+ </where>
+ order by id desc
+</select>
+
</mapper>
--
Gitblit v1.9.1