xiaoyong931011
2021-07-05 cf200a1f92c01ba22c326c49391f748ffb006910
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
@@ -312,4 +312,49 @@
        otcOrderMapper.updateOrderStatusByOrderNo(OtcOrderEntity.STATUS_THREE, order.getOrderNo());
        return 1;
    }
    @Override
    public OtcEntrustOrderEntity otcEntrustListUpdate(long id) {
        return otcEntrustOrderMapper.selectById(id);
    }
    @Override
    public FebsResponse otcEntrustConfirm(OtcEntrustOrderEntity otcEntrustOrderEntity) {
        Long id = otcEntrustOrderEntity.getId();
        OtcEntrustOrderEntity otcEntrustOrder = otcEntrustOrderMapper.selectById(id);
        BigDecimal unitPrice = otcEntrustOrderEntity.getUnitPrice();
        if(ObjectUtil.isEmpty(unitPrice) || unitPrice.compareTo(BigDecimal.ZERO) < 0){
            return new FebsResponse().fail().message("请设置正确的单价");
        }
        otcEntrustOrder.setUnitPrice(unitPrice);
        BigDecimal coinAmount = otcEntrustOrderEntity.getCoinAmount();
        if(ObjectUtil.isEmpty(coinAmount) || coinAmount.compareTo(BigDecimal.ZERO) < 0){
            return new FebsResponse().fail().message("请设置正确的数量");
        }
        otcEntrustOrder.setCoinAmount(coinAmount);
        BigDecimal totalAmount = coinAmount.multiply(unitPrice);
        otcEntrustOrder.setTotalAmount(totalAmount);
        BigDecimal remainCoinAmount = otcEntrustOrderEntity.getRemainCoinAmount();
        if(ObjectUtil.isEmpty(remainCoinAmount) || remainCoinAmount.compareTo(BigDecimal.ZERO) < 0
                || totalAmount.compareTo(remainCoinAmount) < 0){
            return new FebsResponse().fail().message("请设置正确的剩余数量");
        }
        otcEntrustOrder.setRemainCoinAmount(remainCoinAmount);
        BigDecimal limitMinAmount = otcEntrustOrderEntity.getLimitMinAmount();
        if(ObjectUtil.isEmpty(limitMinAmount) || limitMinAmount.compareTo(BigDecimal.ZERO) < 0){
            return new FebsResponse().fail().message("请设置正确的最小限额");
        }
        otcEntrustOrder.setLimitMinAmount(limitMinAmount);
        BigDecimal limitMaxAmount = otcEntrustOrderEntity.getLimitMaxAmount();
        if(ObjectUtil.isEmpty(limitMaxAmount) || limitMaxAmount.compareTo(BigDecimal.ZERO) < 0
                || limitMaxAmount.compareTo(limitMinAmount) < 0 || totalAmount.compareTo(limitMaxAmount) < 0){
            return new FebsResponse().fail().message("请设置正确的最大限额");
        }
        otcEntrustOrder.setLimitMaxAmount(limitMaxAmount);
        otcEntrustOrder.setStatus(otcEntrustOrderEntity.getStatus());
        otcEntrustOrderMapper.updateById(otcEntrustOrder);
        return new FebsResponse().success();
    }
}