From 1d1c0022e05ffacfe1733561951070df888a4a03 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 06 Jul 2020 15:59:16 +0800
Subject: [PATCH] 20200706 代码提交
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)
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 3b30010..ec0f4b3 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
@@ -92,7 +92,7 @@
PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
// 保证金计算 -- 建仓价X规格X手数X(1/杠杆倍率)
- BigDecimal bondAmount = submitEntrustDto.getEntrustPrice().multiply(lotNumber).multiply((BigDecimal.ONE.divide(BigDecimal.valueOf(submitEntrustDto.getLeverRatio()), 8, BigDecimal.ROUND_DOWN)));
+ BigDecimal bondAmount = submitEntrustDto.getEntrustPrice().multiply(lotNumber).multiply(new BigDecimal(submitEntrustDto.getSymbolCnt())).multiply((BigDecimal.ONE.divide(BigDecimal.valueOf(submitEntrustDto.getLeverRatio()), 8, BigDecimal.ROUND_DOWN)));
// 开仓手续费 建仓价*规格*手数*手续费率
BigDecimal openFeePrice = submitEntrustDto.getEntrustPrice().multiply(lotNumber)
@@ -121,17 +121,15 @@
int i = contractEntrustOrderDao.insert(entrustOrderEntity);
- walletContract.setFrozenBalance(walletContract.getFrozenBalance().add(entrustTotalAmount));
- walletContract.setAvailableBalance(walletContract.getAvailableBalance().subtract(entrustTotalAmount));
- memberWalletContractDao.updateById(walletContract);
+ memberWalletContractDao.increaseWalletContractBalanceById(entrustTotalAmount.negate(), null, entrustOrderEntity.getBondAmount(), walletContract.getId());
if (i > 0) {
// 发送委托单队列消息
if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE) {
- OrderModel model = new OrderModel(entrustOrderEntity.getId(), RabbitPriceTypeEnum.ENTRUST_OPEN_MORE.getValue(), submitEntrustDto.getEntrustPrice().toPlainString(), submitEntrustDto.getSymbol());
+ OrderModel model = new OrderModel(entrustOrderEntity.getId(), RabbitPriceTypeEnum.ENTRUST_OPEN_MORE.getValue(), submitEntrustDto.getEntrustPrice().setScale(8, RoundingMode.HALF_UP).toPlainString(), submitEntrustDto.getSymbol());
producer.sendPriceOperate(JSONObject.toJSONString(model));
} else {
- OrderModel model = new OrderModel(entrustOrderEntity.getId(), RabbitPriceTypeEnum.ENTRUST_OPEN_LESS.getValue(), submitEntrustDto.getEntrustPrice().toPlainString(), submitEntrustDto.getSymbol());
+ OrderModel model = new OrderModel(entrustOrderEntity.getId(), RabbitPriceTypeEnum.ENTRUST_OPEN_LESS.getValue(), submitEntrustDto.getEntrustPrice().setScale(8, RoundingMode.HALF_UP).toPlainString(), submitEntrustDto.getSymbol());
producer.sendPriceOperate(JSONObject.toJSONString(model));
}
return Result.ok("委托成功");
@@ -149,9 +147,9 @@
}
@Override
- public Result findEntrustOrderList() {
+ public Result findEntrustOrderList(String symbol) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
- List<ContractEntrustOrderEntity> list = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
+ List<ContractEntrustOrderEntity> list = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol);
List<ContractEntrustVo> resultList = ContractEntrustOrderEntityMapper.INSTANCE.entityListToVoList(list);
return Result.ok(resultList);
}
@@ -170,13 +168,11 @@
MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), MemberWalletCoinEnum.WALLETCOINCODE.getValue());
BigDecimal total = entrustOrderEntity.getEntrustAmount();
- walletContractEntity.setAvailableBalance(walletContractEntity.getAvailableBalance().add(total));
- walletContractEntity.setFrozenBalance(walletContractEntity.getFrozenBalance().subtract(total));
- memberWalletContractDao.updateById(walletContractEntity);
+ memberWalletContractDao.increaseWalletContractBalanceById(total, null, entrustOrderEntity.getBondAmount().negate(), walletContractEntity.getId());
ContractOrderEntity orderEntity = ContractEntrustOrderEntityMapper.INSTANCE.entrustOrderToOrder(entrustOrderEntity);
orderEntity.setTradeType(ContractOrderEntity.TRADE_TYPE_MARK_PRICE);
- orderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CANCEL);
+ orderEntity.setOrderStatus(ContractOrderEntity.ORDER_STATUS_CANCEL);
int i = contractOrderDao.insert(orderEntity);
contractEntrustOrderDao.deleteById(entrustOrderEntity.getId());
--
Gitblit v1.9.1