xiaoyong931011
2020-06-23 e4b79445e0bf959878b25d6770151ec8a3b33c98
src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java
@@ -8,25 +8,26 @@
import org.springframework.stereotype.Service;
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.LoginUserUtils;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.home.dao.MemberPaymentMethodDao;
import com.xcong.excoin.modules.home.dao.MemberQuickBuySaleDao;
import com.xcong.excoin.modules.home.dto.MemberQuickBuySaleCommitDto;
import com.xcong.excoin.modules.home.dto.MemberQuickBuySaleDto;
import com.xcong.excoin.modules.home.entity.MemberPaymentMethodEntity;
import com.xcong.excoin.modules.home.entity.MemberQuickBuySaleEntity;
import com.xcong.excoin.modules.home.mapper.MemberQuickBuySaleEntityMapper;
import com.xcong.excoin.modules.home.service.MemberQuickBuySaleService;
import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleDetailVo;
import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleVo;
import com.xcong.excoin.modules.member.dao.MemberDao;
import com.xcong.excoin.modules.member.dao.MemberPaymentMethodDao;
import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.platform.dao.PlatformPaymentMethodDao;
import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
@@ -57,6 +58,7 @@
      memberQuickBuySaleEntity.setMemberId(member.getId());
      memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
      memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
      memberQuickBuySaleEntity.setUnitPrice(memberQuickBuySaleDto.getUnitPrice());
      memberQuickBuySaleEntity.setCreateTime(new Date());
      memberQuickBuySaleEntity.setOrderNo(chargeNo);
      memberQuickBuySaleEntity.setOrderType("B");
@@ -68,7 +70,7 @@
      MemberQuickBuySaleVo memberQuickBuySaleVo = new MemberQuickBuySaleVo();
      memberQuickBuySaleVo.setId(memberQuickBuySaleEntity.getId());
      // 返回前台付款方式
      return Result.ok(memberQuickBuySaleVo);
      return Result.ok("提交成功",memberQuickBuySaleVo);
   }
   @Override
@@ -112,7 +114,10 @@
      MemberEntity member = LoginUserUtils.getAppLoginUser();
      QueryWrapper<MemberQuickBuySaleEntity> queryWrapper = new QueryWrapper<>();
      queryWrapper.eq("member_id", member.getId());
      queryWrapper.eq("order_type", type);
      if(!StringUtils.isEmpty(type)) {
         queryWrapper.eq("order_type", type);
      }
      queryWrapper.orderByDesc("id");
      List<MemberQuickBuySaleEntity> memberQuickBuySaleEntityList = memberQuickBuySaleDao.selectList(queryWrapper);
      List<MemberQuickBuySaleDetailVo> memberQuickBuySaleDetailVoList = MemberQuickBuySaleEntityMapper.INSTANCE.entityListToVoList(memberQuickBuySaleEntityList);
      return Result.ok(memberQuickBuySaleDetailVoList);
@@ -175,25 +180,9 @@
   public Result cancelRecharge(Long id) {
      // 获取当前登录用户
      MemberEntity member = LoginUserUtils.getAppLoginUser();
      if(member==null) {
         return Result.fail("登录用户已失效");
      }
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(id,member.getId());
      memberQuickBuySaleEntity.setOrderStatus(1);
      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("成功");
   }
}