Survey.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using ProtoBuf;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Text;
  6. using TEAMModelOS.SDK.Context.Attributes.Azure;
  7. using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
  8. namespace TEAMModelOS.Service.Models
  9. {
  10. /// <summary>
  11. /// 问卷调查
  12. /// </summary>
  13. [CosmosDB(Name = "School", RU = 400)]
  14. public class Survey : ID
  15. {
  16. public string id { get; set; }
  17. public int? ttl { get; set; }
  18. public string pk { get; set; }
  19. /// <summary>
  20. /// 学校编码 或者醍摩豆ID
  21. /// </summary>
  22. [PartitionKey]
  23. [Required(ErrorMessage = "{0} 必须填写")]
  24. public string code { get; set; }
  25. public string name { get; set; } //测试问卷名称', // 问卷名称
  26. public string description { get; set; } //测试问卷描述', // 问卷描述
  27. public string type { get; set; } //normal', // 问卷类型
  28. public int status { get; set; } // 问卷状态(100:待发布 200:已发布 300:已结束)
  29. /// <summary>
  30. /// 发布对象
  31. /// </summary>
  32. [ProtoMember(4)]
  33. public List<Target> target { get; set; }
  34. /// <summary>
  35. /// 发布模式 0 立即发布 1 定时
  36. /// </summary>
  37. [ProtoMember(5)]
  38. public string publishModel { get; set; }
  39. /// <summary>
  40. /// 开始时间
  41. /// </summary>
  42. [ProtoMember(6)]
  43. public long startTime { get; set; }
  44. /// <summary>
  45. /// 结束时间
  46. /// </summary>
  47. [ProtoMember(7)]
  48. public long endTime { get; set; }
  49. public long createTime { get; set; } // 问卷发布时间
  50. public List<Item> items { get; set; }
  51. }
  52. public class Item {
  53. public string stem { get; set; }
  54. /// <summary>
  55. /// Complete Single Multiple Subjective, Judge判断
  56. /// </summary>
  57. public string type { get; set; }
  58. public bool required { get; set; }
  59. public int order { get; set; }
  60. public string description { get; set; } = null;
  61. public List<CodeValue> options { get; set; }
  62. public List<CodeVal> result { get; set; }
  63. }
  64. public class CodeVal{
  65. public string code { get; set; }
  66. public int value { get; set; }
  67. }
  68. }