From 1089e7795ac98fc0486694e5116f44ee28807f7c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sat, 15 May 2021 15:01:25 +0800 Subject: [PATCH] 20210515 云顶 --- src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java | 2 src/main/resources/mapper/yunding/YdOrderDao.xml | 17 +++++ src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java | 20 ++++++ src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java | 17 +++++ src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java | 21 +++++++ src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java | 23 +++++++ src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java | 6 ++ src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 44 ++++++++++++++ 8 files changed, 148 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java index 80abc44..72edb85 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java @@ -160,6 +160,26 @@ return yunDingService.bugAgentLevel(bugAgentLeveldto); } + /** + * 我的团队信息 + */ + @ApiOperation(value = "我的团队信息") + @ApiResponses({ + @ApiResponse(code = 0, message = "success", response = TeamVo.class) + }) + @PostMapping(value = "/getAgentList") + public Result getTeamList(@RequestBody @Validated TeamInfoDto teamInfoDto) { + return yunDingService.getTeamList(teamInfoDto); + } + + + + + + + + + diff --git a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java index 3ae4c38..ee867a5 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java @@ -3,10 +3,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.yunding.dto.YdOrderListDto; import com.xcong.excoin.modules.yunding.entity.YdBasicLevelSettingEntity; import com.xcong.excoin.modules.yunding.entity.YdOrderEntity; import com.xcong.excoin.modules.yunding.vo.AgentVo; +import com.xcong.excoin.modules.yunding.vo.TeamInfoVo; import com.xcong.excoin.modules.yunding.vo.YdOrderVo; import org.apache.ibatis.annotations.Param; @@ -32,4 +34,8 @@ List<YdOrderEntity> selectTeamAllPower(@Param("inviteId") String inviteId); int updateOrderProfit(@Param("profit") BigDecimal profit, @Param("id") Long id); + + int selectAllPowerByMemberIdAndElse(@Param("inviteId")String inviteId); + + IPage<TeamInfoVo> getTeamInfoList(Page<TeamInfoVo> page, @Param("record")MemberEntity memberEntity); } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java b/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java new file mode 100644 index 0000000..b011587 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/yunding/dto/TeamInfoDto.java @@ -0,0 +1,21 @@ +package com.xcong.excoin.modules.yunding.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +@Data +@ApiModel(value = "TeamInfoDto", description = "团队入参类") +public class TeamInfoDto { + + @NotNull + @Min(1) + @ApiModelProperty(value = "第几页", example = "1") + private int pageNum; + + @NotNull + @ApiModelProperty(value = "每页数量", example = "10") + private int pageSize; +} diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java index 12d3ea6..110354e 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java @@ -1,7 +1,6 @@ package com.xcong.excoin.modules.yunding.service.Impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -42,7 +41,6 @@ import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.Date; -import java.util.HashMap; import java.util.List; @Slf4j @@ -599,6 +597,48 @@ return Result.ok(xchNewPrices); } + @Override + public Result getTeamList(TeamInfoDto teamInfoDto) { + log.info("获取团队信息"); + MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + Long memberId = memberEntity.getId(); + /** + * 获取团队总人数,总购买数 + * 详细列表 + * + */ + TeamVo teamVo = new TeamVo(); + //团队总人数 + int memberNum = 0; + //直接下级 + QueryWrapper<MemberEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("referer_id",memberEntity.getInviteId()); + List<MemberEntity> memberEntities = memberDao.selectList(objectQueryWrapper); + if(CollUtil.isNotEmpty(memberEntities)){ + memberNum = memberEntities.size(); + } + teamVo.setMemberNum(memberNum); + + //总购买数 + int allPower = ydOrderDao.selectAllPowerByMemberIdAndElse(memberEntity.getInviteId()); + teamVo.setAllPower(allPower); + + //详细列表 + Page<TeamInfoVo> page = new Page<>(teamInfoDto.getPageNum(), teamInfoDto.getPageSize()); + IPage<TeamInfoVo> teamInfoVos = ydOrderDao.getTeamInfoList(page, memberEntity); + List<TeamInfoVo> records = teamInfoVos.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(TeamInfoVo teamInfoVo : records){ + String phone = teamInfoVo.getPhone(); + if(StrUtil.isNotEmpty(phone)){ + teamInfoVo.setPhone(StrUtil.subSufByLength(phone,4)); + } + } + } + teamVo.setTeamInfoVos(records); + return Result.ok(teamVo); + } + /** * 去加减币币账户余额,减少产品的剩余数目 diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java index 56fa6e4..d7a1a2b 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java @@ -32,4 +32,6 @@ Result bugAgentLevel(BugAgentLeveldto bugAgentLeveldto); Result getXchPrice(); + + Result getTeamList(TeamInfoDto teamInfoDto); } diff --git a/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java new file mode 100644 index 0000000..3a31437 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamInfoVo.java @@ -0,0 +1,17 @@ +package com.xcong.excoin.modules.yunding.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +@Data +@ApiModel(value = "TeamInfoVo", description = "团队详情") +public class TeamInfoVo { + + @ApiModelProperty("账号") + private String phone; + + @ApiModelProperty("购买算力") + private Integer powerNum; +} diff --git a/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java new file mode 100644 index 0000000..a5943dc --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/yunding/vo/TeamVo.java @@ -0,0 +1,23 @@ +package com.xcong.excoin.modules.yunding.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "TeamVo", description = "团队") +public class TeamVo { + + @ApiModelProperty("团队人数") + private Integer memberNum; + + @ApiModelProperty("购买总算力") + private Integer allPower; + + @ApiModelProperty("团队详情") + private List<TeamInfoVo> teamInfoVos; + + +} diff --git a/src/main/resources/mapper/yunding/YdOrderDao.xml b/src/main/resources/mapper/yunding/YdOrderDao.xml index b74d39f..0309bea 100644 --- a/src/main/resources/mapper/yunding/YdOrderDao.xml +++ b/src/main/resources/mapper/yunding/YdOrderDao.xml @@ -103,4 +103,21 @@ today_profit=#{profit} where id=#{id} </update> + + <select id="selectAllPowerByMemberIdAndElse" resultType="java.lang.Integer"> + select ifnull(sum(quantity),0) from yd_order where type = 1 and member_id in ( + select member_id from member where referer_id = #{inviteId} + ) + </select> + + <select id="getTeamInfoList" resultType="com.xcong.excoin.modules.yunding.vo.TeamInfoVo"> + select a.phone phone, + sum(quantity) powerNum + from member a + left join yd_order b where b.member_id = a.id + where a.referer_id = #{record.inviteId} + and b.type = 1 + group by a.member_id + order by a.create_time desc + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1