Files
ccdi/assets/对接流水分析/ccdi_bank_statement.md

5.4 KiB
Raw Blame History

银行流水中间表 ccdi_bank_statement

去重相关字段

  • project_id:业务项目主键,导入时由后端写入,迁移后要求 NOT NULL
  • LE_ACCOUNT_NO:企业银行账号,作为去重键之一;入库前服务层会先执行 trim,迁移后要求 NOT NULL DEFAULT ''
  • ACCOUNTING_DATE_ID:账期日期 ID作为去重键之一迁移后要求 NOT NULL
  • 去重唯一键:(project_id, LE_ACCOUNT_NO, ACCOUNTING_DATE_ID, AMOUNT_DR, AMOUNT_CR)
  • 唯一键语义:同一项目、同一账号、同一账期、同一借贷金额的流水只保留一条;重复导入时应通过 no-op upsert 跳过,不改写已有记录。

迁移后的关键结构

CREATE TABLE `ccdi_bank_statement` (
  `bank_statement_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `project_id` bigint(20) NOT NULL COMMENT '关联项目ID',
  `LE_ID` int(10) unsigned DEFAULT '0' COMMENT '企业ID',
  `ACCOUNT_ID` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '账号ID',
  `LE_ACCOUNT_NAME` varchar(240) DEFAULT 'NONE' COMMENT '企业账号名称',
  `LE_ACCOUNT_NO` varchar(240) NOT NULL DEFAULT '' COMMENT '企业银行账号',
  `ACCOUNTING_DATE_ID` int(11) NOT NULL COMMENT '账号日期ID',
  `ACCOUNTING_DATE` varchar(10) DEFAULT '0000-00-00' COMMENT '账号日期',
  `TRX_DATE` varchar(20) NOT NULL COMMENT '交易日期',
  `CURRENCY` varchar(10) DEFAULT NULL COMMENT '币种',
  `AMOUNT_DR` decimal(19,2) NOT NULL DEFAULT '0.00' COMMENT '付款金额',
  `AMOUNT_CR` decimal(19,2) NOT NULL DEFAULT '0.00' COMMENT '收款金额',
  `AMOUNT_BALANCE` decimal(19,2) NOT NULL COMMENT '余额',
  `CASH_TYPE` varchar(500) DEFAULT NULL COMMENT '交易类型',
  `CUSTOMER_LE_ID` int(11) DEFAULT '-1' COMMENT '对手方企业ID',
  `CUSTOMER_ACCOUNT_NAME` varchar(240) DEFAULT NULL COMMENT '对手方企业名称',
  `CUSTOMER_ACCOUNT_NO` varchar(240) DEFAULT NULL COMMENT '对手方账号',
  `customer_bank` varchar(300) DEFAULT NULL COMMENT '对手方银行',
  `customer_reference` varchar(500) DEFAULT NULL COMMENT '对手方备注',
  `USER_MEMO` varchar(1000) DEFAULT NULL COMMENT '用户交易摘要',
  `BANK_COMMENTS` varchar(240) DEFAULT NULL COMMENT '银行交易摘要',
  `BANK_TRX_NUMBER` varchar(240) DEFAULT NULL COMMENT '银行交易号',
  `BANK` varchar(250) NOT NULL DEFAULT '' COMMENT '所属银行缩写',
  `TRX_FLAG` varchar(2) DEFAULT '0' COMMENT '交易标志位',
  `TRX_TYPE` int(11) NOT NULL DEFAULT '0' COMMENT '分类ID',
  `EXCEPTION_TYPE` varchar(50) NOT NULL DEFAULT '' COMMENT '异常类型',
  `internal_flag` tinyint(1) DEFAULT '0' COMMENT '"是否为内部交易1 是 0 否"',
  `batch_id` int(11) NOT NULL DEFAULT '0' COMMENT '上传logId对应upload_log',
  `batch_sequence` int(11) NOT NULL COMMENT '每次上传在文件中的line',
  `CREATE_DATE` datetime DEFAULT NULL COMMENT '创建时间',
  `created_by` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '创建者',
  `meta_json` text COMMENT '"meta json"',
  `no_balance` tinyint(1) DEFAULT '0' COMMENT '是否包含余额',
  `begin_balance` tinyint(1) DEFAULT '0' COMMENT '初始余额',
  `end_balance` tinyint(1) DEFAULT '0' COMMENT '结束余额',
  `group_id` int(11) DEFAULT '0' COMMENT '项目id',
  `override_bs_id` bigint(20) DEFAULT '0' COMMENT '=0表示该数据未覆盖主表>0表示覆盖主表<0表示被主表覆盖',
  `payment_method` varchar(500) DEFAULT NULL COMMENT '微信、支付宝流水字段,交易方式',
  `cret_no` varchar(20) DEFAULT NULL COMMENT '身份证号',
  PRIMARY KEY (`bank_statement_id`),
  KEY `idx_batch_id_account` (`batch_id`, `LE_ACCOUNT_NO`, `ACCOUNTING_DATE_ID`),
  KEY `GROUP_ID` (`group_id`),
  KEY `c4c_bank_statement_stg_batch_id_IDX` (`batch_id`, `LE_ACCOUNT_NO`) USING BTREE,
  KEY `idx_project_id` (`project_id`),
  UNIQUE KEY `uk_bank_statement_dedup` (
    `project_id`,
    `LE_ACCOUNT_NO`,
    `ACCOUNTING_DATE_ID`,
    `AMOUNT_DR`,
    `AMOUNT_CR`
  )
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='银行流水的中间处理表';

字段映射

序号 ccdi_bank_statement 流水分析返回字段
1 bank_statement_id bankStatementId
2 project_id 后端按业务写入
3 LE_ID leId
4 ACCOUNT_ID accountId
5 LE_ACCOUNT_NAME leName
6 LE_ACCOUNT_NO accountMaskNo
7 ACCOUNTING_DATE_ID accountingDateId
8 ACCOUNTING_DATE accountingDate
9 TRX_DATE trxDate
10 CURRENCY currency
11 AMOUNT_DR drAmount
12 AMOUNT_CR crAmount
13 AMOUNT_BALANCE balanceAmount
14 CASH_TYPE cashType
15 CUSTOMER_LE_ID customerId
16 CUSTOMER_ACCOUNT_NAME customerName
17 CUSTOMER_ACCOUNT_NO customerAccountMaskNo
18 customer_bank customerBank
19 customer_reference customerReference
20 USER_MEMO userMemo
21 BANK_COMMENTS bankComments
22 BANK_TRX_NUMBER bankTrxNumber
23 BANK bank
24 TRX_FLAG transFlag
25 TRX_TYPE transTypeId
26 EXCEPTION_TYPE exceptionType
27 internal_flag internalFlag
28 batch_id batchId
29 batch_sequence uploadSequnceNumber
30 CREATE_DATE createDate
31 created_by createdBy
32 meta_json 固定写入 null
33 no_balance noBalance
34 begin_balance beginBalance
35 end_balance endBalance
36 group_id groupId
37 override_bs_id overrideBsId
38 payment_method paymentMethod
39 cret_no cretNo