|
@@ -18,13 +18,15 @@ namespace TEAMModelOS.Controllers
|
|
|
[ApiController]
|
|
|
public class ExamController : BaseController
|
|
|
{
|
|
|
+ private readonly SnowflakeId SnowflakeId;
|
|
|
private readonly AzureCosmosFactory cosmosDBV3Repository;
|
|
|
private readonly AzureServiceBusFactory _serviceBus;
|
|
|
- public ExamController(AzureCosmosFactory _cosmosDBV3Repository, AzureServiceBusFactory serviceBus)
|
|
|
+ public ExamController(AzureCosmosFactory _cosmosDBV3Repository, AzureServiceBusFactory serviceBus, SnowflakeId _SnowflakeId)
|
|
|
{
|
|
|
|
|
|
cosmosDBV3Repository = _cosmosDBV3Repository;
|
|
|
_serviceBus = serviceBus;
|
|
|
+ SnowflakeId = _SnowflakeId;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -39,7 +41,7 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
if (string.IsNullOrEmpty(request.@params.id))
|
|
|
{
|
|
|
- request.@params.id = Guid.NewGuid().ToString();
|
|
|
+ request.@params.id = SnowflakeId.NextId()+"";
|
|
|
request.@params.status = 100;
|
|
|
// await cosmosDBV3Repository.SaveOrUpdate(request.@params);
|
|
|
}
|
|
@@ -51,7 +53,7 @@ namespace TEAMModelOS.Controllers
|
|
|
else if (request.@params.publish.Equals("1"))
|
|
|
{
|
|
|
//设定开始时间
|
|
|
- string msgId = Guid.NewGuid().ToString();
|
|
|
+ string msgId = SnowflakeId.NextId() + "";
|
|
|
long SequenceNumber = await _serviceBus.SendMessage<ExamInfo>(Constants.TopicName, request.@params.id, request.@params.code, request.@params.startTime, 200, msgId);
|
|
|
request.@params.sequenceNumber = SequenceNumber;
|
|
|
}
|
|
@@ -62,7 +64,7 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
await cosmosDBV3Repository.SaveOrUpdate(request.@params);
|
|
|
//设定结束时间
|
|
|
- string msgEndId = Guid.NewGuid().ToString();
|
|
|
+ string msgEndId = SnowflakeId.NextId() + "";
|
|
|
await _serviceBus.SendMessage<ExamInfo>(Constants.TopicName, request.@params.id, request.@params.code, request.@params.endTime, 300, msgEndId);
|
|
|
return builder.Data(request.@params).build();
|
|
|
}
|
|
@@ -323,55 +325,6 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
}
|
|
|
return stuAnswers;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 生成题目
|
|
|
- /// </summary>
|
|
|
- /// <param name="request"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("Gen")]
|
|
|
- public BaseResponse Gen(JosnRequest<List<ItemInfo>> request)
|
|
|
- {
|
|
|
- ResponseBuilder builder = ResponseBuilder.custom();
|
|
|
- List<string> poins = new List<string>();
|
|
|
- for (int i = 0; i < 30; i++)
|
|
|
- {
|
|
|
- poins.Add(Guid.NewGuid().ToString());
|
|
|
- }
|
|
|
- Random rangdomRed = new Random();
|
|
|
- // Single单选,Multiple多选,Judge判断,Complete填空,Subjective问答,Compose综合
|
|
|
- List<string> types = new List<string>() { "Single", "Multiple", "Judge", "Complete", "Subjective", "Compose" };
|
|
|
- List<string> field = new List<string>() { "应用", "综合", "理解", "评鉴", "知识" };
|
|
|
- foreach (ItemInfo item in request.@params)
|
|
|
- {
|
|
|
-
|
|
|
- item.subjectCode = "Subject_Chinese";
|
|
|
- item.periodCode = "period_2";
|
|
|
- item.type = types.OrderBy(x => Guid.NewGuid()).First();
|
|
|
- item.points = new List<string>() { poins.OrderBy(x => Guid.NewGuid()).First() };
|
|
|
- item.level = rangdomRed.Next(1, 5);
|
|
|
- item.field = field.OrderBy(x => Guid.NewGuid()).First();
|
|
|
- }
|
|
|
- return builder.Data(request.@params).build();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- List<string> pins = new List<string>() {
|
|
|
- "5a569451-d7b6-4bc5-85dc-4c97ba593090", "97752929-bee6-458e-b5ae-af16ee73a1e9",
|
|
|
- "b32dcb15-9f13-4e8f-9f65-80e55e3b257d", "5160a86b-2d44-466f-bd82-ed08148f6607",
|
|
|
- "9e6a3b59-bdeb-4b21-90ec-903ef9847864", "6d1f223d-a84e-4fab-b015-fe1c4298834b",
|
|
|
- "72571322-43d9-4777-b3b1-a6a5a4bf4e10", "bf4707a6-f541-46b9-85b2-82aa6077ba27",
|
|
|
- "9dd91708-be01-4947-850c-77b88e7cf2ad", "24d9f39f-906a-4ca6-bc4f-8f9307d51d5a",
|
|
|
- "4acee7e2-434c-4257-9331-8c42fba14a3b", "170125f4-4cfc-40eb-aae4-7a82840a6297",
|
|
|
- "6b14df14-17ae-4f47-a1e4-16738268feba", "a9c1ada9-232f-4993-bf63-3c279e5ecaac",
|
|
|
- "4ff7b031-a45c-4b02-921e-933be73bb38a", "a96ebded-aeb0-42c8-ab90-8b1ab8a4a489",
|
|
|
- "e3564799-3b9a-4b5d-a904-f09565f98890", "64b4326f-1f76-4c7c-8fb7-5940894e2205",
|
|
|
- "4e43d507-8af1-4b21-b09e-7fe8533104e8", "25032d80-b88c-42c1-8ffd-1a30815859aa",
|
|
|
- "b1baff75-fdf9-4020-acfb-af6497017f4b", "c6e8bdaf-9738-48f6-bd7f-5bc6d6444684",
|
|
|
- "d75000f7-168a-4521-b056-780ef38114cc", "f6c768e8-12ea-445c-8df1-750736294a80",
|
|
|
- "5ac2805d-b31d-44a3-9058-1239d5557270", "49512c48-f38a-452e-8bb9-170728cb271e",
|
|
|
- "57088641-14d1-498d-ae8e-61627e0d8e4a", "2222f52f-cc3f-4ac3-96b8-638078455f64",
|
|
|
- "1687d096-4d58-4828-97de-d31e23784b36", "45ae3d97-cd76-4c53-a821-e220367eb2c2" };
|
|
|
+ }
|
|
|
}
|
|
|
}
|