gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
@@ -12,9 +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 com.xzx.gc.user.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -126,6 +124,67 @@ 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 = 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)); } } gc-user/src/main/java/com/xzx/gc/user/dto/DistribDataListDto.java
New file @@ -0,0 +1,36 @@ 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 = "DistribDataListDto", description = "加入团长参数接收类") public class DistribDataListDto { @ApiModelProperty(value = "第几页", required = true) private int page; @ApiModelProperty(value = "每一页数量", required = true) private int limit; @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; } gc-user/src/main/java/com/xzx/gc/user/dto/DistribListDto.java
@@ -17,7 +17,9 @@ @ApiModelProperty(value = "查询字段") private String queryCol; @ApiModelProperty(hidden = true) private String name; @ApiModelProperty(hidden = true) private String Phone; } gc-user/src/main/java/com/xzx/gc/user/dto/ProhibitDistribDto.java
New file @@ -0,0 +1,14 @@ package com.xzx.gc.user.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ProhibitDistribDto { @ApiModelProperty(required=true) private String Id; @ApiModelProperty(value ="是否冻结 0:未冻结,1:冻结 " ,required=true) private Integer status; } gc-user/src/main/java/com/xzx/gc/user/dto/UpdateSettingDto.java
@@ -23,7 +23,7 @@ //团员完成(FinishOrderNum)单后,团员每完成一单团长获得(pointReward)积分: @ApiModelProperty(value = "团员完成(FinishOrderNum)单后,团员每完成一单团长获得(pointReward)积分:") private Integer finishOrderNum; // private Integer finishOrderNum; private Integer pointReward; @ApiModelProperty("0:不启用,1:启用") gc-user/src/main/java/com/xzx/gc/user/dto/UserHeadInfoListDto.java
New file @@ -0,0 +1,21 @@ 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 = "UserHeadInfoListDto", description = "参数接收类") public class UserHeadInfoListDto { private String id; @ApiModelProperty(value="第几页",required=true) private int page; @ApiModelProperty(value="每一页数量",required=true) private int limit; } gc-user/src/main/java/com/xzx/gc/user/dto/ViewDistribInfoDto.java
New file @@ -0,0 +1,11 @@ package com.xzx.gc.user.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ViewDistribInfoDto { @ApiModelProperty("id") private String id; } gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
@@ -1,14 +1,15 @@ package com.xzx.gc.user.mapper; import com.xzx.gc.entity.AccountInfo; import com.xzx.gc.entity.JhyOrderItems; import com.xzx.gc.entity.OrderInfo; import com.xzx.gc.entity.ScoreDetails; import com.xzx.gc.model.admin.AccountMoneyModel; import com.xzx.gc.model.admin.UserAccountModel; 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.vo.DistribInfoListVo; import com.xzx.gc.user.vo.DistribListVo; import com.xzx.gc.user.vo.*; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -52,5 +53,15 @@ List<DistribListVo> selectDsitribListByQueryCol(@Param("record")DistribListDto distribListDto); List<DistribInfoListVo> selectDsitribInfoListByQueryCol(@Param("record")DistribInfoListDto distribInfoListDto); ViewDistribInfoVo selectDistribByAccountId(@Param("id")String id); List<UserHeadInfoVo> selectUserHeadInfoByAccountId(@Param("id")String id); List<OrderItemsVo> selectOrderItemsByUserId(@Param("userId")String userId); List<JhyOrderItems> selectOrderById(@Param("orderId")Long orderId); List<DistribDataListVo> distribDataList(DistribDataListDto distribDataListDto); } gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -8,19 +8,12 @@ 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.HeadProfitLitDto; import com.xzx.gc.user.dto.HeadTeamDto; import com.xzx.gc.entity.*; import com.xzx.gc.user.dto.*; import com.xzx.gc.user.mapper.*; import com.xzx.gc.user.vo.HeadInfoVo; 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; @@ -28,9 +21,7 @@ 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -71,7 +62,7 @@ viewSettingVo.setOrderNumFrist(0); viewSettingVo.setRegularPoint(0); viewSettingVo.setRegularMoneyPercent(BigDecimal.ZERO); viewSettingVo.setFinishOrderNum(0); // viewSettingVo.setFinishOrderNum(0); viewSettingVo.setPointReward(0); viewSettingVo.setStatus((short) 0); }else{ @@ -84,7 +75,7 @@ viewSettingVo.setOrderNumFrist(StrUtil.isEmpty(shareRatios.get(1))?0:Integer.parseInt(shareRatios.get(1))); viewSettingVo.setRegularPoint(StrUtil.isEmpty(shareRatios.get(2))?0:Integer.parseInt(shareRatios.get(2))); viewSettingVo.setRegularMoneyPercent(StrUtil.isEmpty(shareRatios.get(3))?BigDecimal.ZERO:new BigDecimal(shareRatios.get(3))); viewSettingVo.setFinishOrderNum(StrUtil.isEmpty(shareRatios.get(4))?0:Integer.parseInt(shareRatios.get(4))); // viewSettingVo.setFinishOrderNum(StrUtil.isEmpty(shareRatios.get(4))?0:Integer.parseInt(shareRatios.get(4))); viewSettingVo.setPointReward(StrUtil.isEmpty(shareRatios.get(5))?0:Integer.parseInt(shareRatios.get(5))); viewSettingVo.setStatus(redPaperRule.getStatus()); } @@ -94,7 +85,7 @@ viewSettingVo.setOrderNumFrist(0); viewSettingVo.setRegularPoint(0); viewSettingVo.setRegularMoneyPercent(BigDecimal.ZERO); viewSettingVo.setFinishOrderNum(0); // viewSettingVo.setFinishOrderNum(0); viewSettingVo.setPointReward(0); viewSettingVo.setStatus((short) 0); } @@ -174,8 +165,8 @@ stringBuffer.append(regularPoint+","); BigDecimal regularMoneyPercent = ObjectUtil.isEmpty(model.getRegularMoneyPercent()) ? BigDecimal.ZERO : model.getRegularMoneyPercent(); stringBuffer.append(regularMoneyPercent+","); int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); stringBuffer.append(finishOrderNum+","); // int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); // stringBuffer.append(finishOrderNum+","); int pointReward = ObjectUtil.isEmpty(model.getPointReward()) ? 0 : model.getPointReward(); stringBuffer.append(pointReward); redPaperRule.setStatus((short) 0); @@ -197,12 +188,12 @@ stringBuffer.append(regularPoint+","); BigDecimal regularMoneyPercent = ObjectUtil.isEmpty(model.getRegularMoneyPercent()) ? BigDecimal.ZERO : model.getRegularMoneyPercent(); stringBuffer.append(regularMoneyPercent+","); int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); stringBuffer.append(finishOrderNum+","); // int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); // stringBuffer.append(finishOrderNum+","); int pointReward = ObjectUtil.isEmpty(model.getPointReward()) ? 0 : model.getPointReward(); stringBuffer.append(pointReward); redPaperRule.setStatus(model.getStatus()); redPaperRule.setSharingProfitType("frist_reward,order_num_frist,regular_point,regular_money_percent,finish_order_num,point_reward"); redPaperRule.setSharingProfitType("first_reward,order_num_first,regular_point,regular_money_percent,finish_order_num,point_reward"); redPaperRule.setShareRatio(stringBuffer.toString()); redPaperRuleMapper.updateByPrimaryKey(redPaperRule); } @@ -262,4 +253,84 @@ return data; } public ViewDistribInfoVo viewDistribInfo(String id) { //获取团长基本信息 return accountMapper.selectDistribByAccountId(id); } public Map<String, Object> userHeadInfoList(UserHeadInfoListDto userHeadInfoListDto) { String id = userHeadInfoListDto.getId(); AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); String userId = accountInfo.getUserId(); PageHelper.startPage(userHeadInfoListDto.getPage(), userHeadInfoListDto.getLimit()); List<UserHeadInfoVo> userHeadInfoVos = accountMapper.selectUserHeadInfoByAccountId(userId); if(CollUtil.isNotEmpty(userHeadInfoVos)){ for(UserHeadInfoVo userHeadInfoVo : userHeadInfoVos){ String nickname = userHeadInfoVo.getNickname(); String decode = StringUtils.decode(nickname); userHeadInfoVo.setNickname(decode); } } PageInfo<UserHeadInfoVo> pageInfo = new PageInfo<>(userHeadInfoVos); Map<String, Object> data = new HashMap<>(); int count = Convert.toInt(pageInfo.getTotal()); data.put("data", userHeadInfoVos); data.put("count", count); data.put("code", 0); return data; } public Map<String, Object> orderItemsList(UserHeadInfoListDto userHeadInfoListDto) { String id = userHeadInfoListDto.getId(); AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); String userId = accountInfo.getUserId(); PageHelper.startPage(userHeadInfoListDto.getPage(), userHeadInfoListDto.getLimit()); List<OrderItemsVo> orderItemsVos = accountMapper.selectOrderItemsByUserId(userId); if(CollUtil.isNotEmpty(orderItemsVos)){ for(OrderItemsVo orderItemsVo : orderItemsVos){ if(ObjectUtil.isNotEmpty(orderItemsVo)){ Long orderId = orderItemsVo.getOrderId(); List<JhyOrderItems> jhyOrderItems = accountMapper.selectOrderById(orderId); if(CollUtil.isNotEmpty(jhyOrderItems)){ orderItemsVo.setOrderItems(jhyOrderItems); } } } } PageInfo<OrderItemsVo> pageInfo = new PageInfo<>(orderItemsVos); Map<String, Object> data = new HashMap<>(); int count = Convert.toInt(pageInfo.getTotal()); data.put("data", orderItemsVos); data.put("count", count); data.put("code", 0); return data; } public void prohibitDistrib(ProhibitDistribDto model) { Integer status = model.getStatus(); String id = model.getId(); AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); accountInfo.setIsProhibit(status.toString()); accountMapper.updateByPrimaryKey(accountInfo); } public Map<String, Object> distribDataList(DistribDataListDto distribDataListDto) { PageHelper.startPage(distribDataListDto.getPage(), distribDataListDto.getLimit()); List<DistribDataListVo> distribDataListVos = accountMapper.distribDataList(distribDataListDto); if(CollUtil.isNotEmpty(distribDataListVos)){ for(DistribDataListVo distribDataListVo : distribDataListVos){ if(ObjectUtil.isNotEmpty(distribDataListVo)){ } } } 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; } } gc-user/src/main/java/com/xzx/gc/user/vo/DistribDataListVo.java
New file @@ -0,0 +1,43 @@ package com.xzx.gc.user.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "DistribDataListVo", description = "返回参数类") public class DistribDataListVo { 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 = "累计订单重量") private String kg; @ApiModelProperty(value = "累计家电数量") private String jdsl; @ApiModelProperty(value = "是否为团长 1-是 2-否") private String isHead; } gc-user/src/main/java/com/xzx/gc/user/vo/OrderItemsVo.java
New file @@ -0,0 +1,34 @@ package com.xzx.gc.user.vo; import com.xzx.gc.entity.JhyOrderItems; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "OrderItemsVo", description = "团员订单") public class OrderItemsVo { private Long orderId; @ApiModelProperty(value="订单编号") private String orderNo; @ApiModelProperty(value="回收品类") private List<JhyOrderItems> OrderItems; @ApiModelProperty(value="订单金额") private BigDecimal amount; @ApiModelProperty(value="积分") private BigDecimal score; @ApiModelProperty(value="积分收益") private BigDecimal scoreReward; @ApiModelProperty(value="环保币收益") private BigDecimal amountReward; } gc-user/src/main/java/com/xzx/gc/user/vo/UserHeadInfoVo.java
New file @@ -0,0 +1,28 @@ package com.xzx.gc.user.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data @ApiModel(value = "UserHeadInfoVo", description = "团员名单") public class UserHeadInfoVo { @ApiModelProperty(value="名称") private String nickname; @ApiModelProperty(value="联系方式") private String phone; @ApiModelProperty(value="绑定时间") private String createTime; @ApiModelProperty(value="累计金额") private BigDecimal amount; @ApiModelProperty(value="累计单数") private Integer orderCnt; } gc-user/src/main/java/com/xzx/gc/user/vo/ViewDistribInfoVo.java
New file @@ -0,0 +1,46 @@ package com.xzx.gc.user.vo; import com.xzx.gc.entity.JhyOrder; import com.xzx.gc.entity.JhyOrderItems; import com.xzx.gc.entity.UserHeadRelate; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "ViewDistribInfoVo", description = "团长详情返回参数类") public class ViewDistribInfoVo { 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 Integer orderCnt; @ApiModelProperty(value = "环保币") private BigDecimal amount; @ApiModelProperty(value = "积分") private BigDecimal score; // // @ApiModelProperty(value = "团员订单") // private List<OrderItemsVo> OrderItemsVos; // // @ApiModelProperty(value = "团员名单") // private List<UserHeadInfoVo> userHeadInfos; } gc-user/src/main/java/com/xzx/gc/user/vo/ViewSettingVo.java
@@ -24,7 +24,7 @@ //团员完成(FinishOrderNum)单后,团员每完成一单团长获得(pointReward)积分: @ApiModelProperty(value = "团员完成(FinishOrderNum)单后,团员每完成一单团长获得(pointReward)积分:") private Integer finishOrderNum; // private Integer finishOrderNum; private Integer pointReward; @ApiModelProperty("开关0:已经关闭,1:正常") gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -174,10 +174,10 @@ 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, (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 @@ -202,4 +202,92 @@ order by id desc </select> <select id="selectDistribByAccountId" resultType="com.xzx.gc.user.vo.ViewDistribInfoVo"> SELECT a.account_id id, b.nick_name nickname, b.mobile_phone phone, b.regist_time registTime, (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 FROM xzx_account_info a LEFT JOIN xzx_user_info b on a.user_id = b.user_id where a.account_id = #{id} </select> <select id="selectUserHeadInfoByAccountId" resultType="com.xzx.gc.user.vo.UserHeadInfoVo"> SELECT b.nick_name nickname, b.mobile_phone phone, 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 FROM xzx_user_head_relate a LEFT JOIN xzx_user_info b on a.user_id = b.user_id where a.head_user_id = #{id} </select> <select id="selectOrderItemsByUserId" resultType="com.xzx.gc.user.vo.OrderItemsVo"> SELECT b.id orderId, a.order_no orderNo, a.score scoreReward, a.amount amountReward, sum(c.score) amount FROM xzx_user_head_details a LEFT JOIN xzx_jhy_order b on a.order_no = b.order_no LEFT JOIN xzx_jhy_order_items c on b.id=c.order_id where a.head_user_id = #{userId} </select> <select id="selectOrderById" resultType="com.xzx.gc.entity.JhyOrderItems"> SELECT * FROM xzx_jhy_order_items a where a.order_id = #{orderId} </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> <if test="record.reserveTimeEnd != null"> and b.regist_time <= #{record.reserveTimeEnd} </if> </where> order by id desc </select> </mapper>