From 8b69c02da0657625068c039b6996d80ed6c15783 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 02 Jun 2020 19:59:26 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin --- src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 44 ++++++++++----------- src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java | 10 ++++- src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java | 14 ++++--- src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java | 4 +- src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java | 6 +++ src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java | 2 + src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml | 12 ++++++ 7 files changed, 59 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java index 006490e..4202ea9 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java +++ b/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java @@ -48,12 +48,11 @@ @ApiOperation(value = "进入交易页面", notes = "进入交易页面") @ApiResponses({@ApiResponse( code = 200, message = "success", response = TransactionPageOfWalletCoinVo.class)}) @ApiImplicitParams({ - @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query"), - @ApiImplicitParam(name = "type", value = "买入卖出类型1:买入,2:卖出", required = true, dataType = "String", paramType="query") + @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query") }) @GetMapping(value = "/enterTransactionPageOfWalletCoin") - public Result enterTransactionPageOfWalletCoin(String symbol,String type) { - return orderCoinService.enterTransactionPageOfWalletCoin(symbol,type); + public Result enterTransactionPageOfWalletCoin(String symbol) { + return orderCoinService.enterTransactionPageOfWalletCoin(symbol); } /** @@ -103,9 +102,12 @@ */ @ApiOperation(value = "获取币币交易历史订单信息", notes = "获取币币交易历史订单信息") @ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinDealListVo.class)}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query") + }) @GetMapping(value = "/findAllWalletCoinOrder") - public Result findAllWalletCoinOrder() { - return orderCoinService.findAllWalletCoinOrder(); + public Result findAllWalletCoinOrder(String symbol) { + return orderCoinService.findAllWalletCoinOrder(symbol); } /** diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java index 1d3f4d8..9d4ec60 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java +++ b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java @@ -11,6 +11,8 @@ List<OrderCoinsDealEntity> selectAllWalletCoinOrder(@Param("memberId")Long memberId); + List<OrderCoinsDealEntity> selectAllWalletCoinOrderBySymbol(@Param("memberId")Long memberId,@Param("symbol")String symbol); + OrderCoinsDealEntity selectWalletCoinOrder(@Param("memberId")Long memberId,@Param("orderId")Long orderId); } diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java index 649f2a5..0b5d4a7 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java @@ -63,6 +63,12 @@ @ApiModelProperty(value = "成交金额") private BigDecimal dealAmount; /** + * 状态 2:撤单3:已成交 + */ + @ApiModelProperty(value = "状态 2:撤单3:已成交") + private Integer orderStatus; + + /** * 手续费 */ @ApiModelProperty(value = "手续费") diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java index aeb2a2c..e37cac9 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java @@ -39,8 +39,14 @@ /** * 用户可用金额 */ - @ApiModelProperty(value = "用户可用金额") - private BigDecimal availableBalance; + @ApiModelProperty(value = "买入用户可用金额") + private BigDecimal availableBalanceBuy; + + /** + * 用户可用金额 + */ + @ApiModelProperty(value = "卖出用户可用金额") + private BigDecimal availableBalanceSell; /** * 当前价 */ diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java b/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java index f824d5b..9ca2106 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java @@ -10,7 +10,7 @@ public String generateSimpleSerialno(String userId); - Result enterTransactionPageOfWalletCoin(String symbol, String type); + Result enterTransactionPageOfWalletCoin(String symbol); Result submitSalesWalletCoinOrder(String symbol, Integer type, Integer tradeType, BigDecimal price, BigDecimal amount); @@ -19,7 +19,7 @@ public Result cancelEntrustWalletCoinOrder(String orderId); - public Result findAllWalletCoinOrder(); + public Result findAllWalletCoinOrder(String symbol); public Result findWalletCoinOrder(Long orderId); diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java index 5d4ebf0..a2e194c 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java @@ -98,7 +98,7 @@ } @Override - public Result enterTransactionPageOfWalletCoin(String symbol, String type) { + public Result enterTransactionPageOfWalletCoin(String symbol) { if (StrUtil.isBlank(symbol)) { return Result.fail(MessageSourceUtils.getString("order_service_0001")); } @@ -135,11 +135,8 @@ // 手续费用率 transactionPageOfWalletCoinVo.setFeeRatio(tradeSetting.getFeeRatio().setScale(4, BigDecimal.ROUND_DOWN)); // 用户可用金额 - if(MemberWalletCoinEnum.ENTERTRANSACTIONPAGEOFWALLETCOIN_BUY.getValue().equals(type)) {//买入 - transactionPageOfWalletCoinVo.setAvailableBalance(walletCoinUsdt.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN)); - }else { - transactionPageOfWalletCoinVo.setAvailableBalance(walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN)); - } + transactionPageOfWalletCoinVo.setAvailableBalanceBuy(walletCoinUsdt.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN)); + transactionPageOfWalletCoinVo.setAvailableBalanceSell(walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN)); //当前价 transactionPageOfWalletCoinVo.setCurrentPrice(closePrice.setScale(4, BigDecimal.ROUND_DOWN)); //比例 @@ -148,7 +145,6 @@ transactionPageOfWalletCoinVo.setCurrentPriceCny(cnyUsdt.multiply(closePrice).setScale(4, BigDecimal.ROUND_DOWN)); transactionPageOfWalletCoinVo.setSymbol(symbol); - transactionPageOfWalletCoinVo.setType(type); return Result.ok(transactionPageOfWalletCoinVo); } @@ -258,6 +254,7 @@ detail.setDealPrice(price.setScale(4, BigDecimal.ROUND_DOWN)); detail.setDealAmount(totalPayPrice.setScale(4, BigDecimal.ROUND_DOWN)); detail.setFeeAmount(closingPrice.setScale(4, BigDecimal.ROUND_DOWN)); + detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_DONE); orderCoinDealDao.insert(detail); if(OrderCoinsEntity.ORDERTYPE_BUY.equals(type)) { @@ -331,6 +328,21 @@ String symbol = orderCoinsEntity.getSymbol(); + OrderCoinsDealEntity detail = new OrderCoinsDealEntity(); + detail.setMemberId(memberId); + detail.setOrderId(orderCoinsEntity.getId()); + detail.setOrderNo(generateSimpleSerialno(memberId.toString())); + detail.setOrderType(orderCoinsEntity.getOrderType()); + detail.setTradeType(orderCoinsEntity.getTradeType()); + detail.setSymbol(symbol); + detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_CANCEL); + detail.setSymbolCnt(orderCoinsEntity.getEntrustCnt()); + detail.setEntrustPrice(orderCoinsEntity.getEntrustPrice().setScale(4, BigDecimal.ROUND_DOWN)); + detail.setDealPrice(orderCoinsEntity.getDealPrice().setScale(4, BigDecimal.ROUND_DOWN)); + detail.setDealAmount(orderCoinsEntity.getDealAmount().setScale(4, BigDecimal.ROUND_DOWN)); + detail.setFeeAmount(orderCoinsEntity.getFeeAmount().setScale(4, BigDecimal.ROUND_DOWN)); + orderCoinDealDao.insert(detail); + if(OrderCoinsEntity.ORDERTYPE_BUY.equals(orderCoinsEntity.getOrderType())) { //如果是限价买入,撤单将USDT账户冻结金额返回 String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue(); @@ -376,33 +388,19 @@ return Result.ok(MessageSourceUtils.getString("order_service_0013")); } } - OrderCoinsDealEntity detail = new OrderCoinsDealEntity(); - detail.setMemberId(memberId); - detail.setOrderId(orderCoinsEntity.getId()); - detail.setOrderNo(generateSimpleSerialno(memberId.toString())); - detail.setOrderType(orderCoinsEntity.getOrderType()); - detail.setTradeType(orderCoinsEntity.getTradeType()); - detail.setSymbol(symbol); - detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_CANCEL); - detail.setSymbolCnt(orderCoinsEntity.getEntrustCnt()); - detail.setEntrustPrice(orderCoinsEntity.getEntrustPrice().setScale(4, BigDecimal.ROUND_DOWN)); - detail.setDealPrice(orderCoinsEntity.getDealPrice().setScale(4, BigDecimal.ROUND_DOWN)); - detail.setDealAmount(orderCoinsEntity.getDealAmount().setScale(4, BigDecimal.ROUND_DOWN)); - detail.setFeeAmount(orderCoinsEntity.getFeeAmount().setScale(4, BigDecimal.ROUND_DOWN)); - orderCoinDealDao.insert(detail); } return Result.fail(MessageSourceUtils.getString("order_service_0043")); } @Override - public Result findAllWalletCoinOrder() { + public Result findAllWalletCoinOrder(String symbol) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); OrderWalletCoinDealListVo orderWalletCoinDealListVo = new OrderWalletCoinDealListVo(); List<OrderWalletCoinDealVo> arrayList = new ArrayList<OrderWalletCoinDealVo>(); - List<OrderCoinsDealEntity> selectAllWalletCoinOrder = orderCoinDealDao.selectAllWalletCoinOrder(memberId); + List<OrderCoinsDealEntity> selectAllWalletCoinOrder = orderCoinDealDao.selectAllWalletCoinOrderBySymbol(memberId,symbol); if(CollUtil.isNotEmpty(selectAllWalletCoinOrder)) { for(OrderCoinsDealEntity orderCoinsDealEntity: selectAllWalletCoinOrder) { OrderWalletCoinDealVo entityToVo = OrderWalletCoinDealMapper.INSTANCE.entityToVoOrder(orderCoinsDealEntity); diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml index 998f72d..f498ab6 100644 --- a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml +++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml @@ -11,6 +11,18 @@ </where> order by create_time desc </select> + <select id="selectAllWalletCoinOrderBySymbol" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity"> + select * from coins_order_deal + <where> + <if test="memberId != null and memberId != ''"> + and member_id = #{memberId} + </if> + <if test="symbol != null and symbol != ''"> + and symbol = #{symbol} + </if> + </where> + order by create_time desc + </select> <select id="selectWalletCoinOrder" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity"> select * from coins_order_deal where order_id= #{orderId} and member_id = #{memberId} -- Gitblit v1.9.1