From 03d8380ea284ecabae26286cdb61804dbb39593e Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 02 Mar 2026 13:57:23 +0800
Subject: [PATCH] zyzs

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 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 436a1e9..fed5803 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
@@ -3,26 +3,29 @@
 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;
 import java.util.*;
 
 /**
@@ -41,6 +44,9 @@
     private ItemService itemService;
     @Autowired
     private ContractLockService contractLockService;
+
+    @Autowired
+    WalletService walletService;
 
     private final String action = "/api/contractOrder!";
 
@@ -61,6 +67,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)) {
+                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");
     }
 
     /**
@@ -153,10 +192,10 @@
                     bySymbol.transName();
                     map.put("name", bySymbol.getName());
                 }
-                map.put("mark_price", realtime.getClose());
+                map.put("mark_price", realtime.getClose().setScale(4, RoundingMode.DOWN));
             }
             if (ObjectUtils.isEmpty(data.get(i).get("close_avg_price"))) {
-                data.get(i).put("close_avg_price", data.get(i).get("mark_price"));
+                data.get(i).put("close_avg_price", new BigDecimal(data.get(i).get("mark_price").toString()).setScale(4, RoundingMode.DOWN));
             }
         }
         return Result.ok(data);

--
Gitblit v1.9.3