|  |  | 
 |  |  | import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; | 
 |  |  | import com.xcong.excoin.modules.contract.mapper.ContractEntrustOrderEntityMapper; | 
 |  |  | import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto; | 
 |  |  | import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; | 
 |  |  | import com.xcong.excoin.modules.contract.parameter.vo.ContractEntrustVo; | 
 |  |  | import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService; | 
 |  |  | import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; | 
 |  |  | import com.xcong.excoin.modules.member.dao.MemberWalletContractDao; | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberEntity; | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; | 
 |  |  | 
 |  |  |     @Resource | 
 |  |  |     private OrderProducer producer; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private ContractHoldOrderService contractHoldOrderService; | 
 |  |  |  | 
 |  |  |     @Transactional(rollbackFor = Exception.class) | 
 |  |  |     @Override | 
 |  |  |     public Result addContractEntrustOrder(SubmitEntrustDto submitEntrustDto) { | 
 |  |  | 
 |  |  |             // 开多委托价不能大于当前价 | 
 |  |  |             if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE) { | 
 |  |  |                 if (submitEntrustDto.getEntrustPrice().compareTo(newPrice) > -1) { | 
 |  |  | //                    return Result.fail(MessageSourceUtils.getString("entrust_price_judge_more")); | 
 |  |  |                     submitEntrustDto.setEntrustPrice(newPrice); | 
 |  |  |                     SubmitOrderDto submitOrderDto = new SubmitOrderDto(); | 
 |  |  |                     submitOrderDto.setOrderType(submitEntrustDto.getEntrustType()); | 
 |  |  |                     submitOrderDto.setSymbol(submitEntrustDto.getSymbol()); | 
 |  |  |                     submitOrderDto.setSymbolCnt(submitEntrustDto.getSymbolCnt()); | 
 |  |  |                     submitOrderDto.setLeverRatio(submitEntrustDto.getLeverRatio()); | 
 |  |  |                     return contractHoldOrderService.submitOrder(submitOrderDto); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             // 开空委托价不能小于当前价 | 
 |  |  |             if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_LESS) { | 
 |  |  |                 if (submitEntrustDto.getEntrustPrice().compareTo(newPrice) < 1) { | 
 |  |  | //                    return Result.fail(MessageSourceUtils.getString("entrust_price_judge_less")); | 
 |  |  |                     submitEntrustDto.setEntrustPrice(newPrice); | 
 |  |  |                     SubmitOrderDto submitOrderDto = new SubmitOrderDto(); | 
 |  |  |                     submitOrderDto.setOrderType(submitEntrustDto.getEntrustType()); | 
 |  |  |                     submitOrderDto.setSymbol(submitEntrustDto.getSymbol()); | 
 |  |  |                     submitOrderDto.setSymbolCnt(submitEntrustDto.getSymbolCnt()); | 
 |  |  |                     submitOrderDto.setLeverRatio(submitEntrustDto.getLeverRatio()); | 
 |  |  |                     return contractHoldOrderService.submitOrder(submitOrderDto); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  |