Helius
2020-09-01 add952b321258d52b1d5dc90b11b5daecd687690
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.enumerates.OrderClosingTypeEnum;
@@ -324,6 +325,8 @@
            if (holdOrderEntity.getSymbolCntSale() != 0) {
                holdOrderEntity.setOpeningFeeAmount(holdOrderEntity.getOpeningFeeAmount().subtract(fee));
                holdOrderEntity.setBondAmount(holdOrderEntity.getBondAmount().subtract(bondAmount));
                BigDecimal rewardAmount = holdOrderEntity.getRewardAmount() == null ? BigDecimal.ZERO : holdOrderEntity.getRewardAmount();
                holdOrderEntity.setRewardAmount(rewardAmount.add(profitOrLoss));
                contractHoldOrderDao.updateById(holdOrderEntity);
            } else {
                contractHoldOrderDao.deleteById(holdOrderEntity.getId());
@@ -385,6 +388,13 @@
        int closeCnt = entrustOrder.getSymbolCnt();
        ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectWholeHoldOrderByOrderType(memberId, orderType, symbol);
        List<Object> types = redisUtils.lGet(AppContants.RABBIT_TYPE + holdOrderEntity.getId(), 0, -1);
        if(types.contains(9) || types.contains(10) || types.contains(11) || types.contains(12)) {
            log.info("存在止盈/止损 orderId : {}, types : {}", holdOrderEntity.getId(), JSONObject.toJSONString(types));
            return;
        }
        BigDecimal profitOrLoss;
        int closingType;
        // 平多