123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Text;
- using TEAMModelOS.SDK.Context.Attributes.Azure;
- using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
- namespace TEAMModelOS.Service.Models
- {
- /// <summary>
- /// 试卷信息
- /// </summary>
- [CosmosDB(RU = 400, Name = "School")]
- public class Paper : ID
- {
-
- /// <summary>
- /// 学校编码,个人编码,考试编码
- /// </summary>
- [PartitionKey]
- [Required(ErrorMessage = "{0} 必须填写")]
- public string code { get; set; }
- public string pk { get; set; }
- public int? ttl { get; set; }
- public Paper() {
- item = new List<ItemInfo>();
- markConfig = new MarkConfig();
- }
- [JsonProperty(PropertyName = "id")]
- public string id { get; set; }
- /// <summary>
- /// 试卷的基本信息
- /// </summary>
- public string url { get; set; }
- /// <summary>
- /// 题目信息
- /// </summary>
- public List<ItemInfo> item { get; set; }
- /// <summary>
- /// 科目
- /// </summary>
- public string subjectCode { get; set; }
- /// <summary>
- /// 学段
- /// </summary>
- public string periodCode { get; set; }
- /// <summary>
- /// 年级
- /// </summary>
- public List<string> gradeCode { get; set; }
- /// <summary>
- /// 试卷名称
- /// </summary>
- public string name { get; set; }
- /// <summary>
- /// 题目总数
- /// </summary>
- public int itemCount { get; set; }
- /// <summary>
- /// 题目难度
- /// </summary>
- public double level { get; set; }
- /// <summary>
- /// 总分
- /// </summary>
- public double score { get; set; }
- /// <summary>
- /// type:{
- /// pointkey:[num1,num2....]
- /// }
- /// 题型的分数占比
- /// </summary>
-
- public Dictionary<string, ScoreCount> typeScore { get; set; }
- /// <summary>
- /// 题目难度分数占比
- /// </summary>
- public Dictionary<string, ScoreCount> levelScore { get; set; }
- /// <summary>
- /// 知识点分数占比
- /// </summary>
- public Dictionary<string, ScoreItem> pointScore { get; set; }
- /// <summary>
- /// 创建时间
- /// </summary>
- public long createTime { get; set; }
- /// <summary>
- /// 正确答案
- /// </summary>
- public List<Answer> answers { get; set; }
- /// <summary>
- /// 阅卷规则
- /// </summary>
- public MarkConfig markConfig { get; set; }
- }
- /// <summary>
- /// 阅卷规则
- /// </summary>
- public class MarkConfig
- {
- /// <summary>
- /// 客观题是否自动阅卷
- /// </summary>
- public bool auto { get; set; } = true;
- /// <summary>
- /// 多选 0不允许自动阅卷,1多选漏选不得分,2多选漏选得一半的分数(默认),3多选漏选按选择个数得分,4多选漏选指定分数
- /// </summary>
- public int type { get; set; } = 3;
- /// <summary>
- /// 多选漏选指定得分
- /// </summary>
- public double? score { get; set; } = 0;
- }
- public class ScoreItem
- {
- public ScoreItem()
- {
- item = new List<int>();
- }
- public double score { get; set; }
- public List<int> item { get; set; }
- }
- public class ScoreCount{
-
- public double score { get; set; }
- public int count { get; set; }
- }
- }
|