ActivityData.cs 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace TEAMModelOS.SDK.Models.Cosmos
  5. {
  6. /// <summary>
  7. ///
  8. /// [
  9. // Activity|-----问卷调查
  10. // |-----投票活动
  11. // |-----评测活动
  12. // |-----作业活动
  13. // |-----学习活动
  14. //]
  15. //[
  16. // {
  17. // "type": "vote",//"vote"/"exam"/"homework"/"learn"/"survey"
  18. // "name": "第一届紫藤小学人气教师投票",
  19. // "startTime": 1608274766154,
  20. // "endTime": 1608912000000,
  21. // "scode": "Vote-hbcn",
  22. // "id": "aaaaaaaaaaaaaaaaaaa",
  23. // "code": "Activity-hbcn",
  24. // "pk": "Activity",
  25. // "scope":"private/school/teacher",
  26. // "classes":["S-C-00001","S-C-00002","S-C-00003","S-C-00004"],
  27. // "tmdids":["TMDID0001","TMDID0002","TMDID0003","TMDID0004",]//只有问卷调查和投票活动设置,且分区键必须为学校的
  28. //},
  29. // {
  30. // "type": "vote",//"vote"/"exam"/"homework"/"learn"/"survey"
  31. // "name": "第一届醍摩豆杯人气教师投票",
  32. // "startTime": 1608274766154,
  33. // "endTime": 1608912000000,
  34. // "scode": "Vote-TMDID0001",
  35. // "id": "bbbbbbbbbbbbbbbbbbbbb",
  36. // "code": "Activity-Common",//教师个人发布的活动统一使用Common,用班级子查询
  37. // "pk": "Activity",
  38. // "scope":"private/school/teacher",
  39. // "classes":["P-C-00004","S-C-00001"],//如果是醍摩豆ID则直接搜寻加入的私人教师编码,如果是校内学生则需要多搜寻一次。
  40. // "tmdids":[]
  41. // }
  42. //]
  43. ///简单阐述说明:
  44. /// 1. 对于学校产生的活动 即scope=school 或scope=teacher 则对应活动原本的数据的owner 则直接为学校的编码,且ActivityData的code为Activity-学校编码 ActivityData数据存在School表
  45. /// 如果scope=private,则活动是老师个人活动,owner=tmdid ,ActivityData的code则为Activity-Common ActivityData且数据存在Teacher表
  46. ///
  47. /// 2. 学生端查询包含 tmdid登录者(可能包含加入学校的教师)以学生身份登入学生端,
  48. /// 则需要知道 登录人加入的私人教室id 则输入条件是classes=['私人教室id'],!!!
  49. /// 或者用id身份去查询是否存在于tmdids 表示是否是单独被邀请加入活动的。!!!但是这种情况只存在于加入学校的教师,因为私人教室不允许随意邀请别的tmdid,只能加入私人教室。
  50. /// 如果是学校学生以学生身份登入,则需要知道该学生加入的学校的班级和私人教室的班级 则classes=['私人教室id','学校教室id']
  51. ///
  52. /// 3. 教师端查询ActivityData,则 查询权限为班主任或任课教师等,且这种查询只会存在于校园内的活动,包含scope=school,teacher 发布对象为校园班级班级
  53. /// 则需要知道班主任,任课教室管理的班级 则classes=["学校班级id1","学校班级id2"]
  54. /// 查询条件 code=Activity-hbcn classes=["学校班级id1","学校班级id2"] 任课教师的科目id subjects=["科目id1","科目id2"]
  55. /// </summary>
  56. public class ActivityData : CosmosEntity
  57. {
  58. public ActivityData() {
  59. pk = "Activity";
  60. }
  61. /// <summary>
  62. /// 业务类型 vote投票 survey问卷 exam评测 learn学习活动 homework作业活动
  63. /// </summary>
  64. public string type { get; set; }
  65. public string name { get; set; }
  66. public long startTime { get; set; }
  67. public long endTime { get; set; }
  68. /// <summary>
  69. /// pending 待发布|going 已发布|finish 已结束
  70. /// </summary>
  71. public string progress { get; set; }
  72. /// <summary>
  73. /// 活动的分区键 Vote-hbcn/Vote-1606294378
  74. /// </summary>
  75. public string scode { get; set; }
  76. /// <summary>
  77. /// private/school/teacher
  78. /// </summary>
  79. public string scope { get; set; }
  80. public List<string> classes { get; set; } = new List<string> { "" };
  81. public List<string> tmdids { get; set; } = new List<string> { "" };
  82. public string owner { get; set; }
  83. public List<string> subjects { get; set; } = new List<string> { "" };
  84. }
  85. }