fix: 定时job修改,信用卡分期已入账后修改主表已还期数。
This commit is contained in:
@@ -5,13 +5,16 @@ import com.ruoyi.common.core.utils.IdWorker;
|
|||||||
import com.ruoyi.common.core.utils.StringUtils;
|
import com.ruoyi.common.core.utils.StringUtils;
|
||||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||||
import com.ruoyi.invest.domain.AccountsDealRecord;
|
import com.ruoyi.invest.domain.AccountsDealRecord;
|
||||||
|
import com.ruoyi.invest.domain.InstallmentHistory;
|
||||||
import com.ruoyi.invest.domain.InstallmentHistoryDetail;
|
import com.ruoyi.invest.domain.InstallmentHistoryDetail;
|
||||||
import com.ruoyi.invest.domain.dto.InstallmentHistoryDetailDto;
|
import com.ruoyi.invest.domain.dto.InstallmentHistoryDetailDto;
|
||||||
import com.ruoyi.invest.domain.vo.AccountsVo;
|
import com.ruoyi.invest.domain.vo.AccountsVo;
|
||||||
import com.ruoyi.invest.domain.vo.InstallmentHistoryDetailVo;
|
import com.ruoyi.invest.domain.vo.InstallmentHistoryDetailVo;
|
||||||
|
import com.ruoyi.invest.domain.vo.InstallmentHistoryVo;
|
||||||
import com.ruoyi.invest.mapper.AccountsDealRecordMapper;
|
import com.ruoyi.invest.mapper.AccountsDealRecordMapper;
|
||||||
import com.ruoyi.invest.mapper.AccountsMapper;
|
import com.ruoyi.invest.mapper.AccountsMapper;
|
||||||
import com.ruoyi.invest.mapper.InstallmentHistoryDetailMapper;
|
import com.ruoyi.invest.mapper.InstallmentHistoryDetailMapper;
|
||||||
|
import com.ruoyi.invest.mapper.InstallmentHistoryMapper;
|
||||||
import com.ruoyi.invest.service.IInstallmentHistoryDetailService;
|
import com.ruoyi.invest.service.IInstallmentHistoryDetailService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -37,6 +40,9 @@ public class InstallmentHistoryDetailServiceImpl implements IInstallmentHistoryD
|
|||||||
@Resource
|
@Resource
|
||||||
private AccountsDealRecordMapper accountsDealRecordMapper;
|
private AccountsDealRecordMapper accountsDealRecordMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InstallmentHistoryMapper installmentHistoryMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询分期历史明细
|
* 查询分期历史明细
|
||||||
*
|
*
|
||||||
@@ -89,6 +95,16 @@ public class InstallmentHistoryDetailServiceImpl implements IInstallmentHistoryD
|
|||||||
{
|
{
|
||||||
installmentHistoryDetail.setUpdateBy(SecurityUtils.getUsername());
|
installmentHistoryDetail.setUpdateBy(SecurityUtils.getUsername());
|
||||||
installmentHistoryDetail.setUpdateTime(DateUtils.getNowDate());
|
installmentHistoryDetail.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
//如果是已入账,更新主表已还期数。
|
||||||
|
if("1".equals(installmentHistoryDetail.getPostingState())){
|
||||||
|
//更新主表已还期数
|
||||||
|
InstallmentHistoryVo historyVo=installmentHistoryMapper.selectInstallmentHistoryById(installmentHistoryDetail.getInstallmentHistoryId());
|
||||||
|
InstallmentHistory his=new InstallmentHistory();
|
||||||
|
his.setRepaidPeriod(historyVo.getRepaidPeriod()+1);
|
||||||
|
his.setId(historyVo.getId());
|
||||||
|
his.setUpdateTime(new Date());
|
||||||
|
installmentHistoryMapper.updateInstallmentHistory(his);
|
||||||
|
}
|
||||||
//如果是信用卡分期
|
//如果是信用卡分期
|
||||||
if(installmentHistoryDetail.getType().equals("2")){
|
if(installmentHistoryDetail.getType().equals("2")){
|
||||||
//已入账
|
//已入账
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.utils.StringUtils;
|
|||||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||||
import com.ruoyi.invest.domain.AccountsDealRecord;
|
import com.ruoyi.invest.domain.AccountsDealRecord;
|
||||||
import com.ruoyi.invest.domain.CreditCardBill;
|
import com.ruoyi.invest.domain.CreditCardBill;
|
||||||
|
import com.ruoyi.invest.domain.InstallmentHistory;
|
||||||
import com.ruoyi.invest.domain.InstallmentHistoryDetail;
|
import com.ruoyi.invest.domain.InstallmentHistoryDetail;
|
||||||
import com.ruoyi.invest.domain.dto.AccountsDealRecordDto;
|
import com.ruoyi.invest.domain.dto.AccountsDealRecordDto;
|
||||||
import com.ruoyi.invest.domain.dto.BankCardLendDto;
|
import com.ruoyi.invest.domain.dto.BankCardLendDto;
|
||||||
@@ -20,9 +21,7 @@ import javax.annotation.Resource;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Calendar;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,7 +46,8 @@ public class InvestJobImpl implements IInvestJobService
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private InstallmentHistoryDetailMapper installmentHistoryDetailMapper;
|
private InstallmentHistoryDetailMapper installmentHistoryDetailMapper;
|
||||||
|
@Resource
|
||||||
|
private InstallmentHistoryMapper installmentHistoryMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成数据
|
* 生成数据
|
||||||
@@ -201,7 +201,13 @@ public class InvestJobImpl implements IInvestJobService
|
|||||||
int daysDiff = Long.valueOf(TimeUnit.MILLISECONDS.toDays(diffInMillis)).intValue();
|
int daysDiff = Long.valueOf(TimeUnit.MILLISECONDS.toDays(diffInMillis)).intValue();
|
||||||
//入账日期小于一个月的
|
//入账日期小于一个月的
|
||||||
if("1".equals(installmentHistoryDetail.getPostingState())&&daysDiff<31){
|
if("1".equals(installmentHistoryDetail.getPostingState())&&daysDiff<31){
|
||||||
|
//更新主表已还期数
|
||||||
|
InstallmentHistoryVo historyVo=installmentHistoryMapper.selectInstallmentHistoryById(installmentHistoryDetail.getInstallmentHistoryId());
|
||||||
|
InstallmentHistory his=new InstallmentHistory();
|
||||||
|
his.setRepaidPeriod(historyVo.getRepaidPeriod()+1);
|
||||||
|
his.setId(historyVo.getId());
|
||||||
|
his.setUpdateTime(new Date());
|
||||||
|
installmentHistoryMapper.updateInstallmentHistory(his);
|
||||||
//信用卡账户余额计算
|
//信用卡账户余额计算
|
||||||
AccountsVo creditAccount=accountsMapper.selectAccountsById(installmentHistoryDetail.getBankCardLendId());
|
AccountsVo creditAccount=accountsMapper.selectAccountsById(installmentHistoryDetail.getBankCardLendId());
|
||||||
creditAccount.setBalance(creditAccount.getBalance()-installmentHistoryDetail.getInterest());
|
creditAccount.setBalance(creditAccount.getBalance()-installmentHistoryDetail.getInterest());
|
||||||
@@ -229,8 +235,8 @@ public class InvestJobImpl implements IInvestJobService
|
|||||||
creditDeal.setRemark("分期利息");
|
creditDeal.setRemark("分期利息");
|
||||||
creditDeal.setCreateBy(SecurityUtils.getUsername());
|
creditDeal.setCreateBy(SecurityUtils.getUsername());
|
||||||
creditDeal.setCreateTime(new Date());
|
creditDeal.setCreateTime(new Date());
|
||||||
accountsDealRecordMapper.insertAccountsDealRecord(creditDeal);
|
// accountsDealRecordMapper.insertAccountsDealRecord(creditDeal);
|
||||||
|
insertAccountsDealRecord(creditDeal);
|
||||||
}
|
}
|
||||||
//信用卡消费记录明细,应还本金
|
//信用卡消费记录明细,应还本金
|
||||||
AccountsDealRecord creditDealPrinciple=new AccountsDealRecord();
|
AccountsDealRecord creditDealPrinciple=new AccountsDealRecord();
|
||||||
@@ -251,7 +257,8 @@ public class InvestJobImpl implements IInvestJobService
|
|||||||
creditDealPrinciple.setRemark("应还本金");
|
creditDealPrinciple.setRemark("应还本金");
|
||||||
creditDealPrinciple.setCreateBy(SecurityUtils.getUsername());
|
creditDealPrinciple.setCreateBy(SecurityUtils.getUsername());
|
||||||
creditDealPrinciple.setCreateTime(new Date());
|
creditDealPrinciple.setCreateTime(new Date());
|
||||||
accountsDealRecordMapper.insertAccountsDealRecord(creditDealPrinciple);
|
// accountsDealRecordMapper.insertAccountsDealRecord(creditDealPrinciple);
|
||||||
|
insertAccountsDealRecord(creditDealPrinciple);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -260,5 +267,38 @@ public class InvestJobImpl implements IInvestJobService
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int insertAccountsDealRecord(AccountsDealRecord accountsDealRecord)
|
||||||
|
{
|
||||||
|
accountsDealRecord.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
accountsDealRecord.setId(IdWorker.getId());
|
||||||
|
|
||||||
|
//获取最新一条记录的数据,计算余额
|
||||||
|
Map<String, Object> lastMap = new HashMap<>();
|
||||||
|
lastMap.put("startDateTime", accountsDealRecord.getCreateTime());
|
||||||
|
lastMap.put("accountId", accountsDealRecord.getAccountId());
|
||||||
|
AccountsDealRecord lastOneAccountsDealRecord=accountsDealRecordMapper.getLastOneAccountsDealRecordByMap(lastMap);
|
||||||
|
if(lastOneAccountsDealRecord==null){
|
||||||
|
lastOneAccountsDealRecord=new AccountsDealRecord();
|
||||||
|
lastOneAccountsDealRecord.setCurrentBalance(0d);
|
||||||
|
}
|
||||||
|
//收入
|
||||||
|
if(accountsDealRecord.getDealType().equals("1")){
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("startDateTime", accountsDealRecord.getCreateTime());
|
||||||
|
map.put("accountId", accountsDealRecord.getAccountId());
|
||||||
|
map.put("currentBalance", accountsDealRecord.getAmount());
|
||||||
|
accountsDealRecordMapper.batchPlusCurrentBalance(map);
|
||||||
|
}
|
||||||
|
//支出
|
||||||
|
if(accountsDealRecord.getDealType().equals("2")){
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("startDateTime", accountsDealRecord.getCreateTime());
|
||||||
|
map.put("accountId", accountsDealRecord.getAccountId());
|
||||||
|
map.put("currentBalance", accountsDealRecord.getAmount());
|
||||||
|
accountsDealRecordMapper.batchMinusCurrentBalance(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
return accountsDealRecordMapper.insertAccountsDealRecord(accountsDealRecord);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user