Merge branch 'whole_new' of https://gitee.com/chonggaoxiao/new_excoin.git into whole_new
| | |
| | | if (i > 0) { |
| | | memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); |
| | | |
| | | // 全仓爆仓 |
| | | ThreadPoolUtils.sendWholePrice(memberEntity.getId()); |
| | | |
| | | // 发送预估强平价 |
| | | ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); |
| | | // 计算佣金 |
| | |
| | | } else { |
| | | LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买跌持仓", "买跌:" + submitOrderDto.getSymbol()); |
| | | } |
| | | |
| | | // 全仓爆仓 |
| | | ThreadPoolUtils.sendWholePrice(memberEntity.getId()); |
| | | |
| | | // 提交成功 |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0024")); |
| | |
| | | if (i > 0) { |
| | | memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); |
| | | |
| | | // 全仓爆仓 |
| | | ThreadPoolUtils.sendWholePrice(memberEntity.getId()); |
| | | |
| | | // 发送预估强平价 |
| | | ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); |
| | | // 计算佣金 |
| | |
| | | LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买跌持仓", "买跌:" + submitOrderDto.getSymbol()); |
| | | } |
| | | |
| | | // 全仓爆仓 |
| | | ThreadPoolUtils.sendWholePrice(memberEntity.getId()); |
| | | |
| | | // 提交成功 |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0024")); |
| | | } |
| | |
| | | if (CollUtil.isNotEmpty(list)) { |
| | | for (HoldOrderDataModel holdOrderDataModel : list) { |
| | | ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(holdOrderDataModel.getId()); |
| | | if (holdOrderEntity == null) { |
| | | continue; |
| | | } |
| | | |
| | | contractHoldOrderDao.deleteById(holdOrderDataModel.getId()); |
| | | |
| | |
| | | */ |
| | | public static void wholePriceDataOperation(Long memberId) { |
| | | Map<String, WholePriceDataModel> dataModelMap = WholeDataQueue.MAP; |
| | | log.info("操作前:{}", dataModelMap); |
| | | RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); |
| | | |
| | | ContractHoldOrderDao contractHoldOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class); |
| | |
| | | MemberWalletContractDao memberWalletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class); |
| | | |
| | | List<ContractHoldOrderEntity> holdOrders = contractHoldOrderDao.selectHoldOrderListByMemberId(memberId); |
| | | log.info("持仓数量:{}", holdOrders.size()); |
| | | if (CollUtil.isEmpty(holdOrders)) { |
| | | if (dataModelMap.get(memberId.toString()) != null) { |
| | | log.info("平仓后执行"); |
| | | dataModelMap.remove(memberId.toString()); |
| | | |
| | | redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); |
| | |
| | | wholePriceData.setMemberId(memberId); |
| | | |
| | | dataModelMap.put(wholePriceData.getMemberId().toString(), wholePriceData); |
| | | |
| | | redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); |
| | | log.info("dataModelMap为:{}", dataModelMap); |
| | | } |
| | | |
| | | } |
| | |
| | | // 8301.38608660 |
| | | // System.out.println(new BigDecimal("9925.29996175").subtract(new BigDecimal("1623.91387515"))); |
| | | |
| | | BigDecimal aa = new BigDecimal("1623.91387515").subtract(new BigDecimal("0.1").multiply(new BigDecimal(50)).multiply(new BigDecimal("32478.27750300"))); |
| | | BigDecimal aa = new BigDecimal("9925.29996175").subtract(new BigDecimal("8301.38608660").negate()).subtract(new BigDecimal("1623.91387515")).subtract(new BigDecimal("0.1").multiply(new BigDecimal(50)).multiply(new BigDecimal("32478.27750300"))); |
| | | BigDecimal bb = new BigDecimal(50).multiply(new BigDecimal("0.1")); |
| | | BigDecimal divide = aa.divide(bb, 8, BigDecimal.ROUND_DOWN); |
| | | System.out.println(divide); |
| | | // -(账户权益-委托保证金-全仓维持保证金-全仓未实现盈利-数量*面值*开仓价格)/(数量*面值) |
| | | // 30818.00028568 |
| | | // -32153.49472797 |
| | | // 30818.00028568 -- |
| | | // 29157.72306836 -- |
| | | } |
| | | |
| | | } |