From a6c07a0526befbbd8194c97eb8f64b84b1a477a1 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 02 Apr 2026 16:48:15 +0800
Subject: [PATCH] 1

---
 trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java                         |    4 ++++
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserController.java   |   18 ++++++++++++++++++
 trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java                   |    2 ++
 trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java   |    9 +++++++--
 trading-order-admin/src/main/java/com/yami/trading/admin/model/FuturesMostPrfitLevelModel.java |   21 +++++++++++++++++++++
 5 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserController.java
index c2e2f2e..ada2698 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserController.java
@@ -235,6 +235,24 @@
         return Result.ok(null);
     }
 
+    @ApiOperation(value = "设置交割合约赢率")
+    @PostMapping("updateFuturesMostPrfitLevel")
+    @SysLog("设置交割合约赢率")
+    public Result updateFuturesMostPrfitLevel(@Valid @RequestBody FuturesMostPrfitLevelModel model) {
+        User user= userService.getById(model.getUserId());
+        user.setFuturesMostPrfitLevel(model.getFuturesMostPrfitLevel());
+        userService.updateById(user);
+
+        Log log = new Log();
+        log.setCategory(Constants.LOG_CATEGORY_OPERATION);
+        log.setUsername(user.getUserName());
+        log.setUserId(user.getUserId());
+        log.setOperator(SecurityUtils.getSysUser().getUsername());
+        log.setLog("修改["+user.getUserName()+"]交割合约赢率,ip:[" + IPHelper.getIpAddr() + "]");
+        logService.save(log);
+        return Result.ok(null);
+    }
+
     @ApiOperation(value = "重置登录密码")
     @PostMapping("restLoginPasswrod")
     @SysLog("重置登录密码")
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/model/FuturesMostPrfitLevelModel.java b/trading-order-admin/src/main/java/com/yami/trading/admin/model/FuturesMostPrfitLevelModel.java
new file mode 100644
index 0000000..881adcb
--- /dev/null
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/model/FuturesMostPrfitLevelModel.java
@@ -0,0 +1,21 @@
+package com.yami.trading.admin.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.math.BigDecimal;
+
+@Data
+@ApiModel
+public class FuturesMostPrfitLevelModel {
+
+    @ApiModelProperty("交割合约赢率")
+    private Double futuresMostPrfitLevel;
+
+
+    @ApiModelProperty("userid")
+    @NotBlank
+    private  String userId;
+}
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java b/trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java
index af12f97..840ff51 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java
@@ -204,6 +204,10 @@
     @ApiModelProperty("信用分")
     private Integer creditScore = 100;
 
+    @ApiModelProperty("用户交割盈利")
+    private Double futuresMostPrfitLevel;
+
+
     public BigDecimal getWithdrawLimitAmount() {
         return withdrawLimitAmount == null ? new BigDecimal(0) : withdrawLimitAmount;
     }
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java b/trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java
index f6fcc73..4b6d06f 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDto.java
@@ -60,5 +60,7 @@
     @ApiModelProperty("注册时间")
     private Date createTime;//create_time  createTimeTs
 
+    @ApiModelProperty("用户交割盈利")
+    private Double futuresMostPrfitLevel;
 
 }
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
index 8bf43c5..bae03b2 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
@@ -677,7 +677,12 @@
 
         // 24小时内交割合约客户最高赢率(正式用户交割盈利/正式用户交割金额),高于设定的值时客户必亏,低于时则不限制(范例:10,为最高赢10%),为空则不限制
         double futures_most_prfit_level = 0;
-        futures_most_prfit_level = Double.valueOf(sysparaService.find("futures_most_prfit_level").getSvalue());
+        User party = userService.getById(order.getPartyId());
+        if (party != null && party.getFuturesMostPrfitLevel() != null) {
+            futures_most_prfit_level =  party.getFuturesMostPrfitLevel();
+        } else {
+            futures_most_prfit_level = Double.valueOf(sysparaService.find("futures_most_prfit_level").getSvalue());
+        }
         if (futures_most_prfit_level > 0) {
             List<FuturesOrder> futuresOrders24Hour = new ArrayList();
             futuresOrders24Hour = findByHourAndSate("created", Constants.SECURITY_ROLE_MEMBER);
@@ -873,7 +878,7 @@
          //删除提示
         // tipService.deleteTip(order.getUuid());
 
-        User party = userService.getById(order.getPartyId());
+        //User party = userService.getById(order.getPartyId());
         party.setWithdrawLimitNowAmount(new BigDecimal(Arith.add(party.getWithdrawLimitNowAmount().doubleValue(), volume)));
         userService.updateById(party);
         // if (Constants.SECURITY_ROLE_MEMBER.equals(party.getRoleName())) {

--
Gitblit v1.9.3