2
0
Переглянути джерело

♻️ refactor(stock): 修改股票数据字段类型从对象为数组

- 将StockData实体的data字段类型从Record<string, any>改为Array<any>
- 更新StockDataSchema中data字段的验证规则,从对象改为数组
- 调整CreateStockDataDto和UpdateStockDataDto中data字段的示例数据格式
- 确保数据模型与API契约保持一致,支持股票数据列表存储
yourname 6 місяців тому
батько
коміт
f1367dd737

+ 1 - 1
src/server/modules/stock/stock-data.entity.ts

@@ -9,7 +9,7 @@ export class StockData {
   code!: string;
 
   @Column({ name: 'data', type: 'json', nullable: false, comment: '股票数据' })
-  data!: Record<string, any>;
+  data!: Array<any>;
 
   @Column({ name: 'created_at', type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
   createdAt!: Date;

+ 9 - 9
src/server/modules/stock/stock-data.schema.ts

@@ -11,16 +11,16 @@ export const StockDataSchema = z.object({
     example: '000001'
   }),
   
-  data: z.record(z.string(), z.any()).openapi({
+  data: z.array(z.any()).openapi({
     description: '股票数据',
-    example: {
+    example: [{
       price: 10.5,
       volume: 1000,
       open: 10.2,
       close: 10.5,
       high: 10.8,
       low: 10.1
-    }
+    }]
   }),
   
   createdAt: z.coerce.date('创建时间格式不正确').openapi({
@@ -40,16 +40,16 @@ export const CreateStockDataDto = z.object({
     example: '000001'
   }),
   
-  data: z.record(z.string(), z.any()).openapi({
+  data: z.array(z.any()).openapi({
     description: '股票数据',
-    example: {
+    example: [{
       price: 10.5,
       volume: 1000,
       open: 10.2,
       close: 10.5,
       high: 10.8,
       low: 10.1
-    }
+    }]
   })
 });
 
@@ -59,15 +59,15 @@ export const UpdateStockDataDto = z.object({
     example: '000001'
   }),
   
-  data: z.record(z.string(), z.any()).optional().openapi({
+  data: z.array(z.any()).openapi({
     description: '股票数据',
-    example: {
+    example: [{
       price: 10.5,
       volume: 1000,
       open: 10.2,
       close: 10.5,
       high: 10.8,
       low: 10.1
-    }
+    }]
   })
 });