地址
- 杭州市滨江区峰达中心A座102
- 苏州市工业园区士齐中心A座506B
- 株洲市天元区 大汉惠普产业园 2 栋 701
工作时间
周一到周五: 9:00 - 17:00
周六: 10:00 - 17:00
java
@Transactional(isolation = Isolation.REPEATABLE_READ,
propagation = Propagation.REQUIRED,
rollbackFor = Exception.class)
public void accountingEntry(EntryDTO dto) {
// 双录校验
validateDuplicate(dto);
// 分录处理
processDebitCredit(dto);
// 更新余额
updateAccountBalance(dto);
}
sql
CREATE TABLE fin_account (
id BIGINT UNSIGNED AUTO_INCREMENT,
org_id INT NOT NULL COMMENT '机构ID',
account_code VARCHAR(32) NOT NULL COMMENT '科目编码',
currency CHAR(3) NOT NULL COMMENT '币种',
balance DECIMAL(18,4) NOT NULL DEFAULT 0.0000,
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
PRIMARY KEY (id),
UNIQUE INDEX udx_acc (org_id, account_code, currency)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
sql
EXPLAIN SELECT voucher_no, status
FROM financial_voucher
WHERE org_id = 1001 AND create_date BETWEEN '2023-01-01' AND '2023-12-31';
sql
ALTER TABLE fin_transaction PARTITION BY RANGE(YEAR(trans_date)) (
PARTITION p2022 VALUES LESS THAN (2023),
PARTITION p2023 VALUES LESS THAN (2024)
);
优化措施 | 凭证提交耗时 | 月结处理时间 | 余额查询响应 |
---|---|---|---|
未优化基准 | 320ms | 58min | 850ms |
索引优化后 | 210ms(↓34%) | 43min(↓26%) | 120ms(↓86%) |
分库分表后 | 150ms(↓53%) | 28min(↓52%) | 65ms(↓92%) |
缓存加持后 | 90ms(↓72%) | 19min(↓67%) | 15ms(↓98%) |
sql
CREATE TABLE fin_audit_log (
log_id BIGINT AUTO_INCREMENT,
operator VARCHAR(32) NOT NULL,
module_code VARCHAR(24) NOT NULL,
before_data JSON,
after_data JSON,
log_time DATETIME(6) NOT NULL,
PRIMARY KEY (log_id)
) ENGINE=InnoDB;
sql
CREATE TABLE fin_bank_account (
account_no VARBINARY(128) NOT NULL COMMENT 'AES加密存储',
account_name VARBINARY(64) NOT NULL
);
通过B/S架构的灵活性与MySQL深度优化相结合,成功构建出响应速度小于100ms、年处理千万级交易的财务系统。后续将通过HTAP混合架构,进一步提升实时分析能力。建议每季度进行架构评审,持续跟踪MySQL新版本特性(如8.0的Hash Join优化),保持系统技术先进性。