新版仿ok交易所-后端
1
zyy
2026-03-05 9fa09b7700040b6cf416081ba0edfcfb72219b16
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
@@ -3,25 +3,26 @@
import com.yami.trading.bean.contract.domain.ContractOrder;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.item.domain.Item;
import com.yami.trading.bean.model.Wallet;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
import com.yami.trading.common.lang.LangUtils;
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.common.util.ThreadUtils;
import com.yami.trading.security.common.util.SecurityUtils;
import com.yami.trading.service.WalletService;
import com.yami.trading.service.contract.ContractLockService;
import com.yami.trading.service.contract.ContractOrderService;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -44,6 +45,9 @@
    @Autowired
    private ContractLockService contractLockService;
    @Autowired
    WalletService walletService;
    private final String action = "/api/contractOrder!";
    /**
@@ -65,6 +69,39 @@
        return Result.succeed("平仓成功");
    }
    @GetMapping(action + "addDepositOpen.action")
    @ApiOperation(value = "追加保证金")
    public Result<String> addDepositOpen(@RequestParam @NotBlank String orderNo, @RequestParam @NotBlank BigDecimal addDepositOpen) {
        try {
            ContractOrder order = this.contractOrderService.findByOrderNo(orderNo);
            if (order != null && order.getState().equals(ContractOrder.STATE_SUBMITTED) && order.getLocationType() == 0) {
                contractOrderService.addDepositOpen(order, addDepositOpen);
            }
        } catch (Exception e) {
            log.error("追加保证金异常", e);
            throw new YamiShopBindException("追加保证金异常");
        }
        return Result.succeed("success");
    }
    @GetMapping(action + "setStopPrice.action")
    @ApiOperation(value = "设置止盈止损")
    public Result<String> setStopPrice(@RequestParam @NotBlank String orderNo, @RequestParam @NotBlank BigDecimal stopPriceProfit,
                                       @RequestParam @NotBlank BigDecimal stopPriceLoss) {
        try {
            ContractOrder order = this.contractOrderService.findByOrderNo(orderNo);
            if (order != null && order.getState().equals(ContractOrder.STATE_SUBMITTED)) {
                order.setStopPriceProfit(stopPriceProfit);
                order.setStopPriceLoss(stopPriceLoss);
                contractOrderService.update(order);
            }
        } catch (Exception e) {
            log.error("追加保证金异常", e);
            throw new YamiShopBindException("追加保证金异常");
        }
        return Result.succeed("success");
    }
    /**
     * 一键平仓
     */