فهرست منبع

update .清除权限。

CrazyIter_Bin 3 سال پیش
والد
کامیت
9f0b7978a2

+ 17 - 16
TEAMModelOS.SDK/Models/Service/Third/ThirdApisService.cs

@@ -6,6 +6,7 @@ using System.Net.Http;
 using System.Net.Http.Headers;
 using System.Net.Http.Headers;
 using System.Net.Http.Json;
 using System.Net.Http.Json;
 using System.Text;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using TEAMModelOS.SDK;
 using TEAMModelOS.SDK;
 using TEAMModelOS.SDK.Extension;
 using TEAMModelOS.SDK.Extension;
@@ -15,10 +16,10 @@ namespace TEAMModelOS.SDK
     public class ThirdApisService
     public class ThirdApisService
     {
     {
        
        
-        private readonly HttpClient _httpClient;
+     //   private readonly HttpClient _httpClient;
         public ThirdApisService(HttpClient httpClient)
         public ThirdApisService(HttpClient httpClient)
         {
         {
-            _httpClient = httpClient;
+           // _httpClient = httpClient;
         }
         }
         public async   Task<ScsResult> Post(string url, string Code, string PassKey,string privateKey, Dictionary<string ,object> data)
         public async   Task<ScsResult> Post(string url, string Code, string PassKey,string privateKey, Dictionary<string ,object> data)
         {
         {
@@ -38,17 +39,15 @@ namespace TEAMModelOS.SDK
                 string signatureStr = signatureDC.ToJsonString();
                 string signatureStr = signatureDC.ToJsonString();
                 string signature = AESHelper.AESEncrypt(signatureStr, privateKey);
                 string signature = AESHelper.AESEncrypt(signatureStr, privateKey);
                 #endregion
                 #endregion
-             
+                HttpClient _httpClient = new HttpClient();
                 _httpClient.DefaultRequestHeaders.Add("Signature", signature);
                 _httpClient.DefaultRequestHeaders.Add("Signature", signature);
-                using (var request = new HttpRequestMessage())
-                {
-                    request.Method = new HttpMethod("POST");
-                    request.RequestUri = new Uri(url);
-                    request.Content = new StringContent(sendMsg);
-                    request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
-                    response = await _httpClient.SendAsync(request);
-                    result = await response.Content.ReadAsStringAsync();
-                }
+                var request = new HttpRequestMessage();
+                request.Method = new HttpMethod("POST");
+                request.RequestUri = new Uri(url);
+                request.Content = new StringContent(sendMsg);
+                request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
+                response = await _httpClient.SendAsync(request);
+                result = await response.Content.ReadAsStringAsync();
                 ScsResult scsResult = result.ToObject<ScsResult>();
                 ScsResult scsResult = result.ToObject<ScsResult>();
                 if (scsResult.result)
                 if (scsResult.result)
                 {
                 {
@@ -60,11 +59,13 @@ namespace TEAMModelOS.SDK
                 }
                 }
                 return scsResult;
                 return scsResult;
             } catch (Exception ex ) {
             } catch (Exception ex ) {
-                throw new Exception($"{ex.Message}\n{ex.StackTrace}\n\n{data.ToJsonString()}\n{url}\n {Code}\n{PassKey}\n{privateKey}\n{response?.StatusCode}\n{response?.Content}\n{result}");
+                //重传机制
+               // Thread.Sleep(5 * 60 * 1000);
+
+                string papas = $"{ex.Message}\n{ex.StackTrace}\n{data.ToJsonString()} \n{result}";
+                return   await Post(url, Code, PassKey, privateKey, data);
+                //throw new Exception($"{ex.Message}\n{ex.StackTrace}\n\n{data.ToJsonString()}\n{url}\n {Code}\n{PassKey}\n{privateKey}\n{response?.StatusCode}\n{response?.Content}\n{result}");
             }
             }
-            
         }
         }
-
     }
     }
-   
 }
 }

+ 5 - 0
TEAMModelOS/Controllers/School/SchoolTeacherController.cs

@@ -455,6 +455,7 @@ namespace TEAMModelOS.Controllers
                 request.TryGetProperty("ids", out JsonElement _ids);
                 request.TryGetProperty("ids", out JsonElement _ids);
                 request.TryGetProperty("job", out JsonElement _job);
                 request.TryGetProperty("job", out JsonElement _job);
                 request.TryGetProperty("permission", out JsonElement _permission);
                 request.TryGetProperty("permission", out JsonElement _permission);
