fix: 账户总览新增接口。

This commit is contained in:
tianyongbao
2024-05-06 13:19:18 +08:00
parent dd99c1fe3b
commit 7e4c84edbf
4 changed files with 101 additions and 8 deletions

View File

@@ -28,4 +28,11 @@ public class InstallmentHistoryVo extends InstallmentHistory
@ApiModelProperty(value="最近还款日)") @ApiModelProperty(value="最近还款日)")
private Date repaymentDate; private Date repaymentDate;
@ApiModelProperty(value="剩余本金)")
private Double outstandingPrincipal;
@ApiModelProperty(value="剩余利息)")
private Double outstandingInterest;
} }

View File

@@ -567,7 +567,7 @@ public class AccountsTransferRecordServiceImpl implements IAccountsTransferRecor
if(accountsTransferRecord.getDealType().equals("1")){ if(accountsTransferRecord.getDealType().equals("1")){
debitAccount.setBalance(debitAccount.getBalance()+accountsTransferRecord.getActualAmount()); debitAccount.setBalance(debitAccount.getBalance()+accountsTransferRecord.getActualAmount());
}else if(accountsTransferRecord.getDealType().equals("2")){ }else if(accountsTransferRecord.getDealType().equals("2")){
debitAccount.setBalance(debitAccount.getBalance()-accountsTransferRecord.getActualAmount()); debitAccount.setBalance(debitAccount.getBalance()-accountsTransferRecord.getActualAmount()-accountsTransferRecord.getCommission());
} }
debitAccount.setAvailableLimit(debitAccount.getBalance()); debitAccount.setAvailableLimit(debitAccount.getBalance());
debitAccount.setUpdateTime(accountsTransferRecord.getCreateTime()); debitAccount.setUpdateTime(accountsTransferRecord.getCreateTime());
@@ -577,7 +577,7 @@ public class AccountsTransferRecordServiceImpl implements IAccountsTransferRecor
dealRecord.setAccountId(debitAccount.getAccountId()); dealRecord.setAccountId(debitAccount.getAccountId());
dealRecord.setId(IdWorker.getId()); dealRecord.setId(IdWorker.getId());
//支出金额 //支出金额
dealRecord.setAmount(accountsTransferRecord.getAmount()); dealRecord.setAmount(accountsTransferRecord.getAmount()+accountsTransferRecord.getCommission());
//实时余额 //实时余额
dealRecord.setCurrentBalance(debitAccount.getBalance()); dealRecord.setCurrentBalance(debitAccount.getBalance());
//1储蓄卡2 信用卡3 网贷4 人情5 投资账户 //1储蓄卡2 信用卡3 网贷4 人情5 投资账户
@@ -586,16 +586,18 @@ public class AccountsTransferRecordServiceImpl implements IAccountsTransferRecor
//1表示借款2表示还款 //1表示借款2表示还款
if(accountsTransferRecord.getDealType().equals("1")){ if(accountsTransferRecord.getDealType().equals("1")){
dealRecord.setDealType("1"); dealRecord.setDealType("1");
//储蓄卡转账至投资账户 dealRecord.setRemark("借贷记账借款。");
//投资账户账至储蓄卡转
dealRecord.setName(lendVo.getName()+""+StringUtils.getLastNumberChars(3,lendVo.getCode())+")借款至"+debitCardVo.getName()+""+StringUtils.getLastNumberChars(3,debitCardVo.getCode())+""); dealRecord.setName(lendVo.getName()+""+StringUtils.getLastNumberChars(3,lendVo.getCode())+")借款至"+debitCardVo.getName()+""+StringUtils.getLastNumberChars(3,debitCardVo.getCode())+"");
}else if(accountsTransferRecord.getDealType().equals("2")){ }else if(accountsTransferRecord.getDealType().equals("2")){
dealRecord.setDealType("2"); dealRecord.setDealType("2");
//投资账户账至储蓄卡转 dealRecord.setRemark("借贷记账还款,本息合计。");
//储蓄卡还款至投资账户
dealRecord.setName(debitCardVo.getName()+""+StringUtils.getLastNumberChars(3,debitCardVo.getCode())+")还款至"+lendVo.getName()+""+StringUtils.getLastNumberChars(3,lendVo.getCode())+""); dealRecord.setName(debitCardVo.getName()+""+StringUtils.getLastNumberChars(3,debitCardVo.getCode())+")还款至"+lendVo.getName()+""+StringUtils.getLastNumberChars(3,lendVo.getCode())+"");
} }
//投资账户转账 //投资账户转账
dealRecord.setDealCategory("9"); dealRecord.setDealCategory("9");
dealRecord.setRemark("借贷记账");
dealRecord.setCreateBy(SecurityUtils.getUsername()); dealRecord.setCreateBy(SecurityUtils.getUsername());
dealRecord.setCreateTime(accountsTransferRecord.getCreateTime()); dealRecord.setCreateTime(accountsTransferRecord.getCreateTime());
accountsDealRecordMapper.insertAccountsDealRecord(dealRecord); accountsDealRecordMapper.insertAccountsDealRecord(dealRecord);

