Helius
2020-06-03 def723a6fa9cbe05734afe9011a6f90d2fa32196
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -1,8 +1,10 @@
package com.xcong.excoin.modules.contract.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.LoginUserUtils;
import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum;
import com.xcong.excoin.common.enumerates.RabbitPriceTypeEnum;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.common.system.service.CommonService;
import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao;
@@ -17,6 +19,8 @@
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.rabbit.pricequeue.OrderModel;
import com.xcong.excoin.rabbit.producer.OrderProducer;
import com.xcong.excoin.utils.CacheSettingUtils;
import com.xcong.excoin.utils.CoinTypeConvert;
import com.xcong.excoin.utils.RedisUtils;
@@ -26,6 +30,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
/**
@@ -53,6 +58,9 @@
    @Resource
    private CommonService commonService;
    @Resource
    private OrderProducer producer;
    @Transactional(rollbackFor = Exception.class)
    @Override
@@ -117,6 +125,15 @@
            walletContract.setAvailableBalance(walletContract.getAvailableBalance().subtract(entrustTotalAmount));
            memberWalletContractDao.updateById(walletContract);
            if (i > 0) {
                // 发送委托单队列消息
                if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE) {
                    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));
                } 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));
                }
                return Result.ok("委托成功");
            } else {
                return Result.fail("委托失败");
@@ -132,9 +149,9 @@
    }
    @Override
    public Result findEntrustOrderList() {
    public Result findEntrustOrderList(String symbol) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        List<ContractEntrustOrderEntity> list = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
        List<ContractEntrustOrderEntity> list = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol);
        List<ContractEntrustVo> resultList = ContractEntrustOrderEntityMapper.INSTANCE.entityListToVoList(list);
        return Result.ok(resultList);
    }