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) {