View File

@@ -147,10 +147,16 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
detailDto.setState("0"); detailDto.setState("0");
List<InstallmentHistoryDetailVo> detailList=installmentHistoryDetailMapper.selectInstallmentHistoryDetailList(detailDto); List<InstallmentHistoryDetailVo> detailList=installmentHistoryDetailMapper.selectInstallmentHistoryDetailList(detailDto);
double unClearedOnlineDebt = 0; double unClearedOnlineDebt = 0;
double unClearedOnlineDebtPrinciple = 0;
double unClearedOnlineDebtInterest = 0;
if(detailList.size()>0){ if(detailList.size()>0){
unClearedOnlineDebt=detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getCurrentAmount).sum(); unClearedOnlineDebtPrinciple=detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getPrincipal).sum();
unClearedOnlineDebtInterest=detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getInterest).sum();
unClearedOnlineDebt=unClearedOnlineDebtPrinciple+unClearedOnlineDebtInterest;
} }
map.put("unClearedOnlineDebt",decimalFormat.format(unClearedOnlineDebt)); map.put("unClearedOnlineDebt",decimalFormat.format(unClearedOnlineDebt));
map.put("unClearedOnlineDebtPrinciple",decimalFormat.format(unClearedOnlineDebtPrinciple));
map.put("unClearedOnlineDebtInterest",decimalFormat.format(unClearedOnlineDebtInterest));
//信用卡分期账单 //信用卡分期账单
detailDto.setType("2"); detailDto.setType("2");
@@ -197,10 +203,16 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
installmentHistoryDto.setType("3"); installmentHistoryDto.setType("3");
installmentHistoryList=installmentHistoryMapper.selectInstallmentHistoryList(installmentHistoryDto); installmentHistoryList=installmentHistoryMapper.selectInstallmentHistoryList(installmentHistoryDto);
double clearedOnlineDebt =0; double clearedOnlineDebt =0;
double clearedOnlineDebtPrinciple =0;
double clearedOnlineDebtInterest =0;
if(installmentHistoryList.size()>0){ if(installmentHistoryList.size()>0){
clearedOnlineDebt = installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getInstallmentAmount).sum()+installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getTotalInterest).sum(); clearedOnlineDebtPrinciple = installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getInstallmentAmount).sum();
clearedOnlineDebtInterest = installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getTotalInterest).sum();
clearedOnlineDebt=clearedOnlineDebtPrinciple+clearedOnlineDebtInterest;
} }
map.put("clearedOnlineDebt",decimalFormat.format(clearedOnlineDebt)); map.put("clearedOnlineDebt",decimalFormat.format(clearedOnlineDebt));
map.put("clearedOnlineDebtPrinciple",decimalFormat.format(clearedOnlineDebtPrinciple));
map.put("clearedOnlineDebtInterest",decimalFormat.format(clearedOnlineDebtInterest));
//网贷当月应还款 //网贷当月应还款
detailDto.setRepaymentMonth(formatterMonth.format(new Date())); detailDto.setRepaymentMonth(formatterMonth.format(new Date()));
@@ -253,6 +265,49 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
double creditInstallment = detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getCurrentAmount).sum(); double creditInstallment = detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getCurrentAmount).sum();
map.put("creditInstallment",decimalFormat.format(creditInstallment)); map.put("creditInstallment",decimalFormat.format(creditInstallment));
detailDto.setState("0");
detailDto.setRepaymentMonth("");
detailList=installmentHistoryDetailMapper.selectInstallmentHistoryDetailList(detailDto);
double unclearedCreditInstallment = 0;
double unclearedCreditInstallmentPrinciple = 0;
double unclearedCreditInstallmentInterest = 0;
if(detailList.size()>0){
unclearedCreditInstallmentPrinciple=detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getPrincipal).sum();
unclearedCreditInstallmentInterest=detailList.stream().mapToDouble(InstallmentHistoryDetailVo::getInterest).sum();
unclearedCreditInstallment=unclearedCreditInstallmentPrinciple+unclearedCreditInstallmentInterest;
}
map.put("unclearedCreditInstallment",decimalFormat.format(unclearedCreditInstallment));
map.put("unclearedCreditInstallmentPrinciple",decimalFormat.format(unclearedCreditInstallmentPrinciple));
map.put("unclearedCreditInstallmentInterest",decimalFormat.format(unclearedCreditInstallmentInterest));
//已结清信用卡分期数据
InstallmentHistoryDto installmentHistoryDto=new InstallmentHistoryDto();
installmentHistoryDto.setState("1");
installmentHistoryDto.setType("2");
List<InstallmentHistoryVo> installmentHistoryList=installmentHistoryMapper.selectInstallmentHistoryList(installmentHistoryDto);
double clearedCreditInstallmentDebt =0;
double clearedCreditInstallmentPrinciple =0;
double clearedCreditInstallmentInterest =0;
if(installmentHistoryList.size()>0){
clearedCreditInstallmentPrinciple = installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getInstallmentAmount).sum();
clearedCreditInstallmentInterest = installmentHistoryList.stream().mapToDouble(InstallmentHistoryVo::getTotalInterest).sum();
clearedCreditInstallmentDebt=clearedCreditInstallmentPrinciple+clearedCreditInstallmentInterest;
}
map.put("clearedCreditInstallmentDebt",decimalFormat.format(clearedCreditInstallmentDebt));
map.put("clearedCreditInstallmentPrinciple",decimalFormat.format(clearedCreditInstallmentPrinciple));
map.put("clearedCreditInstallmentInterest",decimalFormat.format(clearedCreditInstallmentInterest));
int clearedCreditInstallmentCount = installmentHistoryList.size();
map.put("clearedCreditInstallmentCount",clearedCreditInstallmentCount);
installmentHistoryDto.setState("0");
installmentHistoryDto.setType("2");
installmentHistoryList=installmentHistoryMapper.selectInstallmentHistoryList(installmentHistoryDto);
int unclearedCreditInstallmentCount = installmentHistoryList.size();
map.put("unclearedCreditInstallmentCount",unclearedCreditInstallmentCount);
//信用卡额度 //信用卡额度
BankCardLendDto bankCardLendDto=new BankCardLendDto(); BankCardLendDto bankCardLendDto=new BankCardLendDto();
bankCardLendDto.setType("2"); bankCardLendDto.setType("2");

