| | |
| | | @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) {
|
| | |
| | | inviteOrderSubsidyDebtMapper.insertSelective(debt);
|
| | | }
|
| | |
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | @Override
|
| | | public void repayDebt(Long debtId, BigDecimal money) throws InviteOrderSubsidyDebtException {
|
| | | InviteOrderSubsidyDebt debt = inviteOrderSubsidyDebtMapper.selectByPrimaryKeyForUpdate(debtId);
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | 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;
|