From bc9801d6adf582325e8213df11f597f82deda973 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 12 Jul 2024 11:02:41 +0800
Subject: [PATCH] 1

---
 src/main/java/project/project/web/api/ContractApplyOrderController.java |   67 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)

diff --git a/src/main/java/project/project/web/api/ContractApplyOrderController.java b/src/main/java/project/project/web/api/ContractApplyOrderController.java
index a58022f..5cc40a6 100644
--- a/src/main/java/project/project/web/api/ContractApplyOrderController.java
+++ b/src/main/java/project/project/web/api/ContractApplyOrderController.java
@@ -11,6 +11,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 
+import kernel.web.ApplicationUtil;
 import org.apache.commons.lang3.ObjectUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -323,6 +324,72 @@
 	}
 
 	/**
+	 * 修改止盈止损
+	 */
+	@RequestMapping(action + "stopProfitAndLoss.action")
+	public Object stopProfitAndLoss(HttpServletRequest request) throws IOException {
+		String session_token = request.getParameter("session_token");
+		String order_no = request.getParameter("order_no");
+		String stop_price_profit = request.getParameter("stop_price_profit");
+		String stop_price_loss = request.getParameter("stop_price_loss");
+
+		ResultObject resultObject = new ResultObject();
+		resultObject = this.readSecurityContextFromSession(resultObject);
+		if (!"0".equals(resultObject.getCode())) {
+			return resultObject;
+		}
+		String partyId = this.getLoginPartyId();
+		boolean lock = false;
+
+		try {
+
+			if (!ContractLock.add(partyId)) {
+				throw new BusinessException("请稍后再试");
+			}
+
+			lock = true;
+
+			ContractOrder order = contractOrderService.findByOrderNo(order_no);
+			if (order == null || !"submitted".equals(order.getState()) || !partyId.equals(order.getPartyId().toString())) {
+				return resultObject;
+			}
+
+			if (StringUtils.isNullOrEmpty(stop_price_profit)) {
+				stop_price_profit = "0";
+			}
+			if (StringUtils.isNullOrEmpty(stop_price_loss)) {
+				stop_price_loss = "0";
+			}
+
+			double stop_price_profit_double = Double.valueOf(stop_price_profit).doubleValue();
+			double stop_price_loss_double = Double.valueOf(stop_price_loss).doubleValue();
+
+			Party party = this.partyService.cachePartyBy(partyId, false);
+			if (!party.getEnabled()) {
+				resultObject.setCode("506");
+				resultObject.setMsg("用户已锁定");
+				return resultObject;
+			}
+
+			order.setStop_price_profit(stop_price_profit_double);
+			order.setStop_price_loss(stop_price_loss_double);
+
+			this.contractOrderService.update(order);
+
+		} catch (Exception e) {
+			resultObject.setCode("1");
+			resultObject.setMsg(e.getMessage());
+		} finally {
+			if (lock) {
+				ThreadUtils.sleep(100);
+				ContractLock.remove(partyId);
+			}
+		}
+
+		return resultObject;
+	}
+
+	/**
 	 * 平仓
 	 * 
 	 * symbol 币种

--
Gitblit v1.9.3