Helius
2020-07-07 1e2e5bc6044278852114c812d87f271a3f1c9b5d
src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java
@@ -70,7 +70,7 @@
      MemberQuickBuySaleVo memberQuickBuySaleVo = new MemberQuickBuySaleVo();
      memberQuickBuySaleVo.setId(memberQuickBuySaleEntity.getId());
      // 返回前台付款方式
      return Result.ok(memberQuickBuySaleVo);
      return Result.ok("提交成功",memberQuickBuySaleVo);
   }
   @Override
@@ -183,19 +183,29 @@
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(),id);
      memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
      memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
      // 判断是否存在足够余额
      MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(),CoinTypeEnum.USDT.toString());
      boolean flag = true;
      while(flag) {
         walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(memberQuickBuySaleEntity.getAmountUsdt()));
         walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(memberQuickBuySaleEntity.getAmountUsdt()));
         int i = memberWalletCoinDao.updateById(walletCoin);
         if(i>0) {
            flag = false;
         }
         walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(),CoinTypeEnum.USDT.toString());
      }
      return Result.ok("成功");
   }
   @Override
   public Result cancelSell(Long id) {
      // 获取当前登录用户
      MemberEntity member = LoginUserUtils.getAppLoginUser();
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(),id);
      if(memberQuickBuySaleEntity!=null) {
         memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
         memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
         MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(),CoinTypeEnum.USDT.toString());
         // 冻结资金返回可用
         int i = memberWalletCoinDao.subFrozenBalance(member.getId(),
               walletCoin.getId(), memberQuickBuySaleEntity.getAmountUsdt());
         if(i<0) {
            return Result.fail("撤单失败");
         }
         return Result.ok("成功");
      }else {
         return Result.fail("订单不存在");
      }
   }
}