fix: 信用卡账单新增最新交易时间字段。

This commit is contained in:
2025-06-13 13:26:22 +08:00
parent 16c73fe3d2
commit f71d6745ee
2 changed files with 85 additions and 59 deletions

View File

@@ -45,6 +45,10 @@ public class CreditCardBillVo extends CreditCardBill
@ApiModelProperty(value="还款日)")
private int payDate;
/** 最新交易时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date recentDealTime;
}

View File

@@ -24,70 +24,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="dailyExpensesCount" column="daily_expenses_count" />
<result property="availableLimit" column="available_limit" />
<result property="payDate" column="pay_date" />
<result property="recentDealTime" column="recent_deal_time" />
</resultMap>
<sql id="selectCreditCardBillVo">
select
a.id,
a.name,
a.bill_date,
a.credit_card_id,
a.bill_date_period,
a.bill_amount,
a.create_by,
a.create_time,
a.update_by,
a.update_time,
a.del_flag,
a.bill_state,
a.remark,
bc."name" as bank_name,
bc.pay_date,
bc.code as bank_code,
a2.available_limit,
(
select
count(*)
a.id,
a.name,
a.bill_date,
a.credit_card_id,
a.bill_date_period,
a.bill_amount,
a.create_by,
a.create_time,
a.update_by,
a.update_time,
a.del_flag,
a.bill_state,
a.remark,
bc."name" as bank_name,
bc.pay_date,
bc.code as bank_code,
a2.available_limit,
(
select
count(*)
from
accounts_deal_record adr
where
adr.account_id = a.credit_card_id
and adr.deal_type = '2'
and to_char(adr.create_time,
'yyyy-MM-dd')>= split_part(a.bill_date_period,
'~',
1)
and split_part(a.bill_date_period,
'~',
2)>= to_char(adr.create_time,
'yyyy-MM-dd')
and adr.deal_category = '5'
and adr.del_flag = '0'
) as pos_count,
(
select
count(*)
from
accounts_deal_record adr
where
adr.account_id = a.credit_card_id
and adr.deal_type = '2'
and to_char(adr.create_time,
'yyyy-MM-dd')>= split_part(a.bill_date_period,
'~',
1)
and split_part(a.bill_date_period,
'~',
2)>= to_char(adr.create_time,
'yyyy-MM-dd')
and adr.deal_category = '1'
and adr.del_flag = '0'
) as daily_expenses_count,
(
select
create_time
from
accounts_deal_record adr
where
adr.account_id = a.credit_card_id
and to_char(adr.create_time,
'yyyy-MM-dd')>= split_part(a.bill_date_period,
'~',
1)
and split_part(a.bill_date_period,
'~',
2)>= to_char(adr.create_time,
'yyyy-MM-dd')
and adr.del_flag = '0'
order by
adr.create_time desc
limit 1
) as recent_deal_time
from
accounts_deal_record adr
where
adr.account_id = a.credit_card_id
and adr.deal_type = '2'
and to_char(adr.create_time,
'yyyy-MM-dd')>=split_part(a.bill_date_period,
'~',
1)
and split_part(a.bill_date_period,
'~',
2)>= to_char(adr.create_time,
'yyyy-MM-dd')
and adr.deal_category = '5'
and adr.del_flag='0'
) as pos_count,
(
select
count(*)
from
accounts_deal_record adr
where
adr.account_id = a.credit_card_id
and adr.deal_type = '2'
and to_char(adr.create_time,
'yyyy-MM-dd')>=split_part(a.bill_date_period,
'~',
1)
and split_part(a.bill_date_period,
'~',
2)>= to_char(adr.create_time,
'yyyy-MM-dd')
and adr.deal_category = '1'
and adr.del_flag='0'
) as daily_expenses_count
from
credit_card_bill a
left join bank_card_lend bc on
bc.id = a.credit_card_id
left join accounts a2 on a2.id =a.credit_card_id
credit_card_bill a
left join bank_card_lend bc on
bc.id = a.credit_card_id
left join accounts a2 on
a2.id = a.credit_card_id
</sql>
<select id="selectCreditCardBillList" parameterType="CreditCardBillDto" resultMap="CreditCardBillResult">