HomeWorkStudent.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using TEAMModelOS.SDK.Context.Attributes.Azure;
  5. using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
  6. using TEAMModelOS.Service.Models.Exam.Models;
  7. namespace TEAMModelOS.Service.Models.Learn
  8. {
  9. /// <summary>
  10. /// 作业数据
  11. /// </summary>
  12. [CosmosDB(RU = 400, Name = "HomeWorkStudent")]
  13. public class HomeWorkStudent : ID
  14. {
  15. public HomeWorkStudent() {
  16. content = new List<HomeWorkContent>();
  17. studentComments = new List<StudentComment>();
  18. classroom = new ClassroomItem();
  19. nativeroom = new ClassroomItem();
  20. teacherComments = new HomeWorkComment();
  21. }
  22. public string id { get; set; }
  23. [PartitionKey]
  24. public string homeWorkId { get; set; }
  25. /// <summary>
  26. /// 姓名
  27. /// </summary>
  28. public string name { get; set; }
  29. /// <summary>
  30. /// 醍摩豆id
  31. /// </summary>
  32. public string TEAMModelId { get; set; }
  33. /// <summary>
  34. /// 上课班级
  35. /// </summary>
  36. public ClassroomItem classroom { get; set; }
  37. /// <summary>
  38. /// 原生班级
  39. /// </summary>
  40. public ClassroomItem nativeroom{ get; set; }
  41. /// <summary>
  42. /// 学号
  43. /// </summary>
  44. public string studentId { get; set; }
  45. /// <summary>
  46. /// 是否提交
  47. /// </summary>
  48. public bool submissionBool { get; set; } = false;
  49. /// <summary>
  50. /// 提交时间
  51. /// </summary>
  52. public long submissionTime { get; set; }
  53. /// <summary>
  54. /// 分数
  55. /// </summary>
  56. public double score { get; set; }
  57. /// <summary>
  58. /// 作业内容
  59. /// </summary>
  60. public List<HomeWorkContent> content { get; set; }
  61. /// <summary>
  62. /// 作业评论 (同学互评)
  63. /// </summary>
  64. public List<StudentComment> studentComments { get; set; }
  65. /// <summary>
  66. /// 教师评语
  67. /// </summary>
  68. public HomeWorkComment teacherComments { get; set; }
  69. }
  70. public class ClassroomItem {
  71. public string name { get; set; }
  72. public string code { get; set; }
  73. }
  74. /// <summary>
  75. /// 作业内容
  76. /// </summary>
  77. public class HomeWorkContent {
  78. /// <summary>
  79. /// 作业反馈类型
  80. /// </summary>
  81. //public string feedbackType { get; set; }
  82. /// <summary>
  83. /// 在线编辑模式 作答记录
  84. /// </summary>
  85. //public List<ExamAnswer> examAnswers { get; set; }
  86. /// <summary>
  87. /// 作答记录
  88. /// </summary>
  89. public string answers { get; set; }
  90. /// <summary>
  91. /// 其他模式url 及name
  92. /// </summary>
  93. public List<ProcessRes> resource { get; set; }
  94. }
  95. //public class ProcessRes
  96. //{
  97. // /// <summary>
  98. // /// 文件名字
  99. // /// </summary>
  100. // public string fileName { get; set; }
  101. // /// <summary>
  102. // ///
  103. // /// </summary>
  104. // public string blobUrl { get; set; }
  105. // /// <summary>
  106. // /// 文件大小
  107. // /// </summary>
  108. // public long size { get; set; }
  109. // /// <summary>
  110. // /// 缩略图链接 图片视频有 文件没有
  111. // /// </summary>
  112. // public string compressUrl { get; set; }
  113. // /// <summary>
  114. // /// 文件类型
  115. // /// </summary>
  116. // public string type { get; set; }
  117. // public int order { get; set; }
  118. //}
  119. public class StudentComment
  120. {
  121. public StudentComment()
  122. {
  123. reply = new List<Reply>();
  124. }
  125. /// <summary>
  126. /// 评论id
  127. /// </summary>
  128. public string commentid { get; set; }
  129. /// <summary>
  130. /// 评论者id 醍摩豆或studenId
  131. /// </summary>
  132. public string fromId { get; set; }
  133. /// <summary>
  134. /// 被评论者id 醍摩豆或studenId
  135. /// </summary>
  136. public string toId { get; set; }
  137. /// <summary>
  138. /// 学生打分
  139. /// </summary>
  140. public double score { get; set; } = -1;
  141. /// <summary>
  142. /// 评论者身份 教师 学生
  143. /// </summary>
  144. public string identity { get; set; }
  145. /// <summary>
  146. /// 评语
  147. /// </summary>
  148. public string comment { get; set; }
  149. /// <summary>
  150. /// 评论时间
  151. /// </summary>
  152. public long createTime { get; set; }
  153. ///// <summary>
  154. ///// 评论回复
  155. ///// </summary>
  156. public List<Reply> reply { get; set; }
  157. }
  158. /// <summary>
  159. /// 作业评论
  160. /// </summary>
  161. public class HomeWorkComment {
  162. /// <summary>
  163. /// 评论者身份 教师 学生
  164. /// </summary>
  165. public string identity { get; set; }
  166. /// <summary>
  167. /// 评语
  168. /// </summary>
  169. public string comment { get; set; }
  170. /// <summary>
  171. /// 评论时间
  172. /// </summary>
  173. public long createTime { get; set; }
  174. /// <summary>
  175. /// 醍摩豆id 或者学生id
  176. /// </summary>
  177. public string TEAMModelId { get; set; }
  178. ///// <summary>
  179. ///// 评论回复
  180. ///// </summary>
  181. //public List<Reply> reply { get; set; }
  182. }
  183. /// <summary>
  184. /// 评论回复
  185. /// </summary>
  186. public class Reply
  187. {
  188. /// <summary>
  189. /// 评论者id 醍摩豆或studenId
  190. /// </summary>
  191. public string fromId { get; set; }
  192. /// <summary>
  193. /// 被评论者id 醍摩豆或studenId
  194. /// </summary>
  195. public string toId { get; set; }
  196. /// <summary>
  197. /// 评论者身份 教师 学生
  198. /// </summary>
  199. public string identity { get; set; }
  200. /// <summary>
  201. /// 评语
  202. /// </summary>
  203. public string comment { get; set; }
  204. public long createTime { get; set; }
  205. }
  206. }