From 58686a85bdfa549ac87f4dfd34a472ddc22a5667 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 05 Aug 2020 15:08:53 +0800 Subject: [PATCH] 20200805 代码提交 --- src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml | 10 +++++ src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java | 12 ++++++ src/main/java/com/xcong/excoin/modules/documentary/dto/TradeFollowInfoDto.java | 20 ++++++++++ src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java | 3 + src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 40 ++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/documentary/vo/TradeFollowInfoVo.java | 25 ++++++++++++ src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java | 3 + 7 files changed, 113 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java b/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java index ba1a8f4..cd02124 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java @@ -10,9 +10,11 @@ import org.springframework.web.bind.annotation.RestController; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.documentary.dto.TradeFollowInfoDto; import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto; import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto; import com.xcong.excoin.modules.documentary.service.DocumentaryService; +import com.xcong.excoin.modules.documentary.vo.TradeFollowInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeHistoryOrderInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeOrderInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeProfitInfoVo; @@ -75,6 +77,16 @@ } /** + * 交易员设置--我的跟随者 + */ + @ApiOperation(value="交易员设置--我的跟随者", notes="交易员设置--我的跟随者") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = TradeFollowInfoVo.class)}) + @GetMapping(value = "/getTradeFollowInfo") + public Result getTradeFollowInfo(@RequestBody @Valid TradeFollowInfoDto tradeFollowInfoDto) { + return documentaryService.getTradeFollowInfo(tradeFollowInfoDto); + } + + /** * 成为交易员---立即入驻 */ @ApiOperation(value="成为交易员---立即入驻", notes="成为交易员---立即入驻") diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java index 79a96df..188da7f 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java @@ -32,5 +32,8 @@ @Param("memberId")Long memberId); FollowFollowerProfitEntity selectDocumentaryOrderSetInfoBymemberIdAndTradeId(@Param("memberId")Long memberId, @Param("traderId")Long traderId); + + IPage<FollowFollowerProfitEntity> selectTradeFollowerProfitEntitys(Page<FollowFollowerProfitEntity> page, + @Param("memberId")Long memberId); } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeFollowInfoDto.java b/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeFollowInfoDto.java new file mode 100644 index 0000000..264f975 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeFollowInfoDto.java @@ -0,0 +1,20 @@ +package com.xcong.excoin.modules.documentary.dto; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +@Data +@ApiModel(value = "TradeFollowInfoDto", description = "参数接受类") +public class TradeFollowInfoDto { + @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/documentary/service/DocumentaryService.java b/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java index 659ba24..08f9820 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java @@ -11,6 +11,7 @@ import com.xcong.excoin.modules.documentary.dto.HistoryOrderRecordsDto; import com.xcong.excoin.modules.documentary.dto.MyFollowOrderDto; import com.xcong.excoin.modules.documentary.dto.MyFollowTraderInfoDto; +import com.xcong.excoin.modules.documentary.dto.TradeFollowInfoDto; import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto; import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto; import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto; @@ -60,4 +61,6 @@ public Result getTradeHistoryOrderInfo(@Valid TradeOrderInfoDto tradeOrderInfoDto); + public Result getTradeFollowInfo(@Valid TradeFollowInfoDto tradeFollowInfoDto); + } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java index 189ff0c..afd020e 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java @@ -35,6 +35,7 @@ import com.xcong.excoin.modules.documentary.dto.HistoryOrderRecordsDto; import com.xcong.excoin.modules.documentary.dto.MyFollowOrderDto; import com.xcong.excoin.modules.documentary.dto.MyFollowTraderInfoDto; +import com.xcong.excoin.modules.documentary.dto.TradeFollowInfoDto; import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto; import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto; import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto; @@ -53,6 +54,7 @@ import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo; import com.xcong.excoin.modules.documentary.vo.MyFollowOrderVo; import com.xcong.excoin.modules.documentary.vo.MyFollowTraderInfoVo; +import com.xcong.excoin.modules.documentary.vo.TradeFollowInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeHistoryOrderInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeOrderInfoVo; import com.xcong.excoin.modules.documentary.vo.TradeProfitInfoVo; @@ -852,6 +854,44 @@ } return Result.ok(myFollowOrderVos); } + + @Override + public Result getTradeFollowInfo(@Valid TradeFollowInfoDto tradeFollowInfoDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + List<TradeFollowInfoVo> myFollowOrderVos = new ArrayList<>(); + + Page<FollowFollowerProfitEntity> page = new Page<>(tradeFollowInfoDto.getPageNum(), tradeFollowInfoDto.getPageSize()); + IPage<FollowFollowerProfitEntity> followFollowerProfitEntitys = followFollowerProfitDao.selectTradeFollowerProfitEntitys(page, memberId); + List<FollowFollowerProfitEntity> records = followFollowerProfitEntitys.getRecords(); + if(CollUtil.isNotEmpty(records)) { + for(FollowFollowerProfitEntity followFollowerProfitEntity : records) { + TradeFollowInfoVo myFollowTraderInfoVo = new TradeFollowInfoVo(); + + Long followMemberId = followFollowerProfitEntity.getMemberId(); + MemberEntity memberEntity = memberDao.selectById(followMemberId); + if(ObjectUtil.isNotEmpty(memberEntity)) { + String phone = memberEntity.getPhone(); + String email = memberEntity.getEmail(); + if(StrUtil.isNotEmpty(phone)) { + myFollowTraderInfoVo.setAccount(phone); + }else { + myFollowTraderInfoVo.setAccount(email); + } + } + + Long id = followFollowerProfitEntity.getId(); + myFollowTraderInfoVo.setId(id); + BigDecimal totalPrincipal = followFollowerProfitEntity.getTotalPrincipal(); + myFollowTraderInfoVo.setTotalPrincipal(totalPrincipal); + BigDecimal totalProfit = followFollowerProfitEntity.getTotalProfit(); + myFollowTraderInfoVo.setTotalProfit(totalProfit.setScale(2, BigDecimal.ROUND_DOWN)); + + myFollowOrderVos.add(myFollowTraderInfoVo); + } + } + return Result.ok(myFollowOrderVos); + } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeFollowInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeFollowInfoVo.java new file mode 100644 index 0000000..77291d0 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeFollowInfoVo.java @@ -0,0 +1,25 @@ +package com.xcong.excoin.modules.documentary.vo; + +import java.math.BigDecimal; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "TradeFollowInfoVo", description = "返回类") +public class TradeFollowInfoVo { + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty("名称") + private String account; + + @ApiModelProperty(value = "累计跟随本金") + private BigDecimal totalPrincipal; + + @ApiModelProperty(value = "累计收益") + private BigDecimal totalProfit; + +} diff --git a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml index d016055..4ad0d24 100644 --- a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml +++ b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml @@ -29,6 +29,16 @@ and is_follow = 1 order by create_time desc </select> + <select id="selectTradeFollowerProfitEntitys" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity"> + SELECT + * + FROM + follow_follower_profit + WHERE + trade_member_id = #{memberId} + and is_follow = 1 + order by create_time desc + </select> <select id="getMyFollowOrderHistoryRecords" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity"> SELECT -- Gitblit v1.9.1