| | |
| | | package com.xcong.excoin.modules.contract.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.xcong.excoin.common.contants.AppContants; |
| | |
| | | MemberEntity memberEntity = memberDao.selectById(wholePriceData.getMemberId()); |
| | | List<HoldOrderDataModel> list = wholePriceData.getList(); |
| | | if (CollUtil.isNotEmpty(list)) { |
| | | String batchNo = IdUtil.randomUUID(); |
| | | for (HoldOrderDataModel holdOrderDataModel : list) { |
| | | ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(holdOrderDataModel.getId()); |
| | | if (holdOrderEntity == null) { |
| | | log.info("持仓不存在:{}", holdOrderDataModel.getId()); |
| | | redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId()); |
| | | continue; |
| | | } |
| | | |
| | |
| | | contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); |
| | | } |
| | | contractOrderEntity.setClosingTime(new Date()); |
| | | |
| | | contractOrderEntity.setBatchNo(batchNo); |
| | | contractOrderDao.insert(contractOrderEntity); |
| | | } |
| | | |
| | |
| | | BigDecimal totalAmount = BigDecimal.ZERO; |
| | | if (CollUtil.isNotEmpty(entrustOrder)) { |
| | | for (ContractEntrustOrderEntity contractEntrustOrderEntity : entrustOrder) { |
| | | totalAmount.add(contractEntrustOrderEntity.getEntrustAmount()); |
| | | totalAmount = totalAmount.add(contractEntrustOrderEntity.getEntrustAmount()); |
| | | } |
| | | } |
| | | |
| | | memberWalletContractDao.increaseWalletContractBalanceById(wallet.getAvailableBalance().negate(), wallet.getTotalBalance().subtract(totalAmount).negate(), null, wallet.getId()); |
| | | |
| | | redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId()); |
| | | } else { |
| | | log.info("参数有误:{}", memberEntity.getId()); |
| | | } |