Explorar o código

商邀资料查询 QueryInvitationOfficialActivityData 优化响应速度

leiy hai 1 ano
pai
achega
7bd7b4ac62

+ 4 - 1
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -6,6 +6,7 @@ using OASystem.Infrastructure.Repositories.Groups;
 using Org.BouncyCastle.Utilities;
 using Quartz.Util;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Net.Http.Headers;
 
 namespace OASystem.API.Controllers
@@ -1377,12 +1378,14 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
         {
             try
             {
+                Stopwatch stopwatch = Stopwatch.StartNew();
                 Result groupData = await _InvitationOfficialActivityDataRep.QueryInvitationOfficialActivityData(dto);
                 if (groupData.Code != 0)
                 {
                     return Ok(JsonView(false, groupData.Msg));
                 }
-                return Ok(JsonView(true, groupData.Msg, groupData.Data));
+                stopwatch.Stop();
+                return Ok(JsonView(true, $"{groupData.Msg} 耗时:{stopwatch.ElapsedMilliseconds / 1000}s", groupData.Data));
             }
             catch (Exception ex)
             {

+ 8 - 4
OASystem/OASystem.Infrastructure/Repositories/Resource/InvitationOfficialActivityDataRepository.cs

@@ -55,17 +55,21 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
                 string sql = string.Format(@"select i.*,(select CnName from Sys_Users where Id=i.CreateUserId ) as CreateUserName from 
                                             Res_InvitationOfficialActivityData i {0} order by CreateTime desc", sqlWhere);
-                List<InvitationOfficialActivityDataView> _ivitiesViews = await _sqlSugar.SqlQueryable<InvitationOfficialActivityDataView>(sql).ToListAsync();
+                List<InvitationOfficialActivityDataView> _ivitiesViews =  _sqlSugar.SqlQueryable<InvitationOfficialActivityDataView>(sql).ToList();
                 if (_ivitiesViews.Count != 0)
                 {
+                    List<Grp_DelegationInfo> _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().ToList();
+
                     foreach (var item in _ivitiesViews)
                     {
                         string delegationNameList = "";
                         string[] DelegationName = item.Delegation.Split(',');
                         for (int i = 0; i < DelegationName.Length; i++)
                         {
-                            Grp_DelegationInfo _DelegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(a => a.Id ==int.Parse(DelegationName[i]));
-                            if (_DelegationInfo != null) { delegationNameList += _DelegationInfo.TeamName + ","; }
+                            //Grp_DelegationInfo _DelegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().FirstAsync(a => a.Id ==int.Parse(DelegationName[i]));
+                            //if (_DelegationInfo != null) { delegationNameList += _DelegationInfo.TeamName + ","; }
+
+                            delegationNameList += _DelegationInfos.Find(it => it.Id == int.Parse(DelegationName[i]))?.TeamName ?? "Unknown" + ",";
                         }
                         if (!string.IsNullOrWhiteSpace(delegationNameList))
                         {
@@ -113,7 +117,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
             }
             catch (Exception ex)
             {
-                result = new Result() { Code = -2, Msg = "未知错误" };
+                result = new Result() { Code = -2, Msg = ex.Message };
             }
             return result;
         }