From fa8a94210436f609def68e8d244609af75e09290 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Sun, 01 Mar 2026 18:40:30 +0800
Subject: [PATCH] 合约
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java | 27 +++++++++++--
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java | 15 -------
trading-order-bean/src/main/java/com/yami/trading/bean/model/RealNameAuthRecord.java | 7 +++
trading-order-admin/src/main/java/com/yami/trading/api/model/ApplyRealNameAuthModel.java | 10 ++++-
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java | 18 ++++++++-
trading-order-bean/src/main/java/com/yami/trading/bean/contract/domain/ContractOrder.java | 2
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java | 4 +-
trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java | 5 ++
trading-order-admin/src/main/resources/config/system.properties | 4 +-
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java | 2
10 files changed, 65 insertions(+), 29 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 d2f2e69..e9809a6 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
@@ -136,21 +136,6 @@
return Result.succeed("success");
}
- @GetMapping("addDepositOpen.action")
- @ApiOperation(value = "追加保证金")
- public Result<String> addDepositOpen(@RequestParam @NotBlank String orderNo, @RequestParam @NotBlank BigDecimal addDepositOpen) throws IOException {
- try {
- ContractOrder order = this.contractOrderService.findByOrderNo(orderNo);
- if (order != null && order.getState().equals(ContractOrder.STATE_CREATED)) {
- order.setAddDepositOpen(order.getAddDepositOpen().add(addDepositOpen));
- contractOrderService.update(order);
- }
- } catch (Exception e) {
- log.error("追加保证金异常", e);
- throw new YamiShopBindException("追加保证金异常");
- }
- return Result.succeed("success");
- }
/**
* 新线程处理,直接拿到订单锁处理完成后退出
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java
index bb144e5..23c1eed 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java
@@ -298,8 +298,8 @@
order.setOrderPriceType(openAction.getPrice_type());
order.setState(ContractApplyOrder.STATE_SUBMITTED);
order.setMoney(openAction.getAmount());
- order.setLocationType(openAction.getLocationType());
-
+ //order.setLocationType(openAction.getLocationType());
+ order.setLocationType(0);
contractApplyOrderService.saveCreate(order);
}
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 aafba17..293895d 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,25 +3,26 @@
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;
@@ -44,6 +45,9 @@
@Autowired
private ContractLockService contractLockService;
+ @Autowired
+ WalletService walletService;
+
private final String action = "/api/contractOrder!";
/**
@@ -65,6 +69,21 @@
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");
+ }
+
/**
* 一键平仓
*/
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/model/ApplyRealNameAuthModel.java b/trading-order-admin/src/main/java/com/yami/trading/api/model/ApplyRealNameAuthModel.java
index d1ba753..414e12b 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/model/ApplyRealNameAuthModel.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/model/ApplyRealNameAuthModel.java
@@ -35,17 +35,23 @@
@NotBlank
@ApiModelProperty("实名姓名")
private String name;
+
+ @ApiModelProperty("firstname")
+ private String firstName;
+
+ @ApiModelProperty("生日")
+ private String birth;
/**
* 证件正面照
*/
@ApiModelProperty("证件正面照")
- @NotBlank
+ //@NotBlank
private String idFrontImg;
/**
* 证件背面照
*/
@ApiModelProperty("证件背面照")
- @NotBlank
+ //@NotBlank
private String idBackImg;
diff --git a/trading-order-admin/src/main/resources/config/system.properties b/trading-order-admin/src/main/resources/config/system.properties
index 6163efe..517e62f 100644
--- a/trading-order-admin/src/main/resources/config/system.properties
+++ b/trading-order-admin/src/main/resources/config/system.properties
@@ -3,11 +3,11 @@
admin_url=https://127.0.0.1:8080/admin
web_url=http://127.0.0.1:8080/wap/
-images_http=https://jysimg.wecnsy.com/
+images_http=https://blueimg.shenliankeji.top/
loca.images.dir=/www/wwwroot/img
admin_rest_url=https://enjdhdg.site/api
-api_http=https://jysapi.wecnsy.com/
+api_http=https://blueapi.shenliankeji.top/
email.host=smtp.gmail.com
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/contract/domain/ContractOrder.java b/trading-order-bean/src/main/java/com/yami/trading/bean/contract/domain/ContractOrder.java
index 32edd09..0121f5b 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/contract/domain/ContractOrder.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/contract/domain/ContractOrder.java
@@ -72,7 +72,7 @@
/**
* 追加保证金
*/
- private BigDecimal addDepositOpen ;
+ private BigDecimal addDepositOpen = BigDecimal.ZERO;
/**
* 收益
*/
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/model/RealNameAuthRecord.java b/trading-order-bean/src/main/java/com/yami/trading/bean/model/RealNameAuthRecord.java
index 0868cbd..c3d7884 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/model/RealNameAuthRecord.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/model/RealNameAuthRecord.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.yami.trading.common.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@@ -34,6 +35,12 @@
* 实名姓名
*/
private String name;
+
+ @ApiModelProperty("firstname")
+ private String firstName;
+
+ @ApiModelProperty("生日")
+ private String birth;
/**
* 证件正面照
*/
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java b/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
index bbc890a..23db7ea 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
@@ -121,6 +121,11 @@
* 永续合约建仓
*/
public static final String MONEYLOG_CONTENT_CONTRACT_OPEN = "contract_open";
+
+ /**
+ * 永续合约追加保证金
+ */
+ public static final String MONEYLOG_CONTENT_CONTRACT_ADD = "contract_add";
/**
* 交割合约建仓
*/
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
index 4a53390..03b1e32 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
@@ -211,7 +211,7 @@
List<ItemLeverageDTO> levers = itemLeverageService.findByItemId(item.getUuid());
log.info("{} --- order --- {} --- {}", order.getSymbol(), item.getUuid(), levers.size());
- checkLever(order, levers);
+ //checkLever(order, levers);
order.setOrderNo(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
index a895cd0..69e6e2d 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
@@ -817,8 +817,8 @@
map.put("amount", order.getVolume().multiply(order.getUnitAmount()));
map.put("amount_open", order.getVolumeOpen().multiply(order.getUnitAmount()));
map.put("fee", order.getFee());
- map.put("deposit", order.getDeposit());
- map.put("deposit_open", order.getDepositOpen());
+ map.put("deposit", order.getDeposit().add(order.getAddDepositOpen()));
+ map.put("deposit_open", order.getDepositOpen().add(order.getAddDepositOpen()));
map.put("change_ratio", order.getChangeRatio().setScale(2, RoundingMode.HALF_UP));
if(order.getProfit()!=null){
@@ -859,4 +859,18 @@
RedisUtil.del(ContractRedisKeys.CONTRACT_ASSETS_PROFIT_PARTY_ID + partyId);
}
}
+
+
+ public void addDepositOpen(ContractOrder order, BigDecimal addDepositOpen) {
+ Wallet wallet = walletService.findByUserId(order.getPartyId());
+ BigDecimal amountBefore = wallet.getMoney();
+ if (amountBefore.compareTo(addDepositOpen) < 0) {
+ throw new YamiShopBindException("not sufficient funds");
+ }
+ order.setAddDepositOpen(order.getAddDepositOpen().add(addDepositOpen));
+ walletService.updateMoney(order.getSymbol(), order.getPartyId(), BigDecimal.ZERO.subtract(addDepositOpen), BigDecimal.ZERO
+ , Constants.MONEYLOG_CATEGORY_CONTRACT, Constants.WALLET_USDT, Constants.MONEYLOG_CONTENT_CONTRACT_ADD, "委托单追加保证金,订单号[" + order.getOrderNo() + "]"
+ );
+ update(order);
+ }
}
--
Gitblit v1.9.3