2
0
Просмотр исходного кода

🐛 fix(submission): 修复用户ID类型错误

- 将submission-records.entity.ts中的userId字段类型从string改为int
- 更新submission-records.schema.ts中userId的验证规则,从字符串改为整数
- 调整CreateSubmissionRecordsDto和UpdateSubmissionRecordsDto中userId的类型定义
- 更新用户ID示例值,从字符串"user123"改为数字1
yourname 6 месяцев назад
Родитель
Сommit
99df51427d

+ 2 - 2
src/server/modules/submission/submission-records.entity.ts

@@ -9,8 +9,8 @@ export class SubmissionRecords {
   @Column({ name: 'classroom_no', type: 'varchar', length: 255, nullable: true, comment: '教室号' })
   classroomNo!: string | null;
 
-  @Column({ name: 'user_id', type: 'varchar', length: 255, nullable: true, comment: '用户id' })
-  userId!: string | null;
+  @Column({ name: 'user_id', type: 'int', nullable: true, comment: '用户id' })
+  userId!: number | null;
 
   // 单向关联定义
   @ManyToOne(() => UserEntity, { nullable: true })

+ 6 - 6
src/server/modules/submission/submission-records.schema.ts

@@ -11,9 +11,9 @@ export const SubmissionRecordsSchema = z.object({
     description: '教室号',
     example: 'A101'
   }),
-  userId: z.string().max(255, '用户ID最多255个字符').nullable().openapi({
+  userId: z.coerce.number<number>().int('用户ID必须是整数').positive('用户ID必须是正整数').nullable().openapi({
     description: '用户ID',
-    example: 'user123'
+    example: 1
   }),
   user: UserSchema.omit({ password: true }).nullable().optional().openapi({
     description: '用户信息'
@@ -82,9 +82,9 @@ export const CreateSubmissionRecordsDto = z.object({
     description: '教室号',
     example: 'A101'
   }),
-  userId: z.string().max(255, '用户ID最多255个字符').nullable().optional().openapi({
+  userId: z.coerce.number<number>().int('用户ID必须是整数').positive('用户ID必须是正整数').nullable().optional().openapi({
     description: '用户ID',
-    example: 'user123'
+    example: 1
   }),
   score: z.coerce.number<number>().multipleOf(0.01, '成绩最多保留两位小数').nullable().optional().openapi({
     description: '成绩',
@@ -142,9 +142,9 @@ export const UpdateSubmissionRecordsDto = z.object({
     description: '教室号',
     example: 'A101'
   }),
-  userId: z.string().max(255, '用户ID最多255个字符').nullable().optional().openapi({
+  userId: z.coerce.number<number>().int('用户ID必须是整数').positive('用户ID必须是正整数').nullable().optional().openapi({
     description: '用户ID',
-    example: 'user123'
+    example: 1
   }),
   score: z.coerce.number<number>().multipleOf(0.01, '成绩最多保留两位小数').nullable().optional().openapi({
     description: '成绩',