CrazyIter_Bin 1 year ago
parent
commit
eaf472ffbd

+ 3 - 3
TEAMModelBI/TEAMModelBI.csproj

@@ -65,9 +65,9 @@
 		<SpaRoot>ClientApp\</SpaRoot>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-		<Version>5.2401.17</Version>
-		<AssemblyVersion>5.2401.17.1</AssemblyVersion>
-		<FileVersion>5.2401.17.1</FileVersion>
+		<Version>5.2401.24</Version>
+		<AssemblyVersion>5.2401.24.1</AssemblyVersion>
+		<FileVersion>5.2401.24.1</FileVersion>
 		<Description>TEAMModelBI(BI)</Description>
 		<PackageReleaseNotes>BI版本说明版本切换标记2022000908</PackageReleaseNotes>
 		<PackageId>TEAMModelBI</PackageId>

+ 3 - 3
TEAMModelOS.FunctionV4/TEAMModelOS.FunctionV4.csproj

@@ -5,9 +5,9 @@
 		<OutputType>Exe</OutputType>
 		<_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
 		<SignAssembly>true</SignAssembly>
-		<Version>5.2401.17</Version>
-		<AssemblyVersion>5.2401.17.1</AssemblyVersion>
-		<FileVersion>5.2401.17.1</FileVersion>
+		<Version>5.2401.24</Version>
+		<AssemblyVersion>5.2401.24.1</AssemblyVersion>
+		<FileVersion>5.2401.24.1</FileVersion>
 		<PackageId>TEAMModelOS.FunctionV4</PackageId>
 		<Authors>teammodel</Authors>
 		<Company>醍摩豆(成都)信息技术有限公司</Company>

+ 25 - 8
TEAMModelOS.SDK/Models/Cosmos/Common/Activity.cs

@@ -290,7 +290,7 @@ namespace TEAMModelOS.SDK.Models
         public string attention { get; set; }
         public long stime { get; set; }
         public long etime { get; set; }
-       
+
     }
     public class ScoreLevel
     {
@@ -613,28 +613,45 @@ namespace TEAMModelOS.SDK.Models
 
         public string activityId { get; set; }
     }
-    public class ActivityTeacherScore { 
+    public class ActivityTeacherUploadData
+    {
         public string name { get; set; }
-        public double score { get; set; }
-        public double maskScore {  get; set; }
-        public double showScore { get; set; }
-        public string tmdid { get; set;  }
+
+
+        public string tmdid { get; set; }
         public string nickname { get; set; }
         public string picture { get; set; }
         public string school { get; set; }
         public string schoolName { get; set; }
         public string schoolPicture { get; set; }
         public List<IdNameCode> members { get; set; } = new List<IdNameCode>();
-     
+
         public string cipher { get; set; }
         public string teamName { get; set; }
         /// <summary>
         ///  参赛模式 0 个人,1 团队
         /// </summary>
-        public int type   { get; set; }
+        public int type { get; set; }
         public string uploadId { get; set; }
         public string uploadName { get; set; }
     }
+    public class ActivityTeacherScore : ActivityTeacherUploadData
+    {
+        public double score { get; set; }
+
+    }
+    public class ActivityTeacherScoreLevel : ActivityTeacherUploadData
+    {
+        public string scoreLevel { get; set; }
+
+    }
+    public class ActivityTeacherScoreMask : ActivityTeacherScore
+    {
+        public double maskScore { get; set; }
+        public double showScore { get; set; }
+    }
+
+
     public class EnrollContest
     {
         /// <summary>

+ 3 - 3
TEAMModelOS.SDK/TEAMModelOS.SDK.csproj

@@ -2,9 +2,9 @@
 
   <PropertyGroup>
     <TargetFramework>net6.0</TargetFramework>
-    <Version>5.2401.17</Version>
-    <AssemblyVersion>5.2401.17.1</AssemblyVersion>
-    <FileVersion>5.2401.17.1</FileVersion>
+    <Version>5.2401.24</Version>
+    <AssemblyVersion>5.2401.24.1</AssemblyVersion>
+    <FileVersion>5.2401.24.1</FileVersion>
     <PackageReleaseNotes>发版</PackageReleaseNotes>
   </PropertyGroup>
 

+ 102 - 3
TEAMModelOS/Controllers/Common/ActivityController.cs

@@ -2599,7 +2599,7 @@ namespace TEAMModelOS.Controllers
                             Azure.Response responseContest = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).ReadItemStreamAsync(_activityId.GetString(), new PartitionKey("Contest"));
                             if (responseContest.Status == 200)
                             {
-                                List<ActivityTeacherScore> teacherScores = new List<ActivityTeacherScore>();
+                                List<ActivityTeacherScoreMask> teacherScores = new List<ActivityTeacherScoreMask>();
                                 long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
                                 Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
                                 if (contest.score?.stime<now)
@@ -2617,7 +2617,7 @@ namespace TEAMModelOS.Controllers
                                             {
                                                 leader=members.First();
                                             }
-                                            teacherScores.Add(new ActivityTeacherScore
+                                            teacherScores.Add(new ActivityTeacherScoreMask
                                             {
                                                 uploadId=leader.upload?.uploadId,
                                                 uploadName=!string.IsNullOrWhiteSpace(leader.upload?.name) ? leader.upload?.name : $"{leader.contest.teamName}",
@@ -2643,7 +2643,7 @@ namespace TEAMModelOS.Controllers
                                         ///个人组
                                         foreach (var item in reslut.list)
                                         {
-                                            teacherScores.Add(new ActivityTeacherScore
+                                            teacherScores.Add(new ActivityTeacherScoreMask
                                             {
                                                 uploadId=item.upload?.uploadId,
                                                 uploadName=!string.IsNullOrWhiteSpace(item.upload?.name) ? item.upload?.name : $"{item.contest.enrollInfos.Find(z => z.code.Equals("name"))?.val}",
@@ -2671,6 +2671,105 @@ namespace TEAMModelOS.Controllers
                         }
                     case bool when $"{grant_type}".Equals("preview-scores", StringComparison.OrdinalIgnoreCase): 
                         {
+                            if (!request.TryGetProperty("activityId", out JsonElement _activityId)) return BadRequest();
+                            Azure.Response responseContest = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).ReadItemStreamAsync(_activityId.GetString(), new PartitionKey("Contest"));
+                            if (responseContest.Status == 200) {
+                                IList<ActivityTeacherScore> teacherScores = new List<ActivityTeacherScore>();
+                                long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
+                                Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
+                                string sql = $"select value c from c ";
+                                var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<ActivityEnroll>(sql, $"ActivityEnroll-{_activityId}");
+                                if (result.list.IsNotEmpty())
+                                {
+                                    if (contest.sign.type==1)
+                                    {
+                                        var teams = result.list.Where(x => !string.IsNullOrEmpty(x.contest?.cipher)).GroupBy(z => z.contest.cipher);
+                                        foreach (var team in teams)
+                                        {
+                                            var members = team.ToList();
+                                            var leader = members.FindAll(z => z.contest.leader==1)?.FirstOrDefault();
+                                            if (leader==null)
+                                            {
+                                                leader=members.First();
+                                            }
+                                            double score = leader.upload?.score??-1;
+                                            if (leader.upload?.showScore==1) {
+                                                score= leader.upload.maskScore;
+                                            }
+                                            teacherScores.Add(new ActivityTeacherScore
+                                            {
+                                                uploadId=leader.upload?.uploadId,
+                                                uploadName=!string.IsNullOrWhiteSpace(leader.upload?.name) ? leader.upload?.name : $"{leader.contest.teamName}",
+                                                score=score,
+                                                tmdid=leader.id,
+                                                nickname=leader.tmdName,
+                                                name=leader.contest.enrollInfos.Find(z => z.code.Equals("name"))?.val,
+                                                picture=leader.tmdPicture,
+                                                school=leader.schoolId,
+                                                schoolName=leader.schoolName,
+                                                schoolPicture=leader.schoolPicture,
+                                                cipher=leader.contest.cipher,
+                                                teamName=leader.contest.teamName,
+                                                type=leader.contest.type,
+                                                members=members.Select(z => new IdNameCode { id=z.id, name=z.contest.enrollInfos.Find(x => x.code.Equals("name"))?.val, picture=z.tmdPicture, nickname=z.tmdName }).ToList(),
+                                            });
+                                        }
+                                    }
+                                    else
+                                    {
+                                        ///个人组
+                                        foreach (var item in result.list)
+                                        {
+                                            double score = item.upload?.score??-1;
+                                            if (item.upload?.showScore==1)
+                                            {
+                                                score= item.upload.maskScore;
+                                            }
+                                            teacherScores.Add(new ActivityTeacherScore
+                                            {
+                                                uploadId=item.upload?.uploadId,
+                                                uploadName=!string.IsNullOrWhiteSpace(item.upload?.name) ? item.upload?.name : $"{item.contest.enrollInfos.Find(z => z.code.Equals("name"))?.val}",
+                                                score=score,
+                                                tmdid=item.id,
+                                                nickname=item.tmdName,
+                                                name=item.contest.enrollInfos.Find(z => z.code.Equals("name"))?.val,
+                                                picture=item.tmdPicture,
+                                                school=item.schoolId,
+                                                schoolName=item.schoolName,
+                                                schoolPicture=item.schoolPicture,
+                                                type=item.contest.type,
+                                            });
+                                        }
+                                    }
+
+                                    if (contest.score.top>-1)
+                                    {
+                                        teacherScores= teacherScores.Where(x => x.score>=0).OrderByDescending(x => x.score).Take(contest.score.top).ToList();
+                                    }
+                                    else {
+                                        teacherScores= teacherScores.Where(x => x.score>=0).ToList();
+                                    }
+                                    if (contest.score.showType==1) 
+                                    {
+                                        foreach (var item in teacherScores) {
+                                            string label = string.Empty;
+                                            foreach (var level in contest.score.scoreLevels) {
+                                                if (level.max==100) {
+                                                    if (item.score>level.min  && item.score<=level.max) {
+                                                        label=level.lable;
+                                                        break;
+                                                    }
+                                                }
+                                                else { 
+                                                
+                                                }
+                                               
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                           
                             break;
                         }
                 }

+ 4 - 4
TEAMModelOS/TEAMModelOS.csproj

@@ -75,11 +75,11 @@
     <SpaRoot>ClientApp\</SpaRoot>
     <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
     <UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-    <Version>5.2401.17</Version>
-    <AssemblyVersion>5.2401.17.1</AssemblyVersion>
-    <FileVersion>5.2401.17.1</FileVersion>
+    <Version>5.2401.24</Version>
+    <AssemblyVersion>5.2401.24.1</AssemblyVersion>
+    <FileVersion>5.2401.24.1</FileVersion>
     <Description>TEAMModelOS(IES5)</Description>
-    <PackageReleaseNotes>IES版本说明版本切换标记5.2401.17.1</PackageReleaseNotes>
+    <PackageReleaseNotes>IES版本说明版本切换标记5.2401.24.1</PackageReleaseNotes>
     <PackageId>TEAMModelOS</PackageId>
     <Authors>teammodel</Authors>
     <Company>醍摩豆(成都)信息技术有限公司</Company>

+ 1 - 1
TEAMModelOS/appsettings.Development.json

@@ -18,7 +18,7 @@
     "IdTokenSalt": "8263692E2213497BB55E74792B7900B4",
     "HttpTrigger": "https://teammodelosfunction-test.chinacloudsites.cn/api/",
     //"HttpTrigger": "http://localhost:7071/api/"
-    "Version": "5.2401.17.1"
+    "Version": "5.2401.24.1"
   },
   "Azure": {
     // 测试站数据库

+ 1 - 1
TEAMModelOS/appsettings.json

@@ -18,7 +18,7 @@
     "Exp": 86400,
     "IdTokenSalt": "8263692E2213497BB55E74792B7900B4",
     "HttpTrigger": "https://teammodelosfunction.chinacloudsites.cn/api/",
-    "Version": "5.2401.17.1"
+    "Version": "5.2401.24.1"
   },
   "Azure": {
     "Storage": {