From 69fd409bbd0cdce5b376be46e7ca5828568607c9 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 29 Jul 2020 12:25:52 +0800 Subject: [PATCH] 20200729 代码提交 --- src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderInfoDao.java | 12 ++ src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitInfoDao.java | 8 + src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoListVo.java | 17 +++ src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml | 11 ++ src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java | 23 ++++ src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitDetailDao.java | 8 + src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java | 63 ++++++++++++ src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java | 5 + src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 48 +++++++++ src/main/resources/mapper/documentary/FollowTraderInfoDao.xml | 9 + src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java | 72 ++++++++++++++ src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitDetailEntity.java | 20 ++++ 12 files changed, 296 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java b/src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java index 28ec4f5..d81709b 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java @@ -1,12 +1,16 @@ package com.xcong.excoin.modules.documentary.controller; +import javax.validation.Valid; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; import com.xcong.excoin.modules.documentary.service.DocumentaryService; import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo; import com.xcong.excoin.modules.member.parameter.vo.AppVersionListVo; @@ -35,5 +39,24 @@ public Result getMemberIsTradeInfo() { return documentaryService.getMemberIsTradeInfo(); } + + /** + * 交易员收益信息列表 + */ + @ApiOperation(value="getFollowTraderProfitInfo", notes="交易员收益信息列表") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberIsTradeVo.class)}) + @GetMapping(value = "/getFollowTraderProfitInfo") + public Result getFollowTraderProfitInfo(@RequestBody @Valid RecordsPageDto recordsPageDto) { + return documentaryService.getFollowTraderProfitInfo(recordsPageDto); + } + + + + + + + + + } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderInfoDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderInfoDao.java new file mode 100644 index 0000000..2e452cd --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderInfoDao.java @@ -0,0 +1,12 @@ +package com.xcong.excoin.modules.documentary.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; + +import io.lettuce.core.dynamic.annotation.Param; + +public interface FollowTraderInfoDao extends BaseMapper<FollowTraderInfoEntity> { + + FollowTraderInfoEntity selectFollowTraderInfoEntityBytreaderId(@Param("traderId")Long traderId); + +} diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitDetailDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitDetailDao.java new file mode 100644 index 0000000..ab01a2a --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitDetailDao.java @@ -0,0 +1,8 @@ +package com.xcong.excoin.modules.documentary.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitDetailEntity; + +public interface FollowTraderProfitDetailDao extends BaseMapper<FollowTraderProfitDetailEntity> { + +} diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitInfoDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitInfoDao.java index d6c72c5..814aff9 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitInfoDao.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowTraderProfitInfoDao.java @@ -1,8 +1,16 @@ package com.xcong.excoin.modules.documentary.dao; +import org.apache.ibatis.annotations.Param; + 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.documentary.entity.FollowTraderProfitInfoEntity; +import com.xcong.excoin.modules.documentary.vo.FollowTraderProfitInfoVo; public interface FollowTraderProfitInfoDao extends BaseMapper<FollowTraderProfitInfoEntity> { + + IPage<FollowTraderProfitInfoVo> selectFollowTraderProfitInfoEntity(Page<FollowTraderProfitInfoVo> page, + @Param("record")FollowTraderProfitInfoEntity memberAccountMoneyChange); } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java b/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java new file mode 100644 index 0000000..65fc9ba --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java @@ -0,0 +1,63 @@ +package com.xcong.excoin.modules.documentary.entity; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 交易员信息表 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("follow_trader_info") +public class FollowTraderInfoEntity extends BaseEntity{ + /** + * + */ + private static final long serialVersionUID = 1L; + /** + * 会员ID + */ + private Long memberId; + /** + * 头像 + */ + private String avatar; + /** + * 名称 + */ + private String nickname; + /** + * 宣言 + */ + private String declaration; + /** + * 是否满员 1-是2-否 + */ + private Integer isAll; + public static final Integer IS_ALL_Y = 1; + public static final Integer IS_ALL_N = 2; + /** + * 利润 + */ + private BigDecimal profitRatio; + /** + * 审核状态 1通过2不通过3待审核 + */ + private Integer verifyStatus; + public static final Integer VERIFYSTATUS_Y = 1; + public static final Integer VERIFYSTATUS_ING = 2; + public static final Integer VERIFYSTATUS_N = 3; + /** + * 是否开启带单 1是2否 + */ + private Integer isOpen; + public static final Integer ISOPEN_Y = 1; + public static final Integer ISOPEN_N = 2; + + +} diff --git a/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitDetailEntity.java b/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitDetailEntity.java new file mode 100644 index 0000000..a949057 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitDetailEntity.java @@ -0,0 +1,20 @@ +package com.xcong.excoin.modules.documentary.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 交易员收益返利明细 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("follow_trader_profit_detail") +public class FollowTraderProfitDetailEntity extends BaseEntity{/** + * + */ + private static final long serialVersionUID = 1L; + +} 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 d66d8ef..ac019f8 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 @@ -1,11 +1,16 @@ package com.xcong.excoin.modules.documentary.service; +import javax.validation.Valid; + import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity; public interface DocumentaryService extends IService<FollowTraderProfitInfoEntity> { public Result getMemberIsTradeInfo(); + public Result getFollowTraderProfitInfo(@Valid RecordsPageDto recordsPageDto); + } 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 16bf169..c3b99c4 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 @@ -1,19 +1,34 @@ package com.xcong.excoin.modules.documentary.service.impl; +import java.util.List; + import javax.annotation.Resource; +import javax.validation.Valid; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; +import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity; +import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; +import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao; +import com.xcong.excoin.modules.documentary.dao.FollowTraderProfitDetailDao; import com.xcong.excoin.modules.documentary.dao.FollowTraderProfitInfoDao; +import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity; import com.xcong.excoin.modules.documentary.service.DocumentaryService; +import com.xcong.excoin.modules.documentary.vo.FollowTraderProfitInfoVo; import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.entity.MemberEntity; +import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -22,6 +37,12 @@ @Resource private MemberDao memberDao; + @Resource + private FollowTraderInfoDao followTraderInfoDao; + @Resource + private FollowTraderProfitDetailDao followTraderProfitDetailDao; + @Resource + private FollowTraderProfitInfoDao followTraderProfitInfoDao; @Override public Result getMemberIsTradeInfo() { @@ -39,4 +60,31 @@ return Result.ok(memberIsTradeVo); } + @Override + public Result getFollowTraderProfitInfo(@Valid RecordsPageDto recordsPageDto) { + + Page<FollowTraderProfitInfoVo> page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); + FollowTraderProfitInfoEntity memberAccountMoneyChange = new FollowTraderProfitInfoEntity(); + IPage<FollowTraderProfitInfoVo> FollowTraderProfitInfoList = followTraderProfitInfoDao.selectFollowTraderProfitInfoEntity(page, memberAccountMoneyChange); + + List<FollowTraderProfitInfoVo> FollowTraderProfitInfoVoList = FollowTraderProfitInfoList.getRecords(); + if(CollUtil.isNotEmpty(FollowTraderProfitInfoVoList)) { + for(FollowTraderProfitInfoVo FollowTraderProfitInfoVo : FollowTraderProfitInfoVoList) { + Long traderId = FollowTraderProfitInfoVo.getTraderId(); + FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectFollowTraderInfoEntityBytreaderId(traderId); + String avatar = followTraderInfoEntity.getAvatar(); + FollowTraderProfitInfoVo.setAvatar(avatar); + String nickname = followTraderInfoEntity.getNickname(); + FollowTraderProfitInfoVo.setNickname(nickname); + String declaration = followTraderInfoEntity.getDeclaration(); + FollowTraderProfitInfoVo.setDeclaration(declaration); + Integer isAll = followTraderInfoEntity.getIsAll(); + FollowTraderProfitInfoVo.setIsAll(isAll); + Integer isOpen = followTraderInfoEntity.getIsOpen(); + FollowTraderProfitInfoVo.setIsOpen(isOpen); + } + } + return Result.ok(FollowTraderProfitInfoVoList); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoListVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoListVo.java new file mode 100644 index 0000000..d93cfa4 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoListVo.java @@ -0,0 +1,17 @@ +package com.xcong.excoin.modules.documentary.vo; + +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "FollowTraderProfitInfoListVo", description = "交易员列表") +public class FollowTraderProfitInfoListVo { + + @ApiModelProperty(value = "交易员信息") + private List<FollowTraderProfitInfoVo> followTraderProfitInfoVo; + + +} diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java new file mode 100644 index 0000000..44116be --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java @@ -0,0 +1,72 @@ +package com.xcong.excoin.modules.documentary.vo; + +import java.math.BigDecimal; + +import com.xcong.excoin.common.system.base.BaseEntity; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "FollowTraderProfitInfoVo", description = "交易员信息") +public class FollowTraderProfitInfoVo extends BaseEntity{ + + /** + * + */ + private static final long serialVersionUID = 1L; + /** + * 交易员ID + */ + private Long traderId; + /** + * 会员ID + */ + private Long memberId; + /** + * 累计收益率 + */ + private BigDecimal totalProfitRatio; + /** + * 带单总收益 + */ + private BigDecimal totalProfit; + /** + * 跟随者总收益 + */ + private BigDecimal followerTotalProfit; + /** + * 胜率 + */ + private BigDecimal winRate; + /** + * 累计跟随人数 + */ + private BigDecimal totalFollowerCnt; + /** + * 交易笔数 + */ + private BigDecimal totalOrderCnt; + + /** + * 头像 + */ + private String avatar; + /** + * 名称 + */ + private String nickname; + /** + * 宣言 + */ + private String declaration; + /** + * 是否满员 1-是2-否 + */ + private Integer isAll; + /** + * 是否开启带单 1是2否 + */ + private Integer isOpen; + +} diff --git a/src/main/resources/mapper/documentary/FollowTraderInfoDao.xml b/src/main/resources/mapper/documentary/FollowTraderInfoDao.xml new file mode 100644 index 0000000..268e65b --- /dev/null +++ b/src/main/resources/mapper/documentary/FollowTraderInfoDao.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao"> + + <select id="selectFollowTraderInfoEntityBytreaderId" resultType="com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity"> + select * from follow_trader_info where id = #{traderId} + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml b/src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml new file mode 100644 index 0000000..449a3c1 --- /dev/null +++ b/src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.xcong.excoin.modules.documentary.dao.FollowTraderProfitInfoDao"> + + <select id="selectFollowTraderProfitInfoEntity" resultType="com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity"> + select * from follow_trader_profit_info + + order by id desc + </select> + +</mapper> \ No newline at end of file -- Gitblit v1.9.1