types_stock.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. // 教室状态枚举
  2. export enum ClassroomStatus {
  3. CLOSED = 0, // 关闭
  4. OPEN = 1 // 开放
  5. }
  6. // 教室状态中文映射
  7. export const ClassroomStatusNameMap: Record<ClassroomStatus, string> = {
  8. [ClassroomStatus.CLOSED]: '关闭',
  9. [ClassroomStatus.OPEN]: '开放'
  10. };
  11. // 教室数据接口
  12. export interface ClassroomData {
  13. /** 主键ID */
  14. id: number;
  15. /** 教室号 */
  16. classroom_no: string;
  17. /** 训练日期 */
  18. training_date: string;
  19. /** 持股 */
  20. holding_stock?: string;
  21. /** 持币 */
  22. holding_cash?: string;
  23. /** 价格 */
  24. price?: string;
  25. /** 代码 */
  26. code?: string;
  27. /** 状态 */
  28. status: ClassroomStatus;
  29. /** 备用字段 */
  30. spare?: string;
  31. /** 提交用户ID */
  32. submit_user?: number;
  33. /** 创建时间 */
  34. created_at: string;
  35. /** 更新时间 */
  36. updated_at: string;
  37. }
  38. // 教室数据列表响应
  39. export interface ClassroomDataListResponse {
  40. data: ClassroomData[];
  41. pagination: {
  42. current: number;
  43. pageSize: number;
  44. total: number;
  45. totalPages: number;
  46. };
  47. }
  48. // 日期备注接口
  49. export interface DateNote {
  50. /** 主键ID */
  51. id: number;
  52. /** 股票代码 */
  53. code: string;
  54. /** 备注日期 */
  55. note_date: string;
  56. /** 备注内容 */
  57. note: string;
  58. /** 创建时间 */
  59. created_at: string;
  60. /** 更新时间 */
  61. updated_at: string;
  62. }
  63. // 日期备注列表响应
  64. export interface DateNoteListResponse {
  65. data: DateNote[];
  66. pagination: {
  67. current: number;
  68. pageSize: number;
  69. total: number;
  70. totalPages: number;
  71. };
  72. }
  73. // 提交记录状态枚举
  74. export enum SubmissionRecordStatus {
  75. PENDING = 0, // 待处理
  76. APPROVED = 1, // 已通过
  77. REJECTED = 2 // 已拒绝
  78. }
  79. // 提交记录状态中文映射
  80. export const SubmissionRecordStatusNameMap: Record<SubmissionRecordStatus, string> = {
  81. [SubmissionRecordStatus.PENDING]: '待处理',
  82. [SubmissionRecordStatus.APPROVED]: '已通过',
  83. [SubmissionRecordStatus.REJECTED]: '已拒绝'
  84. };
  85. // 提交记录实体
  86. export interface SubmissionRecord {
  87. /** 主键ID */
  88. id: number;
  89. /** 用户ID */
  90. user_id: number;
  91. /** 用户昵称 */
  92. nickname: string;
  93. /** 成绩 */
  94. score: number;
  95. /** 代码 */
  96. code: string;
  97. /** 训练日期 */
  98. training_date: string;
  99. /** 标记 */
  100. mark?: string;
  101. /** 状态 */
  102. status: SubmissionRecordStatus;
  103. /** 创建时间 */
  104. created_at: string;
  105. /** 更新时间 */
  106. updated_at: string;
  107. }
  108. // 提交记录列表响应
  109. export interface SubmissionRecordListResponse {
  110. data: SubmissionRecord[];
  111. pagination: {
  112. current: number;
  113. pageSize: number;
  114. total: number;
  115. totalPages: number;
  116. };
  117. }
  118. // 训练代码实体
  119. export interface XunlianCode {
  120. /** 主键ID */
  121. id: number;
  122. /** 股票代码 */
  123. code: string;
  124. /** 股票名称 */
  125. stock_name: string;
  126. /** 案例名称 */
  127. name: string;
  128. /** 案例类型 */
  129. type?: string;
  130. /** 案例描述 */
  131. description?: string;
  132. /** 交易日期 */
  133. trade_date: string;
  134. /** 创建时间 */
  135. created_at: string;
  136. /** 更新时间 */
  137. updated_at: string;
  138. }