xiaoyong931011
2021-03-23 f91bfc50f9e933c4fb66e092f738cfc22eb87bb0
20210323  后台保留两位小数,(平台数据除外)
16 files modified
2 files added
187 ■■■■■ changed files
src/main/java/com/xcong/excoin/common/utils/BigDecimalSerialize.java 31 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/utils/DoubleTwoSerializer.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/dataMonitoring/entity/DataMonitoringEntity.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowFollowerProfitEntity.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitInfoEntity.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/SeeFollowerInfoVo.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletCoinEntity.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/vo/MemberInfoDetailVo.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/trademanage/vo/PositionSettingVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/ContractOrderMapper.xml 4 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/utils/BigDecimalSerialize.java
New file
@@ -0,0 +1,31 @@
package com.xcong.excoin.common.utils;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.math.BigDecimal;
/**
 * BigDecimal保留两位小数
 *
 */
public class BigDecimalSerialize extends JsonSerializer<BigDecimal> {
    @Override
    public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        if (value != null && !"".equals(value)) {
            gen.writeString(((BigDecimal) value).setScale(2, BigDecimal.ROUND_HALF_DOWN) + "");
        } else {
            gen.writeString(value + "");
        }
    }
}
src/main/java/com/xcong/excoin/common/utils/DoubleTwoSerializer.java
New file
@@ -0,0 +1,36 @@
package com.xcong.excoin.common.utils;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.text.DecimalFormat;
/**
 * Double保留两位小数
 *
 */
public class DoubleTwoSerializer extends JsonSerializer<Double> {
    private DecimalFormat df = new DecimalFormat("0.00");
    /**
     * 小数保留2位返回给前端序列化器
     * @param data
     * @param jsonGenerator
     * @param serializerProvider
     * @throws IOException
     */
    @Override
    public void serialize(Double data, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
            throws IOException {
        if (data != null) {
            if (data == 0) {
                jsonGenerator.writeString("0");
            } else {
                jsonGenerator.writeString(df.format(data));
            }
        }
    }
}
src/main/java/com/xcong/excoin/modules/dataMonitoring/entity/DataMonitoringEntity.java
@@ -8,6 +8,8 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -41,6 +43,7 @@
    /**
     * 总盈亏
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal reward;
    /**
     *不符合条件的订单数量
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowFollowerProfitEntity.java
@@ -3,7 +3,9 @@
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@Data
@@ -32,10 +34,12 @@
    /**
     * 累计跟随本金
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalPrincipal;
    /**
     * 累计收益
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalProfit;
    /**
     * 是否跟随 1-是 2-否
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java
@@ -6,7 +6,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -54,6 +56,7 @@
    /**
     * 利润
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal profitRatio;
    /**
     * 审核状态 1通过2不通过3待审核
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitInfoEntity.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -27,26 +29,32 @@
    /**
     * 累计收益率
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalProfitRatio;
    /**
     * 带单总收益
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalProfit;
    /**
     * 跟随者总收益
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal followerTotalProfit;
    /**
     * 胜率
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal winRate;
    /**
     * 累计跟随人数
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalFollowerCnt;
    /**
     * 交易笔数
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalOrderCnt;
    @TableField(exist = false)
src/main/java/com/xcong/excoin/modules/documentary/vo/SeeFollowerInfoVo.java
@@ -2,6 +2,9 @@
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@@ -16,8 +19,10 @@
    //邀请码
    private String inviteId;
    //合约账户总资产
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal contractTotal;
    //总返利
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal profitTotal;
    //姓名
    public String realName;
src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java
@@ -6,7 +6,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -42,6 +44,7 @@
    /**
     * 金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal amount;
    /**
     * 记录内容
src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletCoinEntity.java
@@ -3,7 +3,9 @@
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -22,16 +24,19 @@
    /**
     * 可用余额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal availableBalance;
    /**
     * 总金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal totalBalance;
    /**
     * 冻结金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal frozenBalance;
    /**
src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java
@@ -1,5 +1,8 @@
package com.xcong.excoin.modules.member.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.utils.DoubleTwoSerializer;
import lombok.Data;
@Data
public class MemberDataInfoVo {
@@ -15,20 +18,28 @@
    private String walletCoinNum;//合约余额
    private String agentNum;//代理账户余额
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double avalableCoin;//币币可用
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double totalCoin;//总资产
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double avalableContract;//合约可用
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double totalContract;//合约总
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double chargeUsdt;//充值USDT
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double appealUsdt;//提现USDT
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double chargeCoin;//充币
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double appealCoin;//提币
    
    private String fee;//佣金
@@ -41,6 +52,7 @@
    
    private String yingkui;
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double allCoin;
src/main/java/com/xcong/excoin/modules/member/vo/MemberInfoDetailVo.java
@@ -1,36 +1,53 @@
package com.xcong.excoin.modules.member.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.utils.DoubleTwoSerializer;
import lombok.Data;
@Data
public class MemberInfoDetailVo {
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double walletCoinNum;//币币余额
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double agentNum;//代理账户余额
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double fee;//佣金
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double totalCoin;//总资产剩余
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double avalableContract;//合约可用余额
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double totalContract;//合约总余额
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double chargeUsdt;//充值USDT
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double appealUsdt;//提现USDT
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double chargeCoin;//充币
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double appealCoin;//提币
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double platformProfitAndLoss;//总盈亏
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double closingPrice;//开仓费
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double sellClosingPrice;//平仓费
    
    @JsonSerialize(using = DoubleTwoSerializer.class)
    private double doingPrice;//持仓费
    
}
src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -50,20 +52,26 @@
    private int orderType;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal closingFeeAmount;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal holdingFeeAmount;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal openingFeeAmount;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal returnAmount;
    private Long refererId;
    private String inviteId;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal returnRatio;
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal childReturnRatio;
    /**
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -94,6 +96,7 @@
    /**
     * 开仓价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal openingPrice;
    /**
@@ -111,11 +114,13 @@
    /**
     * 开仓手续费
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal openingFeeAmount;
    /**
     * 保证金
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal bondAmount;
    /**
@@ -126,31 +131,37 @@
    /**
     * 市场价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal markPrice;
    /**
     * 止损价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal stopLossPrice;
    /**
     * 止盈价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal stopProfitPrice;
    /**
     * 预付款金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal prePaymentAmount;
    
    /**
     * 持仓费
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal holdAmount;
    /**
     * 预估强平价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal forceClosingPrice;
    private int operateNo;
@@ -191,6 +202,7 @@
     * 系统盈亏
     */
    @TableField(exist = false)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal rewardRatio;
    /**
     * 姓名
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java
@@ -5,10 +5,13 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import lombok.Data;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
@Data
@TableName("contract_order")
public class ContractOrderEntity extends BaseEntity {/**
@@ -89,6 +92,7 @@
    /**
     * 委托开仓价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal entrustOpeningPrice;
    /**
@@ -114,11 +118,13 @@
    /**
     * 平仓价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal closingPrice;
    /**
     * 平仓手续费
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal closingFeeAmount;
    /**
@@ -144,31 +150,39 @@
    /**
     * 止损价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal stopLossPrice;
    /**
     * 止盈价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal stopProfitPrice;
    /**
     * 盈亏金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal rewardAmount;
    /**
     * 盈亏比例
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal rewardRatio;
    /**
     * 开仓价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal openingPrice;
    /**
     * 开仓手续费
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal openingFeeAmount;
    private Date openingTime;
@@ -176,26 +190,32 @@
    /**
     * 预付款金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal prePaymentAmount;
    /**
     * 保证金
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal bondAmount;
    /**
     * 市场价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal markPrice;
    /**
     * 预估强平价
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal forceClosingPrice;
    /**
     * 持仓费
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal holdAmount;
    private int operateNo;
src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java
@@ -3,7 +3,9 @@
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -26,30 +28,37 @@
    /**
     * 币币可用金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletCoinAvailableBalance;
    /**
     * 币币总金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletCoinTotalBalance;
    /**
     * 币币冻结金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletCoinFrozenBalance;
    /**
     * 合约可用金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletAvailableBalance;
    /**
     * 合约总金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletTotalBalance;
    /**
     * 合约冻结金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal walletFrozenBalance;
    /**
     *总盈亏
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal rewardratioByMid;
    /**
     * 是否是代理
@@ -59,6 +68,7 @@
    /**
     * 代理可用金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal agentAvailableBalance;
    
    /**
src/main/java/com/xcong/excoin/modules/trademanage/vo/PositionSettingVo.java
@@ -2,7 +2,9 @@
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xcong.excoin.common.entity.BaseEntity;
import com.xcong.excoin.common.utils.BigDecimalSerialize;
import lombok.Data;
@@ -44,6 +46,7 @@
    /**
     * 当前持仓总盈亏
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal sumRewardAmount;
}
src/main/resources/mapper/modules/ContractOrderMapper.xml
@@ -167,10 +167,12 @@
    <select id="findMemberHistoryOrderInfoInPage" resultType="com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity">
        SELECT
            *
               *,
        CONCAT(b.first_name, b.second_name) realName
        FROM
            contract_order s
        LEFT JOIN member m ON m.id = s.member_id
        LEFT JOIN member_authentication b ON m.id = b.member_id
        <where>
        s.closing_type in (2,3,4,5,6,7,8,9)
            <if test="record != null" >
src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html
@@ -110,6 +110,7 @@
                cols: [[
                    {field: 'phone', title: '手机号', minWidth: 120,align:'left',totalRowText: '合计'},
                    {field: 'inviteId', title: '邀请码UID', minWidth: 120,align:'center'},
                    {field: 'realName', title: '真实姓名', minWidth: 120,align:'center'},
                    {field: 'contractType', title: '合约类型',
                        templet: function (d) {
                            if (d.contractType === 1) {