From a1dcc56a239bd28fc036ebc532fe90308a5f5dfa Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Wed, 14 May 2025 10:02:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B4=A6=E6=88=B7=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/intc/invest/domain/vo/AccountsVo.java | 4 ++ .../service/impl/StatisticAnalysisImpl.java | 44 +++++++++++++++++-- .../mapper/invest/AccountsMapper.xml | 7 ++- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsVo.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsVo.java index 7428e07..8ed0209 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsVo.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsVo.java @@ -39,6 +39,10 @@ public class AccountsVo extends Accounts @ApiModelProperty(value="储蓄卡类型,1:I类卡,2:II类卡") private String debitType; + /** 类型,1期货,2股票 */ + @ApiModelProperty(value="投资类型,1期货,2股票 */") + private String investType; + @ApiModelProperty(value="名称卡号可用额度") private String nameCodeAvailableLimit; diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java index 64c0c4a..e1a9505 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java @@ -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 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 IaccountsList=accountsList.stream().filter(x -> x.getDebitType().equals("1")).collect(Collectors.toList()); + List 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 stocksList=accountsList.stream().filter(x -> x.getInvestType().equals("2")).collect(Collectors.toList()); + List 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"); diff --git a/intc-modules/intc-invest/src/main/resources/mapper/invest/AccountsMapper.xml b/intc-modules/intc-invest/src/main/resources/mapper/invest/AccountsMapper.xml index 8744208..56d09b6 100644 --- a/intc-modules/intc-invest/src/main/resources/mapper/invest/AccountsMapper.xml +++ b/intc-modules/intc-invest/src/main/resources/mapper/invest/AccountsMapper.xml @@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -52,6 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bcl.pay_date , bcl.credit_limit , bcl.debit_type, + invest.type as invest_type, bcl.lend_type, (select create_time from accounts_deal_record adr where adr.account_id=a.account_id order by adr.create_time desc @@ -59,8 +61,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) as recent_deal_time from accounts a - left join bank_card_lend bcl on - bcl.id = a.id + left join bank_card_lend bcl on bcl.id = a.id + left join future_stocks invest on invest.id = a.id +