黄贺彬 6 лет назад
Родитель
Сommit
d2f43a616d

+ 1 - 0
TEAMModelOS.Model/Core/Models/RoleIdentityClaimValue.cs

@@ -15,6 +15,7 @@ namespace TEAMModelOS.Model.Core.Models
         public string RoleCode { get; set; }
         public string RoleCode { get; set; }
         public string ClaimType { get; set; }
         public string ClaimType { get; set; }
         public string ClaimCode { get; set; }
         public string ClaimCode { get; set; }
+        public int ClaimOrder { get; set; }
         public string GroupKey { get; set; }
         public string GroupKey { get; set; }
         public string ClaimName { get; set; }
         public string ClaimName { get; set; }
     }
     }

+ 5 - 0
TEAMModelOS.SDK/Module/AzureCosmosDB/Implements/AzureCosmosDBRepository.cs

@@ -118,6 +118,11 @@ namespace TEAMModelOS.SDK.Module.AzureCosmosDB.Implements
                 List<PropertyInfo> attrProperties = new List<PropertyInfo>();
                 List<PropertyInfo> attrProperties = new List<PropertyInfo>();
                 foreach (PropertyInfo property in properties)
                 foreach (PropertyInfo property in properties)
                 {
                 {
+                    if (property.Name.Equals("PartitionKey"))
+                    {
+                        attrProperties.Add(property);
+                        break;
+                    }
                     object[] attributes = property.GetCustomAttributes(true);
                     object[] attributes = property.GetCustomAttributes(true);
                     foreach (object attribute in attributes) //2.通过映射,找到成员属性上关联的特性类实例,
                     foreach (object attribute in attributes) //2.通过映射,找到成员属性上关联的特性类实例,
                     {
                     {

+ 2 - 1
TEAMModelOS/Controllers/Core/GradeController.cs

@@ -14,7 +14,7 @@ namespace TEAMModelOS.Controllers.Core
 {
 {
     [Route("api/[controller]")]
     [Route("api/[controller]")]
     [ApiController]
     [ApiController]
-    //[Authorize]
+    [Authorize]
     public class GradeController :BaseController
     public class GradeController :BaseController
     {
     {
         private IGradeService _GradeSeservice;
         private IGradeService _GradeSeservice;
@@ -27,6 +27,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("FindGradesByDict")]
         [HttpPost("FindGradesByDict")]
         public async Task<BaseJosnRPCResponse> FindGradesByDict(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> FindGradesByDict(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             List<Grade> Grades = await _GradeSeservice.FindListByDictHasAll<Grade>(request.@params);
             List<Grade> Grades = await _GradeSeservice.FindListByDictHasAll<Grade>(request.@params);
             return builder.Data(Grades).build();
             return builder.Data(Grades).build();

+ 4 - 0
TEAMModelOS/Controllers/Core/PeriodController.cs

@@ -1,3 +1,4 @@
+using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
@@ -12,6 +13,7 @@ namespace TEAMModelOS.Controllers.Core
 {
 {
     [Route("api/[controller]")]
     [Route("api/[controller]")]
     [ApiController]
     [ApiController]
+    [Authorize]
     public class PeriodController :BaseController
     public class PeriodController :BaseController
     {
     {
         public IPeriodService _periodService;
         public IPeriodService _periodService;
@@ -30,6 +32,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("DeleteInfo")]
         [HttpPost("DeleteInfo")]
         public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             int count  = await _periodService.DeleteAll<Period>(request.@params);
             int count  = await _periodService.DeleteAll<Period>(request.@params);
             return builder.Data(count).build();
             return builder.Data(count).build();
@@ -38,6 +41,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("FindPeriodsByDict")]
         [HttpPost("FindPeriodsByDict")]
         public async Task<BaseJosnRPCResponse> FindPeriodsByDict(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> FindPeriodsByDict(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             List<Period> data = await _periodService.FindListByDictHasAll<Period>(request.@params);
             List<Period> data = await _periodService.FindListByDictHasAll<Period>(request.@params);
             return builder.Data(data).build();
             return builder.Data(data).build();

+ 6 - 2
TEAMModelOS/Controllers/Core/RoleController.cs

@@ -32,6 +32,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("FindRoleByDict")]
         [HttpPost("FindRoleByDict")]
         public async Task<BaseJosnRPCResponse> FindRoleByDict(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> FindRoleByDict(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             List<Role> roles = await _roleSeservice.FindListByDictHasAll<Role>(request.@params);
             List<Role> roles = await _roleSeservice.FindListByDictHasAll<Role>(request.@params);
             return builder.Data(roles).build();
             return builder.Data(roles).build();
@@ -72,13 +73,16 @@ namespace TEAMModelOS.Controllers.Core
                 foreach (string code in rolecodes)
                 foreach (string code in rolecodes)
                 {
                 {
                     List<RoleIdentityClaimValue> claimValues=  await _roleSeservice.FindListByDict<RoleIdentityClaimValue>(
                     List<RoleIdentityClaimValue> claimValues=  await _roleSeservice.FindListByDict<RoleIdentityClaimValue>(
-                    new Dictionary<string, object> { { "RoleCode", code },{ "TeamModelId", Id[0]} });
+                    new Dictionary<string, object> { { "RoleCode", code },{ "TeamModelId", Id[0]}, { "PartitionKey", request.lang} });
                     List<string> keys = new List<string>();
                     List<string> keys = new List<string>();
                     List<Dictionary<string, object>> claims = new List<Dictionary<string, object>>();
                     List<Dictionary<string, object>> claims = new List<Dictionary<string, object>>();
                     foreach (IGrouping<string, RoleIdentityClaimValue> group in claimValues.GroupBy(c =>c.GroupKey))
                     foreach (IGrouping<string, RoleIdentityClaimValue> group in claimValues.GroupBy(c =>c.GroupKey))
                     {
                     {
+
+                        List<RoleIdentityClaimValue> claimValue = claimValues.Where(x => x.GroupKey.Equals(group.Key)).ToList();
+                        claimValue= claimValue.OrderBy(s => s.ClaimOrder).ToList() ;
                         Dictionary<string, object> claim = new Dictionary<string, object>();
                         Dictionary<string, object> claim = new Dictionary<string, object>();
-                        claim.Add("claim", claimValues.Where(x => x.GroupKey.Equals(group.Key)).ToList());
+                        claim.Add("claim", claimValue);
                         claim.Add("group", group.Key);
                         claim.Add("group", group.Key);
                         claims.Add(claim);
                         claims.Add(claim);
                     }
                     }

+ 4 - 0
TEAMModelOS/Controllers/Core/SubjectController.cs

@@ -1,3 +1,4 @@
+using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
@@ -12,6 +13,7 @@ namespace TEAMModelOS.Controllers.Core
 {
 {
     [Route("api/[controller]")]
     [Route("api/[controller]")]
     [ApiController]
     [ApiController]
+    [Authorize]
     public class SubjectController :BaseController
     public class SubjectController :BaseController
     {
     {
         public ISubjectService  _subjectService;
         public ISubjectService  _subjectService;
@@ -37,6 +39,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("DeleteInfo")]
         [HttpPost("DeleteInfo")]
         public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             int count = await _subjectService.DeleteAll<Subject>(request.@params);
             int count = await _subjectService.DeleteAll<Subject>(request.@params);
             return builder.Data(count).build();
             return builder.Data(count).build();
@@ -45,6 +48,7 @@ namespace TEAMModelOS.Controllers.Core
         [HttpPost("FindSubjectsByDict")]
         [HttpPost("FindSubjectsByDict")]
         public async Task<BaseJosnRPCResponse> FindList(JosnRPCRequest<Dictionary<string, object>> request)
         public async Task<BaseJosnRPCResponse> FindList(JosnRPCRequest<Dictionary<string, object>> request)
         {
         {
+            request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             List<Subject> data = await _subjectService.FindListByDictHasAll<Subject>(request.@params);
             List<Subject> data = await _subjectService.FindListByDictHasAll<Subject>(request.@params);
             return builder.Data(data).build();
             return builder.Data(data).build();

+ 11 - 11
TEAMModelOS/JsonFile/Core/RoleClaim.json

@@ -3,13 +3,13 @@
     "RoleLevelName": "校级",
     "RoleLevelName": "校级",
     "RoleLevel": 10801,
     "RoleLevel": 10801,
     "ClaimType": "TeamModelId",
     "ClaimType": "TeamModelId",
-    "Order": 3
+    "Order": 2
   },
   },
   {
   {
     "RoleLevelName": "校级",
     "RoleLevelName": "校级",
     "RoleLevel": 10801,
     "RoleLevel": 10801,
     "ClaimType": "RoleCode",
     "ClaimType": "RoleCode",
-    "Order": 2
+    "Order": 3
   },
   },
   {
   {
     "RoleLevelName": "校级",
     "RoleLevelName": "校级",
@@ -21,13 +21,13 @@
     "RoleLevelName": "校区",
     "RoleLevelName": "校区",
     "RoleLevel": 10901,
     "RoleLevel": 10901,
     "ClaimType": "TeamModelId",
     "ClaimType": "TeamModelId",
-    "Order": 4
+    "Order": 3
   },
   },
   {
   {
     "RoleLevelName": "校区",
     "RoleLevelName": "校区",
     "RoleLevel": 10901,
     "RoleLevel": 10901,
     "ClaimType": "RoleCode",
     "ClaimType": "RoleCode",
-    "Order": 2
+    "Order": 4
   },
   },
   {
   {
     "RoleLevelName": "校区",
     "RoleLevelName": "校区",
@@ -39,19 +39,19 @@
     "RoleLevelName": "校区",
     "RoleLevelName": "校区",
     "RoleLevel": 10901,
     "RoleLevel": 10901,
     "ClaimType": "CampusCode",
     "ClaimType": "CampusCode",
-    "Order": 3
+    "Order": 2
   },
   },
   {
   {
     "RoleLevelName": "学段",
     "RoleLevelName": "学段",
     "RoleLevel": 11001,
     "RoleLevel": 11001,
     "ClaimType": "TeamModelId",
     "ClaimType": "TeamModelId",
-    "Order": 5
+    "Order": 4
   },
   },
   {
   {
     "RoleLevelName": "学段",
     "RoleLevelName": "学段",
     "RoleLevel": 11001,
     "RoleLevel": 11001,
     "ClaimType": "RoleCode",
     "ClaimType": "RoleCode",
-    "Order": 4
+    "Order": 5
   },
   },
   {
   {
     "RoleLevelName": "学段",
     "RoleLevelName": "学段",
@@ -75,13 +75,13 @@
     "RoleLevelName": "年级",
     "RoleLevelName": "年级",
     "RoleLevel": 11101,
     "RoleLevel": 11101,
     "ClaimType": "TeamModelId",
     "ClaimType": "TeamModelId",
-    "Order": 6
+    "Order": 5
   },
   },
   {
   {
     "RoleLevelName": "年级",
     "RoleLevelName": "年级",
     "RoleLevel": 11101,
     "RoleLevel": 11101,
     "ClaimType": "RoleCode",
     "ClaimType": "RoleCode",
-    "Order": 5
+    "Order": 6
   },
   },
   {
   {
     "RoleLevelName": "年级",
     "RoleLevelName": "年级",
@@ -111,13 +111,13 @@
     "RoleLevelName": "班级",
     "RoleLevelName": "班级",
     "RoleLevel": 11201,
     "RoleLevel": 11201,
     "ClaimType": "TeamModelId",
     "ClaimType": "TeamModelId",
-    "Order": 7
+    "Order": 6
   },
   },
   {
   {
     "RoleLevelName": "班级",
     "RoleLevelName": "班级",
     "RoleLevel": 11201,
     "RoleLevel": 11201,
     "ClaimType": "RoleCode",
     "ClaimType": "RoleCode",
-    "Order": 6
+    "Order": 7
   },
   },
   {
   {
     "RoleLevelName": "班级",
     "RoleLevelName": "班级",

+ 15 - 11
TEAMModelOS/SeedData/SeedDataService.cs

@@ -30,17 +30,20 @@ namespace TEAMModelOS.SeedData
         public void SeedData()
         public void SeedData()
         {
         {
             SeedRootAdmin();
             SeedRootAdmin();
-            SeedRole();
-            SeedSchool();
-            SeedTextBook();
-            SeedRoleClaim();
-            //SeedArea();
-            SeedSchoolRole();
-            SeedSubject();
-            SeedGrade();
-            SeedOrgStructure();
-            // SeedClass();
+            //SeedRoleClaim();
+            //SeedRole();
+            //SeedSchool();
+            //SeedTextBook();
+            
+            
+            //SeedSchoolRole();
+            //SeedSubject();
+            //SeedGrade();
+            //SeedOrgStructure();
+          
             //SeedIdentityClaim();
             //SeedIdentityClaim();
+            // SeedClass();
+            //SeedArea();
         }
         }
         public async void SeedIdentityClaim() {
         public async void SeedIdentityClaim() {
             List<RoleUser> deleteSchoolAdmin = await FindListByKey<RoleUser>("RoleCode", "SchoolAdmin");
             List<RoleUser> deleteSchoolAdmin = await FindListByKey<RoleUser>("RoleCode", "SchoolAdmin");
@@ -86,7 +89,8 @@ namespace TEAMModelOS.SeedData
                                 RoleCode = role,
                                 RoleCode = role,
                                 ClaimType = roleIdentityClaim.ClaimType,
                                 ClaimType = roleIdentityClaim.ClaimType,
                                 ClaimCode = ClaimValue,
                                 ClaimCode = ClaimValue,
-                                ClaimName= ClaimName,
+                                ClaimOrder = roleIdentityClaim.Order,
+                                ClaimName = ClaimName,
                                 GroupKey = groupKey
                                 GroupKey = groupKey
                             };
                             };
                             claimValues.Add(claimValue);
                             claimValues.Add(claimValue);