From 2b75ff4d11f4c65c4b14bbbba8074bfb62ecf741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B2=91=E6=BA=AA?= <1015733727@qq.com> Date: Wed, 1 Jul 2026 15:20:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20crud=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/db/init-v2.sql | 64 +++++++++++++++++++ .../domain/exception/ErrorCode.java | 8 +++ .../support/InsertFieldDefaults.java | 35 ++++++++++ 3 files changed, 107 insertions(+) diff --git a/docs/db/init-v2.sql b/docs/db/init-v2.sql index 44ae736..e8e15c6 100644 --- a/docs/db/init-v2.sql +++ b/docs/db/init-v2.sql @@ -876,4 +876,68 @@ CREATE TABLE `qual_filing_personnel_cert` ( BEGIN; COMMIT; +-- ---------------------------- +-- Table structure for account +-- ---------------------------- +DROP TABLE IF EXISTS `account`; +CREATE TABLE `account` ( + `id` bigint NOT NULL COMMENT '主键', + `delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '删除标识true false', + `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `create_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + `update_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人姓名', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `version` int DEFAULT NULL COMMENT '版本', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `create_id` bigint DEFAULT NULL COMMENT '创建人id', + `update_id` bigint DEFAULT NULL COMMENT '修改人id', + `env` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境', + `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名称/姓名', + `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', + `phone` varchar(12) DEFAULT NULL COMMENT '手机号', + `password` varchar(100) DEFAULT NULL COMMENT '密码', + `profile_url` varchar(160) DEFAULT NULL COMMENT '头像地址', + `type` int DEFAULT NULL COMMENT '类型: 1-机构端,2监管端', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'; + +-- ---------------------------- +-- Records of account +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for qual_filing_expert +-- ---------------------------- +DROP TABLE IF EXISTS `qual_filing_expert`; +CREATE TABLE `qual_filing_expert` ( + `id` bigint NOT NULL COMMENT '主键', + `delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '删除标识true false', + `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `create_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + `update_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人姓名', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `version` int DEFAULT NULL COMMENT '版本', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `create_id` bigint DEFAULT NULL COMMENT '创建人id', + `update_id` bigint DEFAULT NULL COMMENT '修改人id', + `env` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境', + `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名称/姓名', + `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', + `gender_code` tinyint DEFAULT NULL COMMENT '性别编码', + `gender_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '性别名称', + `id_card_no` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '身份证号', + `certificate` varchar(255) DEFAULT NULL COMMENT '证书', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='审核专家表'; + +-- ---------------------------- +-- Records of qual_filing_expert +-- ---------------------------- +BEGIN; +COMMIT; + SET FOREIGN_KEY_CHECKS = 1; diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java index 3f68e88..f694057 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java @@ -62,6 +62,10 @@ public enum ErrorCode { // ---- 备案申请人员证书 ---- QUAL_FILING_PERSONNEL_CERT_NOT_FOUND("02-08-001", "备案申请人员证书不存在"), + // ---- 审核专家 ---- + QUAL_FILING_EXPERT_NOT_FOUND("02-09-001", "审核专家不存在"), + QUAL_FILING_EXPERT_ACCOUNT_EXISTS("02-09-002", "专家账号已存在"), + QUAL_FILING_STATUS_INVALID("02-01-101", "当前备案状态不允许该操作"), QUAL_FILING_MATERIAL_INCOMPLETE("02-01-102", "必填备案材料未上传完整"), QUAL_FILING_COMMITMENT_REQUIRED("02-01-103", "请先填写法定代表人承诺书"), @@ -70,6 +74,10 @@ public enum ErrorCode { QUAL_FILING_CHANGE_NO_DIFF("02-02-101", "备案信息无变更,无需提交"), QUAL_FILING_CHANGE_IN_PROGRESS("02-02-102", "存在进行中的备案变更"), + // ---- 用户 ---- + ACCOUNT_NOT_FOUND("04-01-001", "用户不存在"), + ACCOUNT_EXISTS("04-01-002", "账号已存在"), + // ---- 文件存储 ---- FILE_UPLOAD_FAILED("03-01-001", "文件上传失败"), FILE_UPLOAD_EMPTY("03-01-002", "上传文件为空"), diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InsertFieldDefaults.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InsertFieldDefaults.java index db16305..e1c7139 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InsertFieldDefaults.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/support/InsertFieldDefaults.java @@ -2,6 +2,7 @@ package org.qinan.safetyeval.infrastructure.support; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.qinan.safetyeval.infrastructure.dataobject.QualFilingExpertDO; import java.lang.reflect.Method; import java.time.LocalDateTime; @@ -110,4 +111,38 @@ public final class InsertFieldDefaults { // 非 GBS 标准 DO 忽略 } } + + public static void applyIgnoreOrgId(Object dataObject) { + if (dataObject == null) { + return; + } + LocalDateTime now = LocalDateTime.now(); + + // 常量默认值 + setIfNull(dataObject, "deleteEnum", DELETE_NOT_DELETED); + setIfNull(dataObject, "env", DEFAULT_ENV); + setIfNull(dataObject, "version", 0); + + // 时间字段 + setIfNull(dataObject, "createTime", now); + setIfNull(dataObject, "updateTime", now); + + // 用户上下文字段:从 AuthUserContextAdapter 获取 + Long userId = AuthUserContextAdapter.getCurrentUserId(); + String userName = AuthUserContextAdapter.getCurrentUserName(); + Long tenantId = AuthUserContextAdapter.getCurrentTenantId(); + + + if (userId != null) { + setIfNull(dataObject, "createId", userId); + setIfNull(dataObject, "updateId", userId); + } + if (userName != null) { + setIfNull(dataObject, "createName", userName); + setIfNull(dataObject, "updateName", userName); + } + if (tenantId != null) { + setIfNull(dataObject, "tenantId", tenantId); + } + } }