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"); } /** * 新线程处理,直接拿到订单锁处理完成后退出 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); } 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"); } /** * 一键平仓 */ 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; 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 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; /** * 收益 */ 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; /** * 证件正面照 */ 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"; /** * 交割合约建仓 */ 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)); 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); } }