feat: 银行卡数量统计编码。

This commit is contained in:
tianyongbao
2026-02-02 19:21:33 +08:00
parent 5be451f7f0
commit 7fc065eaae
6 changed files with 107 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import com.intc.invest.domain.dto.AccountsDto;
import com.intc.invest.domain.dto.AnalysisDto; import com.intc.invest.domain.dto.AnalysisDto;
import com.intc.invest.domain.vo.AccountCalendarVo; import com.intc.invest.domain.vo.AccountCalendarVo;
import com.intc.invest.domain.vo.AccountsVo; import com.intc.invest.domain.vo.AccountsVo;
import com.intc.invest.domain.vo.BankCardStatisticsVo;
import com.intc.invest.domain.vo.OpenCardVo; import com.intc.invest.domain.vo.OpenCardVo;
import com.intc.invest.service.IStatisticAnalysisService; import com.intc.invest.service.IStatisticAnalysisService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -197,4 +198,15 @@ public class StatisticAnalysisController extends BaseController {
return AjaxResult.success(resultMap); return AjaxResult.success(resultMap);
} }
/**
* 按银行统计银行卡数量信用卡、储蓄卡、I类卡、II类卡
*/
@ApiOperation(value="按银行统计银行卡数量",response = BankCardStatisticsVo.class)
@GetMapping("/bankCardStatistics")
public AjaxResult getBankCardStatistics()
{
List<BankCardStatisticsVo> list = iStatisticAnalysisService.getBankCardStatistics();
return AjaxResult.success(list);
}
} }

View File

@@ -0,0 +1,40 @@
package com.intc.invest.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 银行卡统计信息Vo对象
*
* @author system
* @date 2026-02-02
*/
@ApiModel("银行卡统计信息Vo对象")
@Data
public class BankCardStatisticsVo {
/** 银行ID */
@ApiModelProperty(value = "银行ID")
private Long bankId;
/** 银行名称 */
@ApiModelProperty(value = "银行名称")
private String bankName;
/** 信用卡数量 */
@ApiModelProperty(value = "信用卡数量")
private Integer creditCardCount;
/** 储蓄卡总数量 */
@ApiModelProperty(value = "储蓄卡总数量")
private Integer debitCardCount;
/** I类储蓄卡数量 */
@ApiModelProperty(value = "I类储蓄卡数量")
private Integer debitTypeOneCount;
/** II类储蓄卡数量 */
@ApiModelProperty(value = "II类储蓄卡数量")
private Integer debitTypeTwoCount;
}

View File

@@ -113,4 +113,13 @@ public interface StatisticAnalysisMapper {
@DataScope(businessAlias = "t") @DataScope(businessAlias = "t")
public List<OpenCardVo> selectOpenCardList(AccountsDto accountsDto); public List<OpenCardVo> selectOpenCardList(AccountsDto accountsDto);
/**
* 按银行统计银行卡数量
*
* @param accountsDto 查询条件
* @return 银行卡统计信息集合
*/
@DataScope(businessAlias = "a")
public List<BankCardStatisticsVo> selectBankCardStatistics(AccountsDto accountsDto);
} }

View File

@@ -4,6 +4,7 @@ import com.intc.invest.domain.dto.AccountsDto;
import com.intc.invest.domain.dto.AnalysisDto; import com.intc.invest.domain.dto.AnalysisDto;
import com.intc.invest.domain.vo.AccountCalendarVo; import com.intc.invest.domain.vo.AccountCalendarVo;
import com.intc.invest.domain.vo.AccountsVo; import com.intc.invest.domain.vo.AccountsVo;
import com.intc.invest.domain.vo.BankCardStatisticsVo;
import com.intc.invest.domain.vo.CreditReportAnalysisVO; import com.intc.invest.domain.vo.CreditReportAnalysisVO;
import java.util.List; import java.util.List;
@@ -70,5 +71,11 @@ public interface IStatisticAnalysisService {
*/ */
public Map<String, Object> selectOpenCardList(AnalysisDto analysisDto); public Map<String, Object> selectOpenCardList(AnalysisDto analysisDto);
/**
* 按银行统计银行卡数量信用卡、储蓄卡、I类卡、II类卡
*
* @return 银行卡统计信息集合
*/
public List<BankCardStatisticsVo> getBankCardStatistics();
} }

View File

@@ -3402,4 +3402,9 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
return map; return map;
} }
@Override
public List<BankCardStatisticsVo> getBankCardStatistics() {
return statisticAnalysisMapper.selectBankCardStatistics(new AccountsDto());
}
} }

View File

@@ -992,4 +992,38 @@
t.type t.type
</select> </select>
<resultMap type="BankCardStatisticsVo" id="BankCardStatisticsResult">
<result property="bankId" column="bank_id" />
<result property="bankName" column="bank_name" />
<result property="creditCardCount" column="credit_card_count" />
<result property="debitCardCount" column="debit_card_count" />
<result property="debitTypeOneCount" column="debit_type_one_count" />
<result property="debitTypeTwoCount" column="debit_type_two_count" />
</resultMap>
<select id="selectBankCardStatistics" parameterType="AccountsDto" resultMap="BankCardStatisticsResult">
select
b.id as bank_id,
b.bank_name,
COALESCE(SUM(CASE WHEN a.type = '2' THEN 1 ELSE 0 END), 0) as credit_card_count,
COALESCE(SUM(CASE WHEN a.type = '1' THEN 1 ELSE 0 END), 0) as debit_card_count,
COALESCE(SUM(CASE WHEN a.type = '1' AND a.debit_type = '1' THEN 1 ELSE 0 END), 0) as debit_type_one_count,
COALESCE(SUM(CASE WHEN a.type = '1' AND a.debit_type = '2' THEN 1 ELSE 0 END), 0) as debit_type_two_count
from
bank_base_info b
inner join bank_card_lend a on
a.bank_id = b.id
and a.del_flag = '0'
and a.status = '1'
where
b.del_flag = '0'
<!-- 数据范围过滤 -->
${params.dataScope}
group by
b.id,
b.bank_name
order by
b.bank_name
</select>
</mapper> </mapper>