Преглед изворни кода

✨ feat(contacts): 添加创建人跟踪功能

- 配置userTracking选项记录创建人信息
- 修改createdUserId字段类型为number以匹配用户ID格式

🐛 fix(contacts): 修复创建人ID类型定义错误

- 更新实体类中createdUserId字段类型为int
- 修正Schema验证规则,将string改为number类型
yourname пре 8 месеци
родитељ
комит
e1adf804fa
2 измењених фајлова са 9 додато и 5 уклоњено
  1. 5 1
      src/server/api/contacts/index.ts
  2. 4 4
      src/server/modules/contacts/linkman.entity.ts

+ 5 - 1
src/server/api/contacts/index.ts

@@ -10,7 +10,11 @@ const linkmanRoutes = createCrudRoutes({
   getSchema: LinkmanSchema,
   listSchema: LinkmanSchema,
   searchFields: ['name', 'clientId', 'mobile', 'email'],
-  middleware: [authMiddleware]
+  middleware: [authMiddleware],
+  userTracking: {
+    createdByField: 'createdUserId',
+    updatedByField: undefined // 只记录创建人,不记录更新人
+  }
 });
 
 export default linkmanRoutes;

+ 4 - 4
src/server/modules/contacts/linkman.entity.ts

@@ -44,8 +44,8 @@ export class Linkman {
   @Column({ name: 'description', type: 'text', nullable: true })
   description?: string;
 
-  @Column({ name: 'created_user_id', type: 'varchar', length: 50, nullable: true })
-  createdUserId?: string;
+  @Column({ name: 'created_user_id', type: 'int', unsigned: true, nullable: true })
+  createdUserId?: number;
 
   @Column({ name: 'created_time', type: 'datetime' })
   createdTime!: Date;
@@ -115,9 +115,9 @@ export const LinkmanSchema = z.object({
     description: '详细信息',
     example: '负责技术选型与合作洽谈' 
   }),
-  createdUserId: z.string().max(50).nullable().openapi({ 
+  createdUserId: z.number().int().positive().nullable().openapi({
     description: '创建用户ID',
-    example: 'U1001' 
+    example: 1001
   }),
   createdTime: z.date().openapi({ 
     description: '创建时间',