Helius
2020-07-31 829d77f7145514d67d957ad54dbef854440f77d3
fix conflect
1 files added
8 files modified
145 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java 7 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java 65 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java 10 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml 16 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/controller/DocumentaryController.java
@@ -40,7 +40,7 @@
@RestController
@Slf4j
@RequestMapping(value = "/api/documentary")
@Api(value = "MemberQuickBuySaleController", tags = "跟单")
@Api(value = "DocumentaryController", tags = "跟单---跟随者")
public class DocumentaryController {
    
    @Resource
src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java
New file
@@ -0,0 +1,34 @@
package com.xcong.excoin.modules.documentary.controller;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
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.documentary.service.DocumentaryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
@RequestMapping(value = "/api/trader")
@Api(value = "TraderController", tags = "跟单---交易员")
public class TraderController {
    @Resource
    DocumentaryService documentaryService;
    /**
     *  成为交易员---立即入驻
     */
    @ApiOperation(value="成为交易员---立即入驻", notes="成为交易员---立即入驻")
    @GetMapping(value = "/beTrader")
    public Result  beTrader() {
        return documentaryService.beTrader();
    }
}
src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerOrderRelationDao.java
@@ -4,10 +4,15 @@
import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity;
import io.lettuce.core.dynamic.annotation.Param;
import io.lettuce.core.dynamic.annotation.Param;
/**
 * @author helius
 */
public interface FollowFollowerOrderRelationDao extends BaseMapper<FollowFollowerOrderRelationEntity> {
    Integer selectFollowerHoldingSymbolCnt(@Param("tradeMemberId") Long tradeMemberId, @Param("memberId") Long memberId);
    FollowFollowerOrderRelationEntity selectHistoryOneByorderId(@Param("orderId")Long orderId);
    FollowFollowerOrderRelationEntity selectNowOneByorderId(@Param("orderId")Long orderId);
}
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java
@@ -19,6 +19,9 @@
     * 
     */
    private static final long serialVersionUID = 1L;
    public static final String AVATAR_DEFAULT = "测试图片地址";
    public static final String DECLARATION_DEFAULT = "正忙着赚钱,什么也没写";
     /**
     * 会员ID
     */
@@ -50,8 +53,8 @@
     */
    private Integer verifyStatus;
    public static final Integer VERIFYSTATUS_Y = 1;
    public static final Integer VERIFYSTATUS_ING = 2;
    public static final Integer VERIFYSTATUS_N = 3;
    public static final Integer VERIFYSTATUS_N = 2;
    public static final Integer VERIFYSTATUS_ING = 3;
    /**
     * 是否开启带单 1是2否
     */
src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java
@@ -44,4 +44,6 @@
    public Result getFollowTraderProfit(long traderId);
    public Result beTrader();
}
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -10,6 +10,7 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import org.apache.http.impl.NoConnectionReuseStrategy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,6 +24,7 @@
import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao;
import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerOrderRelationDao;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerSettingDao;
import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao;
@@ -35,6 +37,7 @@
import com.xcong.excoin.modules.documentary.dto.MyFollowOrderDto;
import com.xcong.excoin.modules.documentary.dto.MyFollowTraderInfoDto;
import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerSettingEntity;
import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
@@ -94,6 +97,8 @@
    private MemberWalletContractDao memberWalletContractDao;
    @Resource
    private FollowFollowerSettingDao followFollowerSettingDao;
    @Resource
    private FollowFollowerOrderRelationDao followFollowerOrderRelationDao;
    
    
    @Override
@@ -241,8 +246,7 @@
    public Result getHistoryMyFollowOrderRecords(@Valid MyFollowOrderDto myFollowOrderDto) {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        Page<MyFollowOrderVo> result = new Page<>();
        List<MyFollowOrderVo> myFollowOrderVos = result.getRecords();
        List<MyFollowOrderVo> myFollowOrderVos = new ArrayList<>();
        //历史跟单
            Page<ContractOrderEntity> page = new Page<>(myFollowOrderDto.getPageNum(), myFollowOrderDto.getPageSize());
            IPage<ContractOrderEntity> contractOrderEntitys = followFollowerProfitDao.getMyFollowOrderHistoryRecords(page, memberId);
@@ -251,6 +255,14 @@
            if(CollUtil.isNotEmpty(records)) {
                for(ContractOrderEntity contractOrderEntity : records) {
                    MyFollowOrderVo myFollowOrderVo = new MyFollowOrderVo();
                    //获取交易员信息
                    Long orderId = contractOrderEntity.getId();
                    FollowFollowerOrderRelationEntity FollowFollowerOrderRelation = followFollowerOrderRelationDao.selectHistoryOneByorderId(orderId);
                    Long tradeId = FollowFollowerOrderRelation.getTradeId();
                    FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId);
                    String nickname = followTraderInfoEntity.getNickname();
                    myFollowOrderVo.setNickname(nickname);
                    String symbol = contractOrderEntity.getSymbol();
                    myFollowOrderVo.setSymbol(symbol);
                    int orderType = contractOrderEntity.getOrderType();
@@ -287,8 +299,7 @@
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        MemberEntity member = memberDao.selectById(memberId);
        
        Page<MyFollowOrderVo> result = new Page<>();
        List<MyFollowOrderVo> myFollowOrderVos = result.getRecords();
        List<MyFollowOrderVo> myFollowOrderVos = new ArrayList<>();
            //当前跟单    
            Page<ContractHoldOrderEntity> page = new Page<>(myFollowOrderDto.getPageNum(), myFollowOrderDto.getPageSize());
            IPage<ContractHoldOrderEntity> contractHoldOrderEntitys = followFollowerProfitDao.getMyFollowOrderNowRecords(page, memberId);
@@ -297,6 +308,14 @@
            if(CollUtil.isNotEmpty(records)) {
                for(ContractHoldOrderEntity contractHoldOrderEntity : records) {
                    MyFollowOrderVo myFollowOrderVo = new MyFollowOrderVo();
                    //获取交易员信息
                    Long orderId = contractHoldOrderEntity.getId();
                    FollowFollowerOrderRelationEntity FollowFollowerOrderRelation = followFollowerOrderRelationDao.selectNowOneByorderId(orderId);
                    Long tradeId = FollowFollowerOrderRelation.getTradeId();
                    FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId);
                    String nickname = followTraderInfoEntity.getNickname();
                    myFollowOrderVo.setNickname(nickname);
                    String symbol = contractHoldOrderEntity.getSymbol();
                    myFollowOrderVo.setSymbol(symbol);
                    int orderType = contractHoldOrderEntity.getOpeningType();
@@ -316,6 +335,8 @@
                    
                    // 获取最新价
                    BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
                    myFollowOrderVo.setNewPrice(newPrice);
                    BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(contractHoldOrderEntity.getSymbol());
                    // 盈亏
                    BigDecimal rewardRatio = BigDecimal.ZERO;
@@ -353,9 +374,7 @@
    public Result getMyFollowTraderInfo(@Valid MyFollowTraderInfoDto myFollowTraderInfoDto) {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        Page<MyFollowTraderInfoVo> result = new Page<>();
        List<MyFollowTraderInfoVo> myFollowOrderVos = result.getRecords();
        List<MyFollowTraderInfoVo> myFollowOrderVos = new ArrayList<>();
        
        Page<FollowFollowerProfitEntity> page = new Page<>(myFollowTraderInfoDto.getPageNum(), myFollowTraderInfoDto.getPageSize());
        IPage<FollowFollowerProfitEntity> followFollowerProfitEntitys = followFollowerProfitDao.selectFollowFollowerProfitEntitys(page, memberId);
@@ -377,7 +396,7 @@
                myFollowOrderVos.add(myFollowTraderInfoVo);
            }
        }
        return Result.ok(result);
        return Result.ok(myFollowOrderVos);
    }
    @Override
@@ -531,6 +550,36 @@
        return Result.ok(followTraderProfitInfoVo);
    }
    
    @Override
    @Transactional
    public Result beTrader() {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        MemberEntity memberEntity = memberDao.selectById(memberId);
        Integer certifyStatus = memberEntity.getCertifyStatus();
        if(MemberEntity.CERTIFY_STATUS_Y != certifyStatus) {
            return Result.ok(MessageSourceUtils.getString("member_controller_0009"));
        }
        //新增【交易员信息表】数据
        FollowTraderInfoEntity followTraderInfoEntity = new FollowTraderInfoEntity();
        followTraderInfoEntity.setMemberId(memberId);
        followTraderInfoEntity.setAvatar(FollowTraderInfoEntity.AVATAR_DEFAULT);
        String phone = memberEntity.getPhone();
        String email = memberEntity.getEmail();
        if(StrUtil.isNotEmpty(phone)) {
            followTraderInfoEntity.setNickname(phone);
        }else {
            followTraderInfoEntity.setNickname(email);
        }
        followTraderInfoEntity.setDeclaration(FollowTraderInfoEntity.DECLARATION_DEFAULT);
        followTraderInfoEntity.setIsAll(FollowTraderInfoEntity.IS_ALL_N);
        followTraderInfoEntity.setProfitRatio(BigDecimal.ZERO);
        followTraderInfoEntity.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_ING);
        followTraderInfoEntity.setIsOpen(FollowTraderInfoEntity.ISOPEN_Y);
        followTraderInfoDao.insert(followTraderInfoEntity);
        return Result.ok(MessageSourceUtils.getString("member_service_0024"));
    }
    
    
    
src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java
@@ -31,14 +31,17 @@
    @ApiModelProperty("盈亏金额")
    private BigDecimal rewardAmount;
    
    @ApiModelProperty("张数")
    @ApiModelProperty("盈亏比例")
    private BigDecimal rewardRatio;
    
    @ApiModelProperty("盈亏比例")
    @ApiModelProperty("张数")
    private int symbolCnt;
    
    @ApiModelProperty("保证金")
    private BigDecimal bondAmount;
    @ApiModelProperty("当前价")
    private BigDecimal newPrice;
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("开仓时间")
@@ -51,4 +54,7 @@
    @ApiModelProperty("订单编号")
    private String orderNo;
    
    @ApiModelProperty("交易员")
    private String nickname;
}
src/main/resources/mapper/documentary/FollowFollowerOrderRelationDao.xml
@@ -10,4 +10,20 @@
        where a.order_id=b.id and a.order_type=1 and a.trade_member_id=#{tradeMemberId}
        and a.member_id=#{memberId}
    </select>
    <select id="selectHistoryOneByorderId" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity">
        SELECT
            *
        FROM
            follow_follower_order_relation
        WHERE order_id = #{orderId} and order_type = 2
    </select>
    <select id="selectNowOneByorderId" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity">
        SELECT
            *
        FROM
            follow_follower_order_relation
        WHERE order_id = #{orderId} and order_type = 1
    </select>
</mapper>
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml
@@ -40,7 +40,7 @@
            and contract_type = 2
            and order_type in (3,4)
            and closing_type not in (4,5)
        order by opening_time desc
        order by create_time desc
    </select>
    <select id="getMyFollowOrderNowRecords" resultType="com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity">
        SELECT
@@ -50,7 +50,7 @@
        WHERE 
            member_id = #{memberId} 
            and contract_type = 2
        order by opening_time desc
        order by create_time desc
    </select>
    
    <select id="getFollowOrderNowRecords" resultType="com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity">