xiaoyong931011
2021-03-22 0dc8f42e10f9923967a04ee93c87a37e0d514dfa
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -1,6 +1,8 @@
package com.xcong.excoin.modules.contract.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.druid.sql.visitor.functions.If;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -110,6 +112,14 @@
    @Override
    public Result submitOrder(SubmitOrderDto submitOrderDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        // 判断当前对应的持仓/委托
        if (memberEntity.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
@@ -548,6 +558,15 @@
    @Override
    public Result cancelHoldOrder(Long id) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), id);
        if (holdOrderEntity == null) {
            // 订单不存在
@@ -572,6 +591,13 @@
    @Override
    public Result cancelHoldOrder(WholeCloseOrderDto wholeCloseOrderDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), wholeCloseOrderDto.getId());
        if (holdOrderEntity == null) {
            // 订单不存在
@@ -614,6 +640,14 @@
    @Override
    public Result cancelHoldOrderBatch(SymbolDto symbolDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol(), 1);
        if (CollUtil.isEmpty(holdOrderEntities)) {
            return Result.fail("订单不存在");
@@ -631,6 +665,14 @@
    @Override
    public Result setTargetProfitOrLess(ProfitOrLessDto profitOrLessDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), profitOrLessDto.getId());
        if (holdOrderEntity == null) {
            return Result.fail("订单不存在");
@@ -736,6 +778,15 @@
    @Override
    public Result changeBond(ChangeBondDto changeBondDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        //查询是否可以点击平仓按钮
        Long memberIdLong = memberEntity.getId();
        MemberEntity selectById = memberDao.selectById(memberIdLong);
        Integer pcState = selectById.getPcState();
        if(MemberEntity.PCSTATE_N == pcState) {
           return Result.loading("loading_type");
        }
        ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), changeBondDto.getId());
        if (holdOrderEntity == null) {
            return Result.fail("订单不存在");
@@ -1028,8 +1079,27 @@
        List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectHoldOrderListByMemberId(member.getId());
        List<ContractEntrustOrderEntity> entrustList = contractEntrustOrderDao.selectEntrustOrderListByMemberId(member.getId());
        if (CollUtil.isNotEmpty(list) || CollUtil.isNotEmpty(entrustList)) {
            return Result.fail("存在持仓/委托, 无法更改");
//        if (CollUtil.isNotEmpty(list) || CollUtil.isNotEmpty(entrustList)) {
//            return Result.fail("存在持仓/委托, 无法更改");
//        }
        if(CollUtil.isNotEmpty(list)) {
           for(ContractHoldOrderEntity contractHoldOrderEntity : list) {
              String symbol = contractHoldOrderEntity.getSymbol();
              if(StrUtil.isEmpty(symbol)) {
                 return Result.fail("存在持仓/委托, 无法更改");
              }
              return Result.fail("币种"+symbol+"存在持仓/委托, 无法更改");
           }
        }
        if(CollUtil.isNotEmpty(entrustList)) {
           for(ContractEntrustOrderEntity contractEntrustOrderEntity : entrustList) {
              String symbol = contractEntrustOrderEntity.getSymbol();
              if(StrUtil.isEmpty(symbol)) {
                 return Result.fail("存在持仓/委托, 无法更改");
              }
              return Result.fail("币种"+symbol+"存在持仓/委托, 无法更改");
           }
        }
        
        /**