Browse Source

update ,研修查询分组。

CrazyIter_Bin 2 years ago
parent
commit
4302e98abf

+ 26 - 17
TEAMModelOS.SDK/Models/Cosmos/Normal/ArtSetting.cs

@@ -1,4 +1,5 @@
-using System;
+
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -6,40 +7,46 @@ using System.Threading.Tasks;
 
 namespace TEAMModelOS.SDK.Models.Cosmos.Normal
 {
-    public class ArtSetting
+    public class ArtSetting : CosmosEntity
     {
-        public string areaId { get; set; }
+        //public string id { get; set; }  区级id
+        // code :"ArtSetting"
+        //pk :"ArtSetting"
+        public string subject { get; set; }
         public List<ArtDimension> dimensions { get; set; } = new List<ArtDimension>();
     }
 
-    public class ArtDimension {
+    public class ArtDimension
+    {
         /// <summary>
         /// 维度
         /// </summary>
         public string dimension { get; set; }
-        /// <summary>
-        /// 知识块
-        /// </summary>
-        public List<ArtBlock> blocks { get; set; }= new List<ArtBlock>();
-        /// <summary>
-        /// 描述
-        /// </summary>
-        public List<ArtDesc> descs { get; set; }= new List<ArtDesc>();
+        public List<ArtSubject> subjects { get; set; }
     }
+
+
+
     /// <summary>
     /// 描述
     /// </summary>
-    public class ArtDesc { 
+    public class ArtDesc
+    {
         /// <summary>
         /// 描述文本
         /// </summary>
-        public List<string> contents { get; set; }= new List<string>();
+        public List<string> contents { get; set; } = new List<string>();
         /// <summary>
         /// 关联年级
         /// </summary>
         public List<int> grades { get; set; } = new List<int>();
+        /// <summary>
+        /// 第一学段,第二学段,....
+        /// </summary>
+        public string period { get; set; }
     }
-    public class ArtBlock { 
+    public class ArtSubject
+    {
         /// <summary>
         /// 科目
         /// </summary>
@@ -48,7 +55,9 @@ namespace TEAMModelOS.SDK.Models.Cosmos.Normal
         /// 知识块
         /// </summary>
         public List<string> blocks { get; set; } = new List<string>();
-
-
+        /// <summary>
+        /// 描述
+        /// </summary>
+        public List<ArtDesc> descs { get; set; } = new List<ArtDesc>();
     }
 }

+ 1 - 1
TEAMModelOS/Controllers/Normal/AbilitySubController.cs

@@ -1144,7 +1144,7 @@ namespace TEAMModelOS.Controllers
                 //}
 
                 List<GroupList> tchLists = new List<GroupList>();
-                await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<GroupList>(queryText: $"SELECT value(c) FROM c where  c.type='research' ",
+                await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<GroupList>(queryText: $"SELECT value(c) FROM c where  c.type='yxtrain' ",
                     requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"GroupList-{_school}") }))
                 {
                     tchLists.Add(item);

+ 103 - 0
TEAMModelOS/Controllers/Normal/ArtSettingController.cs

@@ -0,0 +1,103 @@
+using Azure.Cosmos;
+using Azure.Storage.Sas;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Options;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Text.Json;
+using System.Threading.Tasks;
+using TEAMModelOS.Filter;
+using TEAMModelOS.Models;
+using TEAMModelOS.SDK;
+using TEAMModelOS.SDK.DI;
+using TEAMModelOS.SDK.DI.AzureCosmos.Inner;
+using TEAMModelOS.SDK.Extension;
+using TEAMModelOS.SDK.Models;
+using TEAMModelOS.SDK.Models.Cosmos.Common;
+using TEAMModelOS.SDK.Models.Cosmos.Normal;
+using TEAMModelOS.SDK.Models.Service;
+
+namespace TEAMModelOS.Controllers
+{
+    [ProducesResponseType(StatusCodes.Status200OK)]
+    [ProducesResponseType(StatusCodes.Status400BadRequest)]
+    [Route("area/art-setting")]
+    [ApiController]
+    public class ArtSettingController : ControllerBase
+    {
+        private readonly AzureCosmosFactory _azureCosmos;
+        private readonly SnowflakeId _snowflakeId;
+        private readonly AzureServiceBusFactory _serviceBus;
+        private readonly DingDing _dingDing;
+        private readonly Option _option;
+        private readonly AzureStorageFactory _azureStorage;
+        private readonly AzureRedisFactory _azureRedis;
+        public IConfiguration _configuration { get; set; }
+        public ArtSettingController(AzureCosmosFactory azureCosmos, AzureServiceBusFactory serviceBus, SnowflakeId snowflakeId, DingDing dingDing,
+            IOptionsSnapshot<Option> option, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, IConfiguration configuration)
+        {
+            _azureCosmos = azureCosmos;
+            _serviceBus = serviceBus;
+            _snowflakeId = snowflakeId;
+            _dingDing = dingDing;
+            _option = option?.Value;
+            _azureStorage = azureStorage;
+            _azureRedis = azureRedis;
+            _configuration = configuration;
+        }
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [ProducesDefaultResponseType]
+        //[AuthToken(Roles = "teacher")]
+        [HttpPost("find-id")]
+        [Authorize(Roles = "IES")]
+        [AuthToken(Roles = "teacher,student,admin,area")]
+        public async Task<IActionResult> FindId(JsonElement request)
+        {
+            var client = _azureCosmos.GetCosmosClient();
+            if (!request.TryGetProperty("areaId", out JsonElement _areaId)) return BadRequest();
+            ArtSetting setting = null;
+            try
+            {
+                setting = await client.GetContainer(Constant.TEAMModelOS, "Normal").ReadItemAsync<ArtSetting>($"{_areaId}", partitionKey: new Azure.Cosmos.PartitionKey("ArtSetting"));
+                return Ok(new { setting });
+            }
+            catch (CosmosException ex)
+            {
+                return Ok(new { setting, error = ex.Status });
+            }
+        }
+        /// <summary>
+        /// 保存 
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [ProducesDefaultResponseType]
+        [HttpPost("upsert")]
+        [Authorize(Roles = "IES")]
+        [AuthToken(Roles = "teacher,student,admin,area")]
+        public async Task<IActionResult> upsert(ArtSetting setting)
+        {
+            var client = _azureCosmos.GetCosmosClient();
+            try
+            {
+                setting.pk = "ArtSetting";
+                setting.code = "ArtSetting";
+                setting.ttl = -1;
+                setting = await client.GetContainer(Constant.TEAMModelOS, "Normal").UpsertItemAsync<ArtSetting>(setting, partitionKey: new Azure.Cosmos.PartitionKey("ArtSetting"));
+                return Ok(new { setting, });
+            }
+            catch (CosmosException ex)
+            {
+                return Ok(new { error = ex.Status });
+            }
+        }
+    }
+}
+

+ 7 - 8
TEAMModelOS/appsettings.Development.json

@@ -21,22 +21,21 @@
   },
   "Azure": {
     "Storage": {
-      "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodeltest;AccountKey=O2W2vadCqexDxWO+px+QK7y1sHwsYj8f/WwKLdOdG5RwHgW/Dupz9dDUb4c1gi6ojzQaRpFUeAAmOu4N9E+37A==;EndpointSuffix=core.chinacloudapi.cn"
+      "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelos;AccountKey=Dl04mfZ9hE9cdPVO1UtqTUQYN/kz/dD/p1nGvSq4tUu/4WhiKcNRVdY9tbe8620nPXo/RaXxs+1F9sVrWRo0bg==;EndpointSuffix=core.chinacloudapi.cn"
     },
     "Cosmos": {
-      "ConnectionString": "AccountEndpoint=https://cdhabookdep-free.documents.azure.cn:443/;AccountKey=JTUVk92Gjsx17L0xqxn0X4wX2thDPMKiw4daeTyV1HzPb6JmBeHdtFY1MF1jdctW1ofgzqkDMFOtcqS46by31A==;"
+      "ConnectionString": "AccountEndpoint=https://teammodelos.documents.azure.cn:443/;AccountKey=clF73GwPECfP1lKZTCvs8gLMMyCZig1HODFbhDUsarsAURO7TcOjVz6ZFfPqr1HzYrfjCXpMuVD5TlEG5bFGGg==;"
     },
     "Redis": {
-      "ConnectionString": "52.130.252.100:6379,password=habook,ssl=false,abortConnect=False,writeBuffer=10240"
+      "ConnectionString": "CoreRedisCN.redis.cache.chinacloudapi.cn:6380,password=LyJWP1ORJdv+poXWofAF97lhCEQPg1wXWqvtzXGXQuE=,ssl=True,abortConnect=False"
     },
     "ServiceBus": {
-      "ConnectionString": "Endpoint=sb://teammodelos.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Sy4h4EQ8zP+7w/lOLi1X3tGord/7ShFHimHs1vC50Dc=",
-      "ActiveTask": "dep-active-task",
-      "ItemCondQueue": "dep-itemcond",
-      "GenPdfQueue": "dep-genpdf"
+      "ConnectionString": "Endpoint=sb://coreiotservicebuscnpro.servicebus.chinacloudapi.cn/;SharedAccessKeyName=TEAMModelOS;SharedAccessKey=llRPBMDJG9w1Nnifj+pGhV0g4H2REcq0PjvX2qqpcOg=",
+      "ActiveTask": "active-task",
+      "ItemCondQueue": "itemcond",
+      "GenPdfQueue": "genpdf"
     },
     "SignalR": {
-      //"ConnectionString": "Endpoint=https://channel.service.signalr.net;AccessKey=KrblW06tuA4a/GyqRPDU0ynFFmAWxbAvyJihHclSXbQ=;Version=1.0;",
       "ConnectionString": "Endpoint=https://channel.signalr.azure.cn;AccessKey=AtcB7JYFNUbUXb1rGxa3PVksQ2X5YSv3JOHZR9J88tw=;Version=1.0;"
     }
   },