From bf9a238e4b6db75c28ee9efae265f36f33301d83 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 15 Jul 2021 16:15:04 +0800 Subject: [PATCH] 202107015 --- gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java | 3 gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java | 9 ++ gc-user/src/main/resources/mapper/user/AccountMapper.xml | 144 +++++++++++++++++++++++++++-------- gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java | 8 + gc-user/src/main/java/com/xzx/gc/user/dto/DistribDataInfoDto.java | 7 + gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java | 20 +++++ gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java | 22 +++++ 7 files changed, 178 insertions(+), 35 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 4769299..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 @@ -7,10 +7,12 @@ 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.*; 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; @@ -38,6 +40,9 @@ @Autowired private AccountMapper accountMapper; + + @Autowired + private UserHeadRelateMapper userHeadRelateMapper; /** * 查看分銷系統设置详情 @@ -108,6 +113,12 @@ || 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(); @@ -176,7 +187,16 @@ return JsonResult.success("操作成功!"); } - @ApiOperation(value = "团长数据") + @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) ) diff --git a/gc-user/src/main/java/com/xzx/gc/user/dto/DistribDataInfoDto.java b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribDataInfoDto.java new file mode 100644 index 0000000..dd3d8ef --- /dev/null +++ b/gc-user/src/main/java/com/xzx/gc/user/dto/DistribDataInfoDto.java @@ -0,0 +1,7 @@ +package com.xzx.gc.user.dto; + +import lombok.Data; + +@Data +public class DistribDataInfoDto { +} 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 index 012e5a0..1a1ab2d 100644 --- 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 @@ -23,6 +23,9 @@ @ApiModelProperty(value="结束时间") private Date reserveTimeEnd; + @ApiModelProperty(value = "是否禁用 0:未冻结,1:冻结") + private String isProhibit; + @ApiModelProperty(value="第几页",required=true) private int page; 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 5029c4f..fddab8c 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 @@ -62,6 +62,12 @@ List<JhyOrderItems> selectOrderById(@Param("orderId")Long orderId); - List<DistribDataListVo> distribDataList(DistribDataListDto distribDataListDto); + List<DistribDataListVo> distribDataList(@Param("record")DistribDataListDto distribDataListDto); + + String selectOrderByHeadUserId(@Param("accountId")String accountId); + + String selectJDSLByHeadUserId(@Param("accountId")String id); + + DistribDataInfoVo selectDistribDataInfoVo(); } 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 861f591..a2078b6 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 @@ -325,6 +325,11 @@ if(CollUtil.isNotEmpty(distribDataListVos)){ for(DistribDataListVo distribDataListVo : distribDataListVos){ if(ObjectUtil.isNotEmpty(distribDataListVo)){ + String id = distribDataListVo.getId(); + String kg = accountMapper.selectOrderByHeadUserId(id); + distribDataListVo.setKg(kg); + String jdsl = accountMapper.selectJDSLByHeadUserId(id); + distribDataListVo.setJdsl(jdsl); } } } @@ -336,4 +341,8 @@ data.put("code", 0); return data; } + + public DistribDataInfoVo distribDataInfo(DistribDataInfoDto distribDataInfoDto) { + return accountMapper.selectDistribDataInfoVo(); + } } 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 new file mode 100644 index 0000000..51813a9 --- /dev/null +++ b/gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataInfoVo.java @@ -0,0 +1,20 @@ +package com.xzx.gc.user.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "DistribDataInfoVo", description = "返回参数类") +public class DistribDataInfoVo { + + @ApiModelProperty(value = "团长人数") + private Integer cnt; + + @ApiModelProperty(value = "累计收益") + private String amount; + + @ApiModelProperty(value = "累计交易订单") + private String orderCnt; + +} diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml index 1d90ccf..41fcbc0 100644 --- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml +++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml @@ -191,6 +191,9 @@ <if test="record.phone != null and record.phone != ''"> and b.mobile_phone like concat('%',#{record.phone},'%') </if> + <if test="record.phone != null and record.phone != ''"> + and a.is_prohibit = #{record.isProhibit} + </if> <if test="record.reserveTimeStart != null"> and b.regist_time >= #{record.reserveTimeStart} </if> @@ -237,7 +240,8 @@ a.order_no orderNo, a.score scoreReward, a.amount amountReward, - sum(c.score) amount + sum(c.score) score, + sum(c.score/40) amount FROM xzx_user_head_details a LEFT JOIN xzx_jhy_order b on a.order_no = b.order_no @@ -256,38 +260,112 @@ </select> <select id="distribDataList" 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.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> + 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.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 <= #{record.reserveTimeEnd} - </if> - </where> - order by id desc -</select> + <if test="record.reserveTimeEnd != null"> + and b.regist_time <= #{record.reserveTimeEnd} + </if> + </where> + order by id desc + </select> + + <select id="selectOrderByHeadUserId" resultType="java.lang.String"> + SELECT + IFNULL(SUM(weight),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 + head_user_id = ( + SELECT + user_id + FROM + xzx_account_info + WHERE + account_id = #{accountId} + ) + ) + ) + </select> + + <select id="selectJDSLByHeadUserId" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.weight),0) as jdsl + FROM + xzx_jhy_order_items a + left join xzx_sys_environmental_info b on a.item_type = b.id + WHERE + b.item_unit = '台' and + a.order_id in ( + SELECT + id + FROM + xzx_jhy_order + WHERE + order_no in ( + SELECT + order_no + FROM + xzx_user_head_details + WHERE + head_user_id = ( + SELECT + user_id + FROM + xzx_account_info + WHERE + account_id = #{accountId} + ) + ) + ) + </select> + + <select id="selectDistribDataInfoVo" resultType="com.xzx.gc.user.vo.DistribDataInfoVo"> + 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 + FROM + xzx_account_info a + where + 1=1 + and a.is_head = 1 + </select> </mapper> -- Gitblit v1.9.1