新版仿ok交易所-后端
1
zj
2025-09-15 ed1bad9c70202e3cdcca735bfabef19d70947187
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
@@ -1,13 +1,17 @@
package com.yami.trading.admin.controller.contract;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists;
import com.yami.trading.admin.model.AdjustProfitsModel;
import com.yami.trading.bean.contract.domain.ContractApplyOrder;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.BusinessException;
import com.yami.trading.common.exception.YamiShopBindException;
import com.yami.trading.common.query.QueryWrapperGenerator;
@@ -30,6 +34,7 @@
import com.yami.trading.bean.contract.mapstruct.ContractOrderWrapper;
import com.yami.trading.service.contract.ContractOrderService;
import com.yami.trading.bean.contract.query.ContractOrderQuery;
import org.springframework.web.servlet.ModelAndView;
import java.io.IOException;
import java.math.BigDecimal;
@@ -86,6 +91,50 @@
        return Result.succeed(result);
    }
    /**
     * 调整利润
     * <p>
     * order_no 订单号
     */
    @PostMapping("adjustProfits.action")
    @ApiOperation(value = "调整利润")
    public Result<String> adjustProfits(@RequestBody AdjustProfitsModel model) {
        try {
            ContractOrder order = this.contractOrderService.findByOrderNo(model.getOrderNo());
            if(ObjectUtil.isEmpty(order)){
                return Result.failed("订单不存在!");
            }
            if(!ContractOrder.STATE_SUBMITTED.equals(order.getState())){
                return Result.failed("订单已平仓!");
            }
            order.setProfitLossRatio(model.getProfitLossRatio());
            contractOrderService.update(order);
        } catch (Exception e) {
            log.error("执行调整利润异常", e);
            throw new YamiShopBindException("执行调整利润异常");
        }
        return Result.succeed("success");
    }
    @PostMapping("updateLave.action")
    @ApiOperation(value = "调整杠杆")
    public Result<String> updateLave(@RequestBody AdjustProfitsModel model) {
        try {
            ContractOrder order = this.contractOrderService.findByOrderNo(model.getOrderNo());
            if(ObjectUtil.isEmpty(order)){
                return Result.failed("订单不存在!");
            }
            if(!ContractOrder.STATE_SUBMITTED.equals(order.getState())){
                return Result.failed("订单已平仓!");
            }
            contractOrderService.updateLave(order,model.getLeverRate());
        } catch (Exception e) {
            log.error("执行调整杠杆异常", e);
            throw new YamiShopBindException("执行调整杠杆异常");
        }
        return Result.succeed("success");
    }
    /**
     * 撤单
@@ -124,7 +173,7 @@
                while (true) {
                    if (this.contractOrderService.lock(order_no)) {
                        this.contractOrderService.saveClose(partyId, order_no);
                        this.contractOrderService.saveClose(partyId, order_no,null);
                        // 处理完退出
                        break;
                    }