admin
2020-04-15 ee5c8055b1c0dd7c67a9025a76b10bd287c93d9a
fanli/src/main/java/com/yeshi/fanli/service/impl/money/InviteOrderSubsidyDebtServiceImpl.java
@@ -25,7 +25,7 @@
   @Resource
   private InviteOrderSubsidyDebtRepayHistoryMapper inviteOrderSubsidyDebtRepayHistoryMapper;
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void addDebt(InviteOrderSubsidyDebt debt) throws InviteOrderSubsidyDebtException {
      if (debt == null || debt.getOriginMoney() == null || debt.getOriginMoney() == null || debt.getUid() == null) {
@@ -37,7 +37,7 @@
      inviteOrderSubsidyDebtMapper.insertSelective(debt);
   }
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void repayDebt(Long debtId, BigDecimal money) throws InviteOrderSubsidyDebtException {
      InviteOrderSubsidyDebt debt = inviteOrderSubsidyDebtMapper.selectByPrimaryKeyForUpdate(debtId);
@@ -62,15 +62,16 @@
      inviteOrderSubsidyDebtRepayHistoryMapper.insertSelective(record);
   }
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   @Override
   public BigDecimal repayDebtByUid(Long uid, BigDecimal money) throws InviteOrderSubsidyDebtException {
   public BigDecimal repayDebtByUid(Long uid, Date maxEstimatePayTime, BigDecimal money)
         throws InviteOrderSubsidyDebtException {
      // 还钱
      long count = countNeedRepayDebt(uid);
      long count = countNeedRepayDebt(uid, maxEstimatePayTime);
      int page = (int) (count % 200 == 0 ? count / 200 : count / 200 + 1);
      List<InviteOrderSubsidyDebt> totalList = new ArrayList<>();
      for (int i = 0; i < page; i++) {
         List<InviteOrderSubsidyDebt> tempList = listNeedRepayDebt(uid, i + 1, 200);
         List<InviteOrderSubsidyDebt> tempList = listNeedRepayDebt(uid, maxEstimatePayTime, i + 1, 200);
         if (tempList != null && tempList.size() > 0) {
            totalList.addAll(tempList);
         }
@@ -95,23 +96,24 @@
         }
      }
      return leftMoney;//返回剩余的资金
      return leftMoney;// 返回剩余的资金
   }
   @Override
   public List<InviteOrderSubsidyDebt> listNeedRepayDebt(Long uid, int page, int count) {
      return inviteOrderSubsidyDebtMapper.listByLeftMoneyAndUid(new BigDecimal("0.01"), null, uid, (page - 1) * count,
            count);
   public List<InviteOrderSubsidyDebt> listNeedRepayDebt(Long uid, Date maxEstimatePayTime, int page, int count) {
      return inviteOrderSubsidyDebtMapper.listByLeftMoneyAndUidAndMaxEstimatePayTime(new BigDecimal("0.01"), null,
            uid, maxEstimatePayTime, (page - 1) * count, count);
   }
   @Override
   public long countNeedRepayDebt(Long uid) {
      return inviteOrderSubsidyDebtMapper.countByLeftMoneyAndUid(new BigDecimal("0.01"), null, uid);
   public long countNeedRepayDebt(Long uid, Date maxEstimatePayTime) {
      return inviteOrderSubsidyDebtMapper.countByLeftMoneyAndUidAndMaxEstimatePayTime(new BigDecimal("0.01"), null,
            uid, maxEstimatePayTime);
   }
   @Override
   public BigDecimal getTotalDebtMoney(Long uid) {
      BigDecimal money = inviteOrderSubsidyDebtMapper.sumLeftMoneyByUid(uid);
   public BigDecimal getTotalDebtMoney(Long uid, Date maxEstimatePayTime) {
      BigDecimal money = inviteOrderSubsidyDebtMapper.sumLeftMoneyByUid(uid, maxEstimatePayTime);
      if (money == null)
         money = new BigDecimal(0);
      return money;