소스 검색

优化省份费用查询逻辑

在 `CountryFeeRepository.cs` 文件中,进行了以下更改:
- 移除了对 `detailsList` 的映射操作,直接使用从数据库查询得到的 `detailsList`。
- 添加了对 `Sys_Cities` 表的左连接,以获取省份名称和备注信息。
- 在 `foreach` 循环中,使用 `detailsList` 替代 `mappedDetails`,直接从数据库查询结果中获取省份详细信息。
Lyyyi 2 주 전
부모
커밋
4dd8a7aba7
1개의 변경된 파일28개의 추가작업 그리고 4개의 파일을 삭제
  1. 28 4
      OASystem/OASystem.Infrastructure/Repositories/Resource/CountryFeeRepository.cs

+ 28 - 4
OASystem/OASystem.Infrastructure/Repositories/Resource/CountryFeeRepository.cs

@@ -128,15 +128,39 @@ namespace OASystem.Infrastructure.Repositories.Resource
 
             var ids = pageList.Select(x => x.Id).ToList();
             var detailsList = await _sqlSugar.Queryable<Res_VisaFeeStandardDetails>()
-                .Where(x => x.IsDel == 0 && ids.Contains(x.ParentId))
-                .ToListAsync();
+                 .LeftJoin<Sys_Cities>((x, y) => x.ProvinceId == y.Id && (y.Level == 1 || y.Level == 4))
+                 .Where((x, y) => ids.Contains( x.ParentId ) && x.IsDel == 0)
+                 .Select((x, y) => new VisaFeeStandardDetails
+                 {
+                     Id = x.Id,
+                     ParentId = x.ParentId,
+                     ProvinceId = x.ProvinceId,
+                     ProvinceName = y.Name_CN,
+                     VisaAddress = x.VisaAddress,
+                     IsVisaOnArrival = x.IsVisaOnArrival,
+                     IsElectronicSign = x.IsElectronicSign,
+                     VisaTime = x.VisaTime,
+                     IsVisaExemptionLarge = x.IsVisaExemptionLarge,
+                     LargeVisaPrice = x.LargeVisaPrice,
+                     LargeAgencyFee = x.LargeAgencyFee,
+                     IsVisaExemptionSmall = x.IsVisaExemptionSmall,
+                     SmallVisaPrice = x.SmallVisaPrice,
+                     SmallAgencyFee = x.SmallAgencyFee,
+                     NormExtFee = x.NormExtFee,
+                     UrgExtFee = x.UrgExtFee,
+                     IsUrgent = x.IsUrgent,
+                     UrgentTime = x.UrgentTime,
+                     UrgentPrice = x.UrgentPrice,
+                     UrgentPriceDesc = x.UrgentPriceDesc,
+                     Remark = y.Remark,
+                 })
+                 .ToListAsync();
 
-            var mappedDetails = _mapper.Map<List<VisaFeeStandardDetails>>(detailsList);
             var specifiedOrder = new List<string> { "四川", "重庆", "贵州", "云南" };
 
             foreach (var item in pageList)
             {
-                var provinceDetails = mappedDetails.Where(x => x.ParentId == item.Id).ToList();
+                var provinceDetails = detailsList.Where(x => x.ParentId == item.Id).ToList();
                 if (provinceDetails.Any())
                     provinceDetails = VisaFeeStandardDetails.SortByProvinces(provinceDetails, specifiedOrder);
                 item.VisaFees = provinceDetails;