瀏覽代碼

优化城市权限处理逻辑

在 `EnterExitCostDraftRepository.cs` 和 `EnterExitCostRepository.cs` 文件中,修改了城市权限的添加逻辑。现在,无论 `currUserId` 的值如何,都会默认添加贵州、重庆、云南的出入境费用查看权限。此更改简化了代码结构,减少了重复查询,提高了代码的可读性和可维护性。
Lyyyi 1 月之前
父節點
當前提交
36fc4f50ba

+ 14 - 17
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostDraftRepository.cs

@@ -108,27 +108,24 @@ namespace OASystem.Infrastructure.Repositories.Groups
             /*
              * 市场部 朱姝 默认添加贵州、重庆、云南的出入境费用查看权限
              */
-            if (currUserId == 380)
-            {
-                var cityPerm = new List<string>()
+            var cityPerm = new List<string>()
                 {
                     "贵州", "重庆", "云南"
                 };
-                var draftInfo = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>().FirstAsync(x => x.Id == draftId && x.IsDel == 0);
-                if (draftInfo != null)
+            var draftInfo = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>().FirstAsync(x => x.Id == draftId && x.IsDel == 0);
+            if (draftInfo != null)
+            {
+                //1.通过团组名称判断是否包含城市
+                if (cityPerm.Any(x => draftInfo.DraftName.Contains(x)))
                 {
-                    //1.通过团组名称判断是否包含城市
-                    if (cityPerm.Any(x => draftInfo.DraftName.Contains(x)))
-                    {
-                        feeBasePermIds.Add(currUserId);
-                    }
-                    //2.通过城市Id判断是否包含城市
-                    else
-                    {
-                        var draftProvince = await _sqlSugar.Queryable<Sys_Cities>()
-                                .FirstAsync(x => x.Id == draftInfo.ProvinceId && cityPerm.Contains(x.Name_CN) && x.IsDel == 0);
-                        if (draftProvince != null) feeBasePermIds.Add(currUserId);
-                    }
+                    feeBasePermIds.Add(380);
+                }
+                //2.通过城市Id判断是否包含城市
+                else
+                {
+                    var draftProvince = await _sqlSugar.Queryable<Sys_Cities>()
+                            .FirstAsync(x => x.Id == draftInfo.ProvinceId && cityPerm.Contains(x.Name_CN) && x.IsDel == 0);
+                    if (draftProvince != null) feeBasePermIds.Add(380);
                 }
             }
 

+ 20 - 21
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -121,34 +121,33 @@ namespace OASystem.Infrastructure.Repositories.Groups
             /*
              * 市场部 朱姝 默认添加贵州、重庆、云南的出入境费用查看权限
              */
-            if (currUserId == 380)
+
+            var cityPerm = new List<string>()
+            {
+                "贵州", "重庆", "云南"
+            };
+            var groupInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(x => x.Id == groupId && x.IsDel == 0);
+            if (groupInfo != null)
             {
-                var cityPerm = new List<string>()
+                //1.通过团组名称判断是否包含城市
+                if (cityPerm.Any(x => groupInfo.TeamName.Contains(x)))
                 {
-                    "贵州", "重庆", "云南"
-                };
-                var groupInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(x => x.Id == groupId && x.IsDel == 0);
-                if (groupInfo != null)
+                    feeBasePermIds.Add(380);
+                }
+                //2.通过城市Id判断是否包含城市
+                else 
                 {
-                    //1.通过团组名称判断是否包含城市
-                    if (cityPerm.Any(x => groupInfo.TeamName.Contains(x)))
+                    var groupCity = await _sqlSugar.Queryable<Sys_Cities>().FirstAsync(x => x.Id == groupInfo.CityId && x.IsDel == 0);
+                    if (groupCity != null)
                     {
-                        feeBasePermIds.Add(currUserId);
+                        var groupProvince = await _sqlSugar.Queryable<Sys_Cities>()
+                            .FirstAsync(x => x.Id == groupCity.ParentId && cityPerm.Contains(x.Name_CN) && x.IsDel == 0);
+                        if (groupProvince != null) feeBasePermIds.Add(380);
                     }
-                    //2.通过城市Id判断是否包含城市
-                    else 
-                    {
-                        var groupCity = await _sqlSugar.Queryable<Sys_Cities>().FirstAsync(x => x.Id == groupInfo.CityId && x.IsDel == 0);
-                        if (groupCity != null)
-                        {
-                            var groupProvince = await _sqlSugar.Queryable<Sys_Cities>()
-                                .FirstAsync(x => x.Id == groupCity.ParentId && cityPerm.Contains(x.Name_CN) && x.IsDel == 0);
-                            if (groupProvince != null) feeBasePermIds.Add(currUserId);
-                        }
-                    }    
-                }
+                }    
             }
 
+
             if (feeBasePermIds.Any())
             {
                 var permissions = new List<Grp_EnterExitCostPermission>();