+                request.TryGetProperty("pmClean", out JsonElement _pmClean);
                 request.TryGetProperty("pmAdd", out JsonElement _pmAdd);
                 request.TryGetProperty("pmAdd", out JsonElement _pmAdd);
                 request.TryGetProperty("pmRmv", out JsonElement _pmRmv);
                 request.TryGetProperty("pmRmv", out JsonElement _pmRmv);
                 List<string> rmvPm = null;
                 List<string> rmvPm = null;
@@ -507,6 +508,10 @@ namespace TEAMModelOS.Controllers
                     {
                     {
                         st.job = $"{_job}";
                         st.job = $"{_job}";
                     }
                     }
+                    //清除权限标记。
+                    if (_pmClean.ValueKind.Equals(JsonValueKind.True)) {
+                        st.permissions = new List<string>();
+                    }
                     await client.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync<SchoolTeacher>(st, id, new PartitionKey($"Teacher-{school_code}"));
                     await client.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync<SchoolTeacher>(st, id, new PartitionKey($"Teacher-{school_code}"));
                     schoolTeachers.Add(st);
                     schoolTeachers.Add(st);
                 }
                 }

+ 11 - 17
TEAMModelOS/Controllers/Third/Sc/ScDataPushController.cs

@@ -15,6 +15,7 @@ using Microsoft.Extensions.Options;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.Configuration;
 using HTEXLib.COMM.Helpers;
 using HTEXLib.COMM.Helpers;
 using TEAMModelOS.SDK;
 using TEAMModelOS.SDK;
+using System.Threading;
 
 
 namespace TEAMModelOS.Controllers
 namespace TEAMModelOS.Controllers
 {
 {
@@ -58,6 +59,10 @@ namespace TEAMModelOS.Controllers
             ScAccessConfig config = areaSetting.accessConfig.ToObject<ScAccessConfig>();
             ScAccessConfig config = areaSetting.accessConfig.ToObject<ScAccessConfig>();
             Dictionary<string, dynamic > checkDatas = new  Dictionary<string, dynamic >();
             Dictionary<string, dynamic > checkDatas = new  Dictionary<string, dynamic >();
 
 
+            var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
+            List<ScTeacher> scTeachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object> { { "PartitionKey", "ScTeacher" }, { "areaId", $"{areaIdJson}" } });
+            List<ScTeacherDiagnosis> scTeacherDiagnoses = await table.FindListByDict<ScTeacherDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScTeacherDiagnosis" }, { "areaId", $"{areaIdJson}" } });
+            var teammodelossas = _azureStorage.GetBlobContainerSAS99Year("teammodelos", Azure.Storage.Sas.BlobContainerSasPermissions.Read);
 
 
 
 
 
 
@@ -87,16 +92,7 @@ namespace TEAMModelOS.Controllers
                         trains.Add(item);
                         trains.Add(item);
                     }
                     }
                 }
                 }
-                var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
-                List<ScTeacher> scTeachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object> { { "PartitionKey", "ScTeacher" }, { "schoolCode", $"{school}" } });
-                List<ScTeacherDiagnosis> scTeacherDiagnoses = await table.FindListByDict<ScTeacherDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScTeacherDiagnosis" }, { "schoolCode", $"{school}" } });
-
-                List<KeyValuePair<TeacherTrain, string>> trainsNO = new List<KeyValuePair<TeacherTrain, string>>();
-
-
                 int pages = (trains.Count + 49) / 50; //pages = (total + max -1) / max;
                 int pages = (trains.Count + 49) / 50; //pages = (total + max -1) / max;
-
-                var teammodelossas = _azureStorage.GetBlobContainerSAS99Year("teammodelos", Azure.Storage.Sas.BlobContainerSasPermissions.Read);
                 var schoolsas = _azureStorage.GetBlobContainerSAS99Year($"{school}", Azure.Storage.Sas.BlobContainerSasPermissions.Read);
                 var schoolsas = _azureStorage.GetBlobContainerSAS99Year($"{school}", Azure.Storage.Sas.BlobContainerSasPermissions.Read);
                 HashSet<TeacherTrain> updatePush = new HashSet<TeacherTrain>();
                 HashSet<TeacherTrain> updatePush = new HashSet<TeacherTrain>();
                 for (int i = 0; i < pages; i++)
                 for (int i = 0; i < pages; i++)
