Ver código fonte

活动调整

zhouj1203@hotmail.com 4 anos atrás
pai
commit
d3625242bd

+ 15 - 9
TEAMModelFunction/ServiceBusTopic.cs

@@ -48,18 +48,24 @@ namespace TEAMModelFunction
                 }
                 await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(survey, id.ToString(), new PartitionKey($"{code}"));
             } else if (name.ToString().Equals("Vote")) {
-                Vote vote = await client.GetContainer("TEAMModelOS", "Common").ReadItemAsync<Vote>(id.ToString(), new PartitionKey($"{code}"));
-                if (DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.startTime) > 0 && DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.endTime) < 0)
+                Vote vote;
+                var sresponse = await client.GetContainer("TEAMModelOS", "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"{code}"));
+                if (sresponse.Status == 200)
                 {
-                    vote.progress = "going";
+                    using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
+                    vote = json.ToObject<Vote>();
+                    if (DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.startTime) > 0 && DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.endTime) < 0)
+                    {
+                        vote.progress = "going";
+                    }
+                    else if (DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.endTime) > 0)
+                    {
+                        vote.progress = "finish";
+                    }
+                    await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(vote, id.ToString(), new PartitionKey($"{code}"));
                 }
-                else if (DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().CompareTo(vote.endTime) > 0)
-                {
-                    vote.progress = "finish";
-                }
-
-                 await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(vote, id.ToString(), new PartitionKey($"{code}"));
             }
+                
 
         }
     }

+ 4 - 0
TEAMModelOS/Controllers/Exam/ExamController.cs

@@ -106,6 +106,10 @@ namespace TEAMModelOS.Controllers
                 {
                     return Ok(new { v = "活动正在进行中" });
                 }
+                request.progress = info.progress;
+                await _serviceBus.GetServiceBusClient().cancelMessage(Constants.TopicName, info.sequenceNumber);
+                long SequenceNumber = await _serviceBus.GetServiceBusClient().SendLeamMessage<ExamInfo>(Constants.TopicName, request.id, request.code, request.startTime);
+                request.sequenceNumber = SequenceNumber;
                 exam = await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(request, request.id, new PartitionKey($"{request.code}"));
                 //await _serviceBus.GetServiceBusClient().SendLeamMessage<ExamInfo>(Constants.TopicName, request.id, request.code, request.startTime);
             }

+ 4 - 0
TEAMModelOS/Controllers/Task/SurveyController.cs

@@ -95,6 +95,10 @@ namespace TEAMModelOS.Controllers
                     return Ok(new { v = "活动正在进行中" });
                 }
                 //request.survey.code = info.code;
+                request.survey.progress = info.progress;
+                await _serviceBus.GetServiceBusClient().cancelMessage(Constants.TopicName, info.sequenceNumber);
+                long SequenceNumber = await _serviceBus.GetServiceBusClient().SendLeamMessage<Survey>(Constants.TopicName, request.survey.id, request.survey.code, request.survey.startTime);
+                request.survey.sequenceNumber = SequenceNumber;
                 survey = await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(request.survey, info.id, new PartitionKey($"{info.code}"));
                 //request.survey.createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                 /*if (request.survey.scope.Equals("school"))

+ 1 - 0
TEAMModelOS/Controllers/Task/VoteController.cs

@@ -119,6 +119,7 @@ namespace TEAMModelOS.Controllers.Learn
                     return Ok(new { v = "活动正在进行中" });
                 }
                 //request.vote.code = info.code;
+                request.vote.progress = info.progress;
                 await _serviceBus.GetServiceBusClient().cancelMessage(Constants.TopicName,info.sequenceNumber);
                 long SequenceNumber = await _serviceBus.GetServiceBusClient().SendLeamMessage<Vote>(Constants.TopicName, request.vote.id, request.vote.code, request.vote.startTime);
                 request.vote.sequenceNumber = SequenceNumber;