fix: 账户统计功能优化。

This commit is contained in:
tianyongbao
2025-05-14 10:02:27 +08:00
parent 451d33532d
commit a1dcc56a23
3 changed files with 49 additions and 6 deletions

View File

@@ -39,6 +39,10 @@ public class AccountsVo extends Accounts
@ApiModelProperty(value="储蓄卡类型1I类卡,2:II类卡")
private String debitType;
/** 类型1期货2股票 */
@ApiModelProperty(value="投资类型1期货2股票 */")
private String investType;
@ApiModelProperty(value="名称卡号可用额度")
private String nameCodeAvailableLimit;

View File

@@ -15,6 +15,7 @@ import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class StatisticAnalysisImpl implements IStatisticAnalysisService {
@@ -1665,14 +1666,37 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
//储蓄卡
dto.setType("1");
//只计算储蓄卡账户的余额
dto.setRepayFlag("1");
dto.setRepayFlag("");
double debitAllBalance =0;
List<AccountsVo> accountsList=accountsMapper.selectAccountsList(dto);
double debetBalance =0;
if(accountsList.size()>0){
debetBalance=accountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
debitAllBalance=accountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
map.put("debitBalance",decimalFormat.format(debetBalance));
map.put("debitAllBalance",decimalFormat.format(debitAllBalance));
//只计算储蓄卡账户的余额
dto.setRepayFlag("1");
accountsList=accountsMapper.selectAccountsList(dto);
List<AccountsVo> IaccountsList=accountsList.stream().filter(x -> x.getDebitType().equals("1")).collect(Collectors.toList());
List<AccountsVo> IIaccountsList=accountsList.stream().filter(x -> x.getDebitType().equals("2")).collect(Collectors.toList());
double debitBalance =0;
double idebitBalance =0;
double iidebitBalance =0;
if(accountsList.size()>0){
debitBalance=accountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
if(IaccountsList.size()>0){
idebitBalance=IaccountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
if(IIaccountsList.size()>0){
iidebitBalance=IIaccountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
map.put("debitBalance",decimalFormat.format(debitBalance));
map.put("idebitBalance",decimalFormat.format(idebitBalance));
map.put("iidebitBalance",decimalFormat.format(iidebitBalance));
map.put("debitBalance",decimalFormat.format(debitBalance));
//信用卡
dto.setType("2");
dto.setRepayFlag("");
@@ -1689,11 +1713,23 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
//投资账户
dto.setType("5");
accountsList=accountsMapper.selectAccountsList(dto);
List<AccountsVo> stocksList=accountsList.stream().filter(x -> x.getInvestType().equals("2")).collect(Collectors.toList());
List<AccountsVo> futuresList=accountsList.stream().filter(x -> x.getInvestType().equals("1")).collect(Collectors.toList());
double investBalance =0;
double stocksBalance =0;
double futuresBalance =0;
if(accountsList.size()>0){
investBalance=accountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
if(stocksList.size()>0){
stocksBalance=stocksList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
if(futuresList.size()>0){
futuresBalance=futuresList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
}
map.put("investBalance",decimalFormat.format(investBalance));
map.put("stocksBalance",decimalFormat.format(stocksBalance));
map.put("futuresBalance",decimalFormat.format(futuresBalance));
//借贷账户
dto.setType("3");