View File

@@ -30,6 +30,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="bankCode" column="bank_code" /> <result property="bankCode" column="bank_code" />
<result property="repaymentDate" column="repayment_date" /> <result property="repaymentDate" column="repayment_date" />
<result property="calculateInterestRate" column="calculate_interest_rate" /> <result property="calculateInterestRate" column="calculate_interest_rate" />
<result property="outstandingInterest" column="outstanding_interest" />
<result property="outstandingPrincipal" column="outstanding_principal" />
</resultMap> </resultMap>
<sql id="selectInstallmentHistoryVo"> <sql id="selectInstallmentHistoryVo">
@@ -53,10 +55,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
installment_history_detail ihd installment_history_detail ihd
where where
ihd.installment_history_id = a.id ihd.installment_history_id = a.id
and ihd .posting_state = '0' and ihd.posting_state = '0'
and ihd.del_flag='0'
) as balance, ) as balance,
( (
select select
CASE
WHEN sum(ihd.interest) is null THEN 0
ELSE sum(ihd.interest)
END
from
installment_history_detail ihd
where
ihd.installment_history_id = a.id
and ihd.posting_state = '0'
and ihd.del_flag='0'
) as outstanding_interest,
(
select
CASE
WHEN sum(ihd.principal) is null THEN 0
ELSE sum(ihd.principal)
END
from
installment_history_detail ihd
where
ihd.installment_history_id = a.id
and ihd.posting_state = '0'
and ihd.del_flag='0'
) as outstanding_principal,
(
select
min(d.repayment_date) min(d.repayment_date)
from from
installment_history_detail d installment_history_detail d