@@ -141,9 +137,10 @@ namespace TEAMModelOS.Controllers
                     });
                     });
                     await Task.WhenAll(tasks);
                     await Task.WhenAll(tasks);
                     //推送数据
                     //推送数据
+                    
                     if (list53112.IsNotEmpty())
                     if (list53112.IsNotEmpty())
                     {
                     {
-
+                        //Thread.Sleep(10 * 1000);
                         dicts.Add(parameterContent53112);
                         dicts.Add(parameterContent53112);
                         UpdateTeacherListSituation = await _thirdApisService.Post(config.url, "UpdateTeacherListSituation", config.passKey, config.privateKey, parameterContent53112);
                         UpdateTeacherListSituation = await _thirdApisService.Post(config.url, "UpdateTeacherListSituation", config.passKey, config.privateKey, parameterContent53112);
                         UpdateTeacherListSituation.bizcode = "UpdateTeacherListSituation";
                         UpdateTeacherListSituation.bizcode = "UpdateTeacherListSituation";
@@ -153,6 +150,7 @@ namespace TEAMModelOS.Controllers
 
 
                     if (list53113.IsNotEmpty())
                     if (list53113.IsNotEmpty())
                     {
                     {
+                        //Thread.Sleep(10 * 1000);
                         dicts.Add(parameterContent53113);
                         dicts.Add(parameterContent53113);
                         UpdateTeacherListDiagnosis = await _thirdApisService.Post(config.url, "UpdateTeacherListDiagnosis", config.passKey, config.privateKey, parameterContent53113);
                         UpdateTeacherListDiagnosis = await _thirdApisService.Post(config.url, "UpdateTeacherListDiagnosis", config.passKey, config.privateKey, parameterContent53113);
                         UpdateTeacherListDiagnosis.bizcode = "UpdateTeacherListDiagnosis";
                         UpdateTeacherListDiagnosis.bizcode = "UpdateTeacherListDiagnosis";
@@ -162,6 +160,7 @@ namespace TEAMModelOS.Controllers
 
 
                     if (list53117.IsNotEmpty())
                     if (list53117.IsNotEmpty())
                     {
                     {
+                        //Thread.Sleep(10 * 1000 );
                         dicts.Add(parameterContent53117);
                         dicts.Add(parameterContent53117);
                         UploadKTSLList = await _thirdApisService.Post(config.url, "UploadKTSLList", config.passKey, config.privateKey, parameterContent53117);
                         UploadKTSLList = await _thirdApisService.Post(config.url, "UploadKTSLList", config.passKey, config.privateKey, parameterContent53117);
                         UploadKTSLList.bizcode = "UploadKTSLList";
                         UploadKTSLList.bizcode = "UploadKTSLList";
@@ -171,6 +170,7 @@ namespace TEAMModelOS.Controllers
 
 
                     if (list53122.IsNotEmpty())
                     if (list53122.IsNotEmpty())
                     {
                     {
+                        //Thread.Sleep(10 * 1000 );
                         dicts.Add(parameterContent53122);
                         dicts.Add(parameterContent53122);
                         UploadSBTARPDFListV2 = await _thirdApisService.Post(config.url, "UploadSBTARPDFListV2", config.passKey, config.privateKey, parameterContent53122);
                         UploadSBTARPDFListV2 = await _thirdApisService.Post(config.url, "UploadSBTARPDFListV2", config.passKey, config.privateKey, parameterContent53122);
                         UploadSBTARPDFListV2.bizcode = "UploadSBTARPDFListV2";
                         UploadSBTARPDFListV2.bizcode = "UploadSBTARPDFListV2";
@@ -205,14 +205,8 @@ namespace TEAMModelOS.Controllers
                             checkDatas[x] = dict;
                             checkDatas[x] = dict;
                         }
                         }
                     }
                     }
-                });
-                
+                }); 
             }
             }
-            
-
-
-           
-            
             return Ok(new { data = new { results, checkDatas, dicts } });        
             return Ok(new { data = new { results, checkDatas, dicts } });        
         }
         }