Files
mp-java/.workbuddy/memory/MEMORY.md
赵忠林 b79cc1003c fix(cms): 修复联系表单手机号长度及格式问题
- 为 CmsContactLead 实体的 name 和 phone 加入 @NotBlank、@Size 及 @Pattern 校验
- 规范 company、delivery、need、source、ip 字段长度限制,防止数据异常
- 在提交服务中新增 sanitizePhone 方法,清除手机号中的空格、横线及括号等分隔符
- 扩展数据库中 phone 字段长度到 VARCHAR(32),支持国际及带分机号格式
- 更新数据库中 name、company、need 字段长度,避免未来数据截断风险
- 补充项目长期记忆文件,记录技术栈及该修复详情
2026-07-19 19:36:38 +08:00

17 lines
901 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目长期记忆
## 项目技术栈
- Spring Boot 2.x + Spring Security 5.7.11 + MyBatis-Plus 3.4.1 + Druid + MySQL
- 验证框架: JSR-303 (javax.validation),通过 spring-boot-starter-web 间接引入,无需额外声明
- 多租户架构: 表普遍有 tenant_id 字段,定时任务需遍历所有租户
- SQL 迁移文件惯例: docs/sql/YYYY-MM-DD_描述.sql
- 实体软删除: @TableLogic + deleted 字段
- 部署方式: Docker (cms-api 容器)
## 已知问题与修复
- 2026-07-19: cms-api 报 `Data too long for column 'phone'`
- 根因: 公开接口 /api/cms/cms-contact-lead/submit 前端传入超长/带分隔符手机号
- 修复: CmsContactLead 实体加 @NotBlank/@Size/@PatternService 加 sanitizePhone 清洗
- SQL: docs/sql/2026-07-19_cms_contact_lead_phone_resize.sql (phone 扩到 VARCHAR(32))
- 前端 bug: id=NaN 传入后端,需前端判空 (Number.isNaN)