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