Helius
2020-06-02 8b69c02da0657625068c039b6996d80ed6c15783
Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin
7 files modified
92 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinDealDao.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinDealVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/TransactionPageOfWalletCoinVo.java 10 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java 44 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml 12 ●●●●● patch | view | raw | blame | history
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);
    }
    
    /**
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);
    
}
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 = "手续费")
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;
    /**
     * 当前价
     */
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);
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);
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}