已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -0,0 +1,35 @@
// 功能事务创建独立联系人资料表不迁移其他业务表版本1.0.0。
package main
// migrateEmergencyContacts 新增联系人表、字段注释和唯一约束,重复执行不清空数据。
func migrateEmergencyContacts() error {
return migrateClientColumns([]string{
`CREATE TABLE IF NOT EXISTS user_emergency_contact (
id bigserial PRIMARY KEY,
identity varchar(36) NOT NULL UNIQUE,
created_at timestamptz NOT NULL,
updated_at timestamptz NOT NULL,
deleted_at timestamptz,
status integer NOT NULL DEFAULT 1 CHECK (status IN (1,3)),
user_account_id bigint NOT NULL REFERENCES user_account(id),
name varchar(64) NOT NULL,
phone varchar(32) NOT NULL,
relationship varchar(32) NOT NULL DEFAULT '',
request_no varchar(36) NOT NULL,
UNIQUE(user_account_id, request_no)
)`,
`COMMENT ON TABLE user_emergency_contact IS '用户本人紧急联系人资料;不代表设备授权或告警订阅已生效'`,
`COMMENT ON COLUMN user_emergency_contact.id IS '数据库自增内部主键'`,
`COMMENT ON COLUMN user_emergency_contact.identity IS '对外业务UUID标识'`,
`COMMENT ON COLUMN user_emergency_contact.created_at IS '创建时间,也用于联系人默认排列顺序'`,
`COMMENT ON COLUMN user_emergency_contact.updated_at IS '最后修改时间'`,
`COMMENT ON COLUMN user_emergency_contact.deleted_at IS '软删除时间;当前删除操作使用状态归档保留幂等记录'`,
`COMMENT ON COLUMN user_emergency_contact.status IS '状态1=启用3=已归档'`,
`COMMENT ON COLUMN user_emergency_contact.user_account_id IS '资料所属用户内部主键,仅本人可读写'`,
`COMMENT ON COLUMN user_emergency_contact.name IS '联系人姓名最多64字'`,
`COMMENT ON COLUMN user_emergency_contact.phone IS '联系人大陆手机号,仅本人接口返回用于编辑及联系'`,
`COMMENT ON COLUMN user_emergency_contact.relationship IS '与用户关系描述最多32字空字符串表示未填写'`,
`COMMENT ON COLUMN user_emergency_contact.request_no IS '客户端新增请求UUID同一用户重试唯一且归档后不复活'`,
`CREATE UNIQUE INDEX IF NOT EXISTS idx_emergency_contact_active_phone ON user_emergency_contact(user_account_id,phone) WHERE status=1 AND deleted_at IS NULL`,
})
}