Nicholas-cool / P4_MoneyArrangeModule

极简个人资金管理系统
GNU General Public License v3.0
51 stars 3 forks source link

部分账单的来源字段缺失导致数据库崩溃 #2

Open CloudYunLight opened 4 months ago

CloudYunLight commented 4 months ago

问题提交01

部分账单的来源字段缺失导致数据库崩溃

其对应的csv文件字段如下:

2024-03-02 14:50:22,企业微信红包,邀一得一,"/",收入,¥0.19,零钱,已存入零钱,10**  ,/  ,"/"
2024-03-02 

导致的问题

  1. 导入该文件后,不会提示数据导入成功;
  2. 控制台报错,字段wechat 缺失
  3. 网页页面显示“数据库错误”之类的报错;无法访问其他所有数据

问题剖析

  1. 对应csv字段源自“企业微信”加入后,由微信发布的红包
  2. “导入确认”界面会自动将该条目来源,归入“wechat”;而非“unknown”
  3. 使用者已经更改 money_position 中的微信对应的 Name_en 字段,导致匹配失败

处理建议

  1. 在确认界面就进行初步的合法性检验
  2. 允许在确认界面进行数据更改,避免造成字段冲突,数据库崩溃
Nicholas-cool commented 4 months ago

感谢建议。是的,由于导入“微信账单”的条目默认会归类到 wechat 中,如果数据库中 money_position 表的 NAME_EN 字段不存在 wechat 的条目,会导致错误(同样的错误也会存在于修改了支付宝的 NAME_EN 字段时)。为正常使用功能,请不要修改数据库中默认的NAME_EN字段的值

后续会考虑加入确认界面的数据修改功能,以及完善数据的合法性校验。

CloudYunLight commented 4 months ago

Thank you for your timely reply!