新版仿ok交易所-后端
1
zj
2025-09-15 ed1bad9c70202e3cdcca735bfabef19d70947187
1
3 files modified
32 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java 22 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/AdjustProfitsModel.java 2 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java 8 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/contract/ContractOrderController.java
@@ -1,5 +1,6 @@
package com.yami.trading.admin.controller.contract;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
@@ -10,6 +11,7 @@
import com.yami.trading.bean.contract.domain.ContractApplyOrder;
import com.yami.trading.bean.data.domain.Realtime;
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;
@@ -32,6 +34,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;
@@ -113,6 +116,25 @@
        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");
    }
    /**
     * 撤单
trading-order-admin/src/main/java/com/yami/trading/admin/model/AdjustProfitsModel.java
@@ -4,6 +4,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
/**
 * @program: trading-order-master
@@ -15,5 +16,6 @@
    private String orderNo;
    private Double profitLossRatio;
    private BigDecimal leverRate;
}
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
@@ -859,4 +859,12 @@
            RedisUtil.del(ContractRedisKeys.CONTRACT_ASSETS_PROFIT_PARTY_ID + partyId);
        }
    }
    public void updateLave(ContractOrder order, BigDecimal leverRate) {
        double number = strongLevelCalculationService.countSheets(order.getDepositOpen().doubleValue(), leverRate.intValue(), 0.01, order.getTradeAvgPrice().doubleValue());
        order.setVolumeOpen(new BigDecimal(number));
        order.setVolume(new BigDecimal(number));
        order.setLeverRate(leverRate);
        update(order);
    }
}