xiaoyong931011
2021-03-04 745689516004069d6bac6a5d13f3119f58459e46
Merge branch 'whole_new' of http://120.27.238.55:7000/r/exchange into whole_new
3 files modified
45 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -287,7 +287,43 @@
        }else {
            followInfoVo.setNickname(phone);
        }
        List<ContractHoldOrderEntity> myFollowOrder = followFollowerProfitDao.getFollowOrderNowRecords(memberId);
        BigDecimal totalBondAmount = BigDecimal.ZERO;
        BigDecimal profitOrLess = BigDecimal.ZERO;
        if (CollUtil.isNotEmpty(myFollowOrder)) {
            for(ContractHoldOrderEntity contractHoldOrderEntity : myFollowOrder) {
                BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
                BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(contractHoldOrderEntity.getSymbol());
                // 盈亏
                BigDecimal rewardRatio = BigDecimal.ZERO;
                // 开多
                if (contractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
                    // (最新价-开仓价)*规格*张数
                    rewardRatio = newPrice.subtract(contractHoldOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
                    // 开空
                } else {
                    // (开仓价-最新价)*规格*张数
                    rewardRatio = contractHoldOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
                }
                if (member.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
                    PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
                    if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
                        rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
                    }
                }
                profitOrLess = profitOrLess.add(rewardRatio).setScale(2, BigDecimal.ROUND_DOWN);
                totalBondAmount = totalBondAmount.add(contractHoldOrderEntity.getBondAmount()).setScale(2, BigDecimal.ROUND_DOWN);
            }
        }
        followInfoVo.setTotalAmount(totalBondAmount);
        followInfoVo.setTotalProfitOrLess(profitOrLess);
        BigDecimal totalPrincipals =  BigDecimal.ZERO;
        BigDecimal totalProfits =  BigDecimal.ZERO;
        Map<String, Object> columnMap = new HashMap<>();
src/main/java/com/xcong/excoin/modules/documentary/vo/FollowInfoVo.java
@@ -35,5 +35,11 @@
     */
    @ApiModelProperty(value = "累计收益")
    private BigDecimal totalProfit;
    @ApiModelProperty(value = "总金额")
    private BigDecimal totalAmount;
    @ApiModelProperty(value = "未实现盈亏")
    private BigDecimal totalProfitOrLess;
    
}
src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml
@@ -82,7 +82,6 @@
        WHERE 
            member_id = #{memberId} 
            and contract_type = 2
        order by opening_time desc
    </select>
    
    <select id="selectDocumentaryOrderSetInfoBymemberIdAndTradeId" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity">