CrazyIter_Bin 3 yıl önce
ebeveyn
işleme
4e3df491e4

+ 26 - 0
TEAMModelOS.SDK/Models/Cosmos/Research/AccessConfig.cs

@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace TEAMModelOS.SDK.Models
+{
+    public class AccessConfig
+    {
+        /// <summary>
+        /// 校本研修允许提交的文件类型 ["pdf"]
+        /// </summary>
+        public List<string> homeworkType { get; set; } = new List<string>();
+        /// <summary>
+        /// 认证材料允许提交的文件类型 ["pdf","mp4"]
+        /// </summary>
+        //public List<string> submitType { get; set; } = new List<string>();
+        /// <summary>
+        /// 单点登录跳转 scpjx
+        /// </summary>
+        public string path { get; set; }
+        /// <summary>
+        /// 研修平台省级 scsyxpt
+        /// </summary>
+        public string config { get; set; }
+    }
+}

+ 2 - 1
TEAMModelOS.SDK/Models/Service/Third/ScApisService.cs

@@ -70,13 +70,14 @@ namespace TEAMModelOS.SDK
         public string DisName { get; set; }
         public string Account { get; set; }
     }
-    public class ScAccessConfig
+    public class ScAccessConfig : AccessConfig
     {
         public string passKey { get; set; }
         public string trainComID { get; set; }
         public string privateKey { get; set; }
         public string url { get; set; }
     }
+   
     public class ScsResult
     {
         public bool result { get; set; }

+ 40 - 1
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -295,6 +295,45 @@ namespace TEAMModelOS.Controllers
                         await client.GetContainer(Constant.TEAMModelOS, "School").CreateItemAsync<ItemCond>(itemCond, new PartitionKey($"ItemCond-{school_code}"));
                     }
                 }
+                dynamic currArea = new ExpandoObject();
+                if (!string.IsNullOrEmpty(school_base.areaId)) {
+                    try
+                    {
+                        Area  area = await client.GetContainer(Constant.TEAMModelOS, "Normal").ReadItemAsync<Area>($"{school_base.areaId}", new PartitionKey("Base-Area"));
+                        AreaSetting setting = null;
+                        try
+                        {
+                            setting = await client.GetContainer(Constant.TEAMModelOS, "Normal").ReadItemAsync<AreaSetting>($"{school_base.areaId}", new PartitionKey("AreaSetting"));
+                        }
+                        catch (CosmosException ex)
+                        {
+                            setting = null;
+                        }
+                        int access = 0;
+                        AccessConfig accessConfig = null;
+                        if (setting != null && !string.IsNullOrWhiteSpace(setting.accessConfig))
+                        {
+                            access = 1;
+                            accessConfig =setting.accessConfig.ToObject<AccessConfig>();
+                        }
+                        currArea = new   
+                        {
+                            areaId = area.id, 
+                            name = area.name, 
+                            standard = area.standard, 
+                            standardName = area.standardName, 
+                            setting = setting, 
+                            access = access,
+                            //submitType=accessConfig.submitType,
+                            homeworkType = accessConfig.homeworkType, 
+                        };
+                    }
+                    catch (CosmosException)
+                    {
+                        //数据库捞不到数据
+                        
+                    }
+                }
                 if (areas.Count > 0)
                 {
                     roles.Add("area");
@@ -372,7 +411,7 @@ namespace TEAMModelOS.Controllers
                 var (blob_uri, blob_sas) = (roles.Contains("admin") || permissions.Contains("schoolAc-upd")) ? _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete) : _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Write);
                 ///https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelos
                 var (osblob_uri, osblob_sas) = roles.Contains("area") ? _azureStorage.GetBlobContainerSAS("teammodelos", BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete) : _azureStorage.GetBlobContainerSAS("teammodelos", BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List);
-                return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses,  school_classes, school_rooms, size, osblob_uri, osblob_sas, status = 200, areas });
+                return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses,  school_classes, school_rooms, size, osblob_uri, osblob_sas, status = 200, areas , currArea });
             }
             catch (CosmosException ex)
             {

+ 1 - 1
TEAMModelOS/Controllers/Third/ScController.cs

@@ -233,7 +233,7 @@ namespace TEAMModelOS.Controllers.Third
             {
                 return Redirect(rurl.Append($"?status=1").ToString());
             }
-            string accessConfig = "{\"path\":\"scpjx\",\"config\":\"scsyxpt\",\"passKey\":\"VgEQfEjwzfvFn8my\",\"trainComID\":\"2065\",\"privateKey\":\"4DB15444DEEDBB28B718ACB09217B5FC\",\"url\":\"http://testscts.scedu.com.cn/webservice/EduService.asmx/RequestService\"}";
+            string accessConfig = "{\"homeworkType\":[\"pdf\"],\"submitType\":[\"pdf\",\"mp4\"],\"path\":\"scpjx\",\"config\":\"scsyxpt\",\"passKey\":\"VgEQfEjwzfvFn8my\",\"trainComID\":\"2065\",\"privateKey\":\"4DB15444DEEDBB28B718ACB09217B5FC\",\"url\":\"http://testscts.scedu.com.cn/webservice/EduService.asmx/RequestService\"}";
             Dictionary<string, object> dict = new Dictionary<string, object> { { "accessConfig", accessConfig }, { "pxid",sso.Pxid },{ "tid",sso.tid} };
             (int status,string json ) =await  _httpTrigger.RequestHttpTrigger(dict, _option.Location, "GetSingleTeacherByProject");
             if (status == 200) {