src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
@@ -1,13 +1,11 @@ package com.xcong.excoin.modules.contract.controller; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * @author wzy @@ -21,7 +19,7 @@ @ApiOperation(value = "市价提交合约订单") @PostMapping(value = "/submitOrder") public Result submitOrder() { public Result submitOrder(@RequestBody SubmitOrderDto submitOrderDto) { return null; } src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java
@@ -17,6 +17,15 @@ public class ContractHoldOrderEntity extends BaseEntity { /** * 是否可平仓 1-是 */ public static final int ORDER_CAN_CLOSING_Y = 1; /** * 是否可平仓 0-否 */ public static final int ORDER_CAN_CLOSING_N = 0; /** * 会员Id */ private Long memberId; @@ -107,4 +116,14 @@ private BigDecimal forceClosingPrice; private int operateNo; /** * 是否可平仓 0-否 1-是 */ private int isCanClosing; /** * 批次号 队列平仓时使用,避免重复 */ public String batchNo; } src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitOrderDto.java
New file @@ -0,0 +1,35 @@ package com.xcong.excoin.modules.contract.parameter.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * @author wzy * @date 2020-05-31 **/ @Data @ApiModel(value = "SubmitOrderDto", description = "提交订单接口接受类") public class SubmitOrderDto { @NotNull @ApiModelProperty(value = "订单类型 1开多 2开空", example = "1") private int orderType; @NotBlank @ApiModelProperty(value = "币种", example = "BTC/USDT") private String symbol; @NotNull @Min(1) @ApiModelProperty(value = "币种数量", example = "1") private int symbolCnt; @NotNull @ApiModelProperty(value = "杠杆倍率", example = "100") private int leverRatio; } src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
@@ -1,10 +1,14 @@ package com.xcong.excoin.modules.contract.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; /** * @author helius */ public interface ContractHoldOrderService extends IService<ContractHoldOrderEntity> { public Result submitOrder(SubmitOrderDto submitOrderDto); } src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java
@@ -1,10 +1,13 @@ package com.xcong.excoin.modules.contract.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; /** * @author helius */ public interface ContractOrderService extends IService<ContractOrderEntity> { } src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -1,13 +1,41 @@ package com.xcong.excoin.modules.contract.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; import com.xcong.excoin.modules.contract.dao.ContractOrderDao; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.utils.CoinTypeConvert; import com.xcong.excoin.utils.RedisUtils; import javax.annotation.Resource; import java.math.BigDecimal; /** * @author wzy * @date 2020-05-27 **/ public class ContractHoldOrderServiceImpl extends ServiceImpl<ContractHoldOrderDao, ContractHoldOrderEntity> implements ContractHoldOrderService { @Resource private ContractHoldOrderDao contractHoldOrderDao; @Resource private ContractOrderDao contractOrderDao; @Resource private RedisUtils redisUtils; @Override public Result submitOrder(SubmitOrderDto submitOrderDto) { MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); // 获取最新价 BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(submitOrderDto.getSymbol()))); return null; } } src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java
@@ -1,13 +1,21 @@ package com.xcong.excoin.modules.contract.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.dao.ContractOrderDao; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; import com.xcong.excoin.modules.contract.service.ContractOrderService; import com.xcong.excoin.utils.CoinTypeConvert; import com.xcong.excoin.utils.RedisUtils; import javax.annotation.Resource; import java.math.BigDecimal; /** * @author wzy * @date 2020-05-27 **/ public class ContractOrderServiceImpl extends ServiceImpl<ContractOrderDao, ContractOrderEntity> implements ContractOrderService { }