feat: 招商银行 PDF 账单导入、跨格式去重与导入性能优化
- 新增招商银行「交易流水」PDF 解析(PDFBox 坐标还原,支持多页与折行),CSV/PDF 去重标识统一,支持跨格式去重 - 账单导入改为批量插入,MyBatis 日志改 Slf4j,导入接口超时放宽至 120s - 交易导出 Excel 增加样式、冻结表头与自动筛选,导出前二次确认 - 交易列表展示不计入统计金额,导入预览支持设置「计入统计」
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.rosercode.finance.mapper.TransactionMapper">
|
||||
|
||||
<!--
|
||||
批量插入交易记录:将逐条 INSERT 合并为多值 INSERT,减少数据库往返。
|
||||
注意 remark_hidden / include_in_stats 为 NOT NULL 且带默认值,实体未设置时以默认值兜底。
|
||||
-->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO t_transaction
|
||||
(user_id, category_id, type, amount, payment_method, remark, remark_hidden,
|
||||
external_no, transaction_time, include_in_stats, raw_data)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.userId}, #{item.categoryId}, #{item.type}, #{item.amount}, #{item.paymentMethod},
|
||||
#{item.remark}, IFNULL(#{item.remarkHidden}, 0), #{item.externalNo},
|
||||
#{item.transactionTime}, IFNULL(#{item.includeInStats}, 1), #{item.rawData})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user