From 2cfba883471ec6dabd94ae07e5f7df5dc9df6912 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 14 Oct 2025 20:23:19 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
index f4a8975..f8fe4ae 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
@@ -1,18 +1,24 @@
 package com.yami.trading.admin.controller.contract;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.google.common.collect.Lists;
+import com.yami.trading.admin.model.AdjustProfitsModel;
 import com.yami.trading.bean.contract.domain.ContractApplyOrder;
 import com.yami.trading.bean.data.domain.Realtime;
+import com.yami.trading.bean.model.User;
 import com.yami.trading.common.domain.Result;
+import com.yami.trading.common.exception.BusinessException;
 import com.yami.trading.common.exception.YamiShopBindException;
 import com.yami.trading.common.query.QueryWrapperGenerator;
 
 import com.yami.trading.common.util.ThreadUtils;
 import com.yami.trading.service.data.DataService;
+import com.yami.trading.service.user.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -30,6 +36,7 @@
 import com.yami.trading.bean.contract.mapstruct.ContractOrderWrapper;
 import com.yami.trading.service.contract.ContractOrderService;
 import com.yami.trading.bean.contract.query.ContractOrderQuery;
+import org.springframework.web.servlet.ModelAndView;
 
 import java.io.IOException;
 import java.math.BigDecimal;
@@ -57,6 +64,8 @@
     @Autowired(required = false)
     @Qualifier("dataService")
     private DataService dataService;
+    @Autowired
+    private UserService userService;
 
     /**
      * 非按金额订单列表数据
@@ -66,7 +75,9 @@
     public Result<IPage<ContractOrderDTO>> list(ContractOrderQuery contractOrderQuery, Page<ContractOrder> page) throws Exception {
         IPage<ContractOrderDTO> result = contractOrderService.listRecord(page, contractOrderQuery);
         result.getRecords().forEach(d -> {
-                    String symbol = d.getSymbol();
+            User user = userService.cacheUserBy(d.getPartyId());
+            d.setUserName(user.getUserName());
+            String symbol = d.getSymbol();
                     List<Realtime> realtimes = dataService.realtime(symbol);
                     if (CollectionUtil.isEmpty(realtimes)) {
                         d.setMark_price(BigDecimal.ZERO);
@@ -84,6 +95,50 @@
 
         );
         return Result.succeed(result);
+    }
+
+    /**
+     * 调整利润
+     * <p>
+     * order_no 订单号
+     */
+    @PostMapping("adjustProfits.action")
+    @ApiOperation(value = "调整利润")
+    public Result<String> adjustProfits(@RequestBody AdjustProfitsModel model) {
+        try {
+            ContractOrder order = this.contractOrderService.findByOrderNo(model.getOrderNo());
+            if(ObjectUtil.isEmpty(order)){
+                return Result.failed("订单不存在!");
+            }
+            if(!ContractOrder.STATE_SUBMITTED.equals(order.getState())){
+                return Result.failed("订单已平仓!");
+            }
+            order.setProfitLossRatio(model.getProfitLossRatio());
+            contractOrderService.update(order);
+        } catch (Exception e) {
+            log.error("执行调整利润异常", e);
+            throw new YamiShopBindException("执行调整利润异常");
+        }
+        return Result.succeed("success");
+    }
+
+    @PostMapping("updateLave.action")
+    @ApiOperation(value = "调整杠杆")
+    public Result<String> updateLave(@RequestBody AdjustProfitsModel model) {
+        try {
+            ContractOrder order = this.contractOrderService.findByOrderNo(model.getOrderNo());
+            if(ObjectUtil.isEmpty(order)){
+                return Result.failed("订单不存在!");
+            }
+            if(!ContractOrder.STATE_SUBMITTED.equals(order.getState())){
+                return Result.failed("订单已平仓!");
+            }
+            contractOrderService.updateLave(order,model.getLeverRate());
+        } catch (Exception e) {
+            log.error("执行调整杠杆异常", e);
+            throw new YamiShopBindException("执行调整杠杆异常");
+        }
+        return Result.succeed("success");
     }
 
 
@@ -124,7 +179,7 @@
                 while (true) {
 
                     if (this.contractOrderService.lock(order_no)) {
-                        this.contractOrderService.saveClose(partyId, order_no);
+                        this.contractOrderService.saveClose(partyId, order_no,null);
                         // 处理完退出
                         break;
                     }

--
Gitblit v1.9.3