From 6228d5761a6c542df4b47e6574ed9a32ff854a65 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 07 Jul 2020 21:59:20 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java | 9 +++++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 9 +++++---- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 8 ++++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java | 6 +++--- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 4 ++-- 5 files changed, 27 insertions(+), 9 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 76e3b48..8f45c7e 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 @@ -127,12 +127,12 @@ 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)); - LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), entrustTotalAmount, walletContract.getTotalBalance(), submitEntrustDto.getSymbol(), "买涨持仓", "买涨:" + submitEntrustDto.getSymbol()); + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), entrustTotalAmount, walletContract.getAvailableBalance().subtract(entrustTotalAmount), submitEntrustDto.getSymbol(), "委托买涨", "买涨:" + submitEntrustDto.getSymbol()); } else { 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)); - LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), entrustTotalAmount, walletContract.getTotalBalance(), submitEntrustDto.getSymbol(), "买跌持仓", "买跌:" + submitEntrustDto.getSymbol()); + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), entrustTotalAmount, walletContract.getAvailableBalance().subtract(entrustTotalAmount), submitEntrustDto.getSymbol(), "委托买跌", "买跌:" + submitEntrustDto.getSymbol()); } return Result.ok(MessageSourceUtils.getString("result_success_msg")); @@ -181,7 +181,7 @@ contractEntrustOrderDao.deleteById(entrustOrderEntity.getId()); // 插入财务流水 - LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), total, walletContractEntity.getTotalBalance(), entrustOrderEntity.getSymbol(), "撤销委托单", "撤销委托单"); + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), total, walletContractEntity.getAvailableBalance().add(total), entrustOrderEntity.getSymbol(), "撤销委托单", "撤销委托单"); if (i > 0) { return Result.ok(MessageSourceUtils.getString("cancellation_success")); } 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 309274f..508ff9e 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 @@ -165,10 +165,18 @@ contractOrderEntity.setOpeningTime(new Date()); contractHoldOrderDao.insert(holdOrderEntity); int i = contractOrderDao.insert(contractOrderEntity); + if (i > 0) { memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); // 计算佣金 ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getOpeningFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_OPEN); + + // 插入财务流水 + if (submitOrderDto.getOrderType() == ContractHoldOrderEntity.OPENING_TYPE_MORE) { + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买涨持仓", "买涨:" + submitOrderDto.getSymbol()); + } else { + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买跌持仓", "买跌:" + submitOrderDto.getSymbol()); + } return Result.ok("提交成功"); } return Result.fail("提交失败"); diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java index f33a5ab..842cef8 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java @@ -16,10 +16,7 @@ import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; -import com.xcong.excoin.utils.CacheSettingUtils; -import com.xcong.excoin.utils.CoinTypeConvert; -import com.xcong.excoin.utils.RedisUtils; -import com.xcong.excoin.utils.ThreadPoolUtils; +import com.xcong.excoin.utils.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -138,6 +135,10 @@ // 计算盈利或亏损后可用金额和总金额应该增加或减少的 BigDecimal addMoney = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()).add(profitOrLoss); memberWalletContractDao.increaseWalletContractBalanceById(addMoney, profitOrLoss.subtract(contractOrderEntity.getOpeningFeeAmount()), null, walletContract.getId()); + + // 流水 + LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), addMoney, walletContract.getAvailableBalance().add(addMoney), holdOrderEntity.getSymbol(), "平仓", "平仓"); + // 计算佣金 ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getClosingFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_CLOSE); } diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java index ebbd0e5..2389e94 100644 --- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java +++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java @@ -46,6 +46,15 @@ public static final Integer ACCOUNT_TYPE_EMAIL = 2; /** + * 正常账号 + */ + public static final Integer ACCOUNT_TYPE_NORMAL = 1; + /** + * 测试账号 + */ + public static final Integer ACCOUNT_TYPE_TEST = 2; + + /** * 实名认证 审核通过 */ public static final Integer CERTIFY_STATUS_Y = 2; diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 3501806..95527f3 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -149,7 +149,7 @@ member.setRefererId(registerDto.getRefererId()); member.setAccountStatus(MemberEntity.ACCOUNT_STATUS_ENABLE); - member.setAccountType(registerDto.getType()); + member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL); member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL); member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT); member.setIsForce(0); @@ -223,7 +223,7 @@ memberLevelRateDao.insert(levelRate); } - return Result.ok(MessageSourceUtils.getString("member_service_0048")); + return Result.ok(MessageSourceUtils.getString("home_service_0009")); } @Override -- Gitblit v1.9.1