From 411814a852dd16cd634b79eceeff5d5aa9483d96 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 05 Jun 2020 16:17:28 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin.git
---
src/main/resources/mapper/contract/ContractOrderDao.xml | 12 +++++++++++-
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 5 ++++-
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java | 2 +-
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 18 +++++++++++++-----
src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java | 4 +++-
src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java | 4 ++++
6 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java
index f3ac561..aaea6dc 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.contract.parameter.dto.OrderListDto;
+import com.xcong.excoin.modules.contract.parameter.vo.OrderListVo;
import org.apache.ibatis.annotations.Param;
/**
@@ -11,7 +13,7 @@
*/
public interface ContractOrderDao extends BaseMapper<ContractOrderEntity> {
- public IPage<ContractOrderEntity> selectContractOrderInPage(Page<ContractOrderEntity> page, Long memberId);
+ public IPage<ContractOrderEntity> selectContractOrderInPage(Page<ContractOrderEntity> page, @Param("record") ContractOrderEntity contractOrderEntity);
public ContractOrderEntity selectOrderDetailByIdAndMemberId(@Param("id") Long id, @Param("memberId") Long memberId);
}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
index 6a35286..d194891 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
@@ -24,4 +24,8 @@
@ApiModelProperty(value = "每页数量", example = "10")
private int pageSize;
+ @NotNull
+ @ApiModelProperty(value = "币种", example = "BTC/USDT")
+ private String symbol;
+
}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
index 7bfdde4..7c1a124 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -168,7 +168,7 @@
MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), MemberWalletCoinEnum.WALLETCOINCODE.getValue());
BigDecimal total = entrustOrderEntity.getEntrustAmount();
- memberWalletContractDao.increaseWalletContractBalanceById(total, null, total.negate(), walletContractEntity.getId());
+ memberWalletContractDao.increaseWalletContractBalanceById(total, null, entrustOrderEntity.getBondAmount().negate(), walletContractEntity.getId());
ContractOrderEntity orderEntity = ContractEntrustOrderEntityMapper.INSTANCE.entrustOrderToOrder(entrustOrderEntity);
orderEntity.setTradeType(ContractOrderEntity.TRADE_TYPE_MARK_PRICE);
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
index d1853f2..7a7014c 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -542,7 +542,10 @@
public Result findOrderList(OrderListDto orderListDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
Page<ContractOrderEntity> page = new Page<>(orderListDto.getPageNum(), orderListDto.getPageSize());
- IPage<ContractOrderEntity> list = contractOrderDao.selectContractOrderInPage(page, memberEntity.getId());
+ ContractOrderEntity contractOrderEntity = new ContractOrderEntity();
+ contractOrderEntity.setMemberId(memberEntity.getId());
+ contractOrderEntity.setSymbol(orderListDto.getSymbol());
+ IPage<ContractOrderEntity> list = contractOrderDao.selectContractOrderInPage(page, contractOrderEntity);
Page<OrderListVo> result = ContractOrderEntityMapper.INSTANCE.pageEntityToPageVo(list);
return Result.ok(result);
}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
index fdbcec5..21a2833 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -191,14 +191,14 @@
BigDecimal totalReturn = BigDecimal.ZERO;
contractOrderService.save(contractOrderEntity);
- contractEntrustOrderService.removeById(order.getId());
+ contractHoldOrderService.removeById(order.getId());
// 将需要退回的减去手续费
BigDecimal needReturn = prePrice.add(profitLossPrice);
//总退回金额=保证金+收益-手续费
totalReturn = needReturn.subtract(contractOrderEntity.getClosingFeeAmount());
// 总的是收益-平仓手续费
BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount());
- memberWalletContractService.increaseWalletContractBalanceById(totalBalance, totalReturn, null, wallet.getId());
+ memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId());
// 流水记录 TODO 531e
insertAccountFlow(order, wallet, profitLossPrice, "止盈平仓");
@@ -287,7 +287,7 @@
// 更新钱包
// 总的是收益-平仓手续费
BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount());
- memberWalletContractService.increaseWalletContractBalanceById(totalBalance, totalReturn, null, wallet.getId());
+ memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId());
insertAccountFlow(order, wallet, profitLossPrice, "止盈平仓");
@@ -369,14 +369,19 @@
contractOrderEntity.setClosingType(8);
BigDecimal totalReturn = BigDecimal.ZERO;
contractOrderService.save(contractOrderEntity);
+
+ contractHoldOrderService.removeById(order.getId());
+ log.info("保证金:{}", prePrice);
+ log.info("盈亏:{}", profitLossPrice);
// 将需要退回的减去手续费
BigDecimal needReturn = prePrice.add(profitLossPrice);
+ log.info("退回的钱:{}", needReturn);
//总退回金额=保证金+收益-手续费
totalReturn = needReturn.subtract(contractOrderEntity.getClosingFeeAmount());
// 更新钱包
// 总的是收益-平仓手续费
BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount());
- memberWalletContractService.increaseWalletContractBalanceById(totalBalance, totalReturn, null, wallet.getId());
+ memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId());
insertAccountFlow(order, wallet, profitLossPrice, "开多止损平仓");
@@ -456,6 +461,9 @@
contractOrderEntity.setClosingType(9);
BigDecimal totalReturn = BigDecimal.ZERO;
contractOrderService.save(contractOrderEntity);
+
+ contractHoldOrderService.removeById(order.getId());
+
// 将需要退回的减去手续费
BigDecimal needReturn = prePrice.add(profitLossPrice);
//总退回金额=保证金+收益-手续费
@@ -463,7 +471,7 @@
// 更新钱包
// 总的是收益-平仓手续费
BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount());
- memberWalletContractService.increaseWalletContractBalanceById(totalBalance, totalReturn, null, wallet.getId());
+ memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId());
insertAccountFlow(order, wallet, profitLossPrice, "开空止损平仓");
diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml
index 4ad5cbc..fc31d0e 100644
--- a/src/main/resources/mapper/contract/ContractOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractOrderDao.xml
@@ -4,7 +4,17 @@
<select id="selectContractOrderInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
- select * from contract_order where member_id=#{memberId}
+ select * from contract_order
+ <if test="record != null">
+ <where>
+ <if test="record.memberId != null" >
+ and member_id=#{record.memberId}
+ </if>
+ <if test="record.symbol != null and record.symbol != ''">
+ and symbol = #{record.symbol}
+ </if>
+ </where>
+ </if>
order by create_time desc
</select>
--
Gitblit v1.9.1