From 579177ac64462d0fec885eb10af3097245134f80 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 02 Jun 2026 10:28:11 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
index 293895d..1d987b6 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
@@ -63,7 +63,7 @@
             t.start();
         } catch (Exception e) {
             log.error("平仓失败", e);
-            return Result.failed("平仓失败");
+            return Result.failed("Failed to close position");
         }
 
         return Result.succeed("平仓成功");
@@ -74,12 +74,30 @@
     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)) {
+            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("追加保证金异常");
+            throw new YamiShopBindException("Failed to add margin");
+        }
+        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("Failed to add margin");
         }
         return Result.succeed("success");
     }
@@ -99,7 +117,7 @@
 
         } catch (Exception e) {
             log.error("一键平仓失败", e);
-            return Result.failed("一键平仓失败");
+            return Result.failed("Failed to close all positions");
         }
 
         return Result.succeed("一键平仓成功");
@@ -197,7 +215,7 @@
 
         if (null == order) {
             log.info("contractOrder!get order_no:" + order_no + ", order null");
-            throw new YamiShopBindException("订单不存在");
+            throw new YamiShopBindException("Order does not exist");
         }
 
         return Result.ok(this.contractOrderService.bulidOne(order));
@@ -238,10 +256,10 @@
         }
 
         if (!StringUtils.isInteger(page_no)) {
-            throw new YamiShopBindException("页码不是整数");
+            throw new YamiShopBindException("Page number must be an integer");
         }
         if (Integer.valueOf(page_no).intValue() <= 0) {
-            throw new YamiShopBindException("页码不能小于等于0");
+            throw new YamiShopBindException("Page number must be greater than 0");
         }
         String partyId = SecurityUtils.getCurrentUserId();
 

--
Gitblit v1.9.3