Переглянути джерело

更新 DTO 和仓储逻辑,简化代码结构

- 修改 `DtoBase.cs` 中 `PortType` 属性的有效范围为 `1` 到 `3`。
- 清理 `CountryFeeCostDto.cs` 中的 `Remark` 属性注释。
- 在 `CountryFeeCostView.cs` 中添加 JSON 序列化支持。
- 新增 `VisaFeeStandardListView` 类的多个属性及获取签证费用描述的方法。
- 统一 `CountryFeeRepository.cs` 中的操作成功消息为“操作成功!”。
- 简化子表软删除逻辑,移除状态检查,直接返回错误信息。
Lyyyi 1 тиждень тому
батько
коміт
5f6adc5906

+ 1 - 1
OASystem/OASystem.Domain/Dtos/DtoBase.cs

@@ -28,7 +28,7 @@ namespace OASystem.Domain.Dtos
         /// 请求端口分类
         /// 1 Web 2 Android 3 IOS
         /// </summary>
-        [Range(-1, 1, ErrorMessage = $"请传入PortType参数!1:Web,2:Android,3:IOS")]
+        [Range(1, 3, ErrorMessage = $"请传入PortType参数!1:Web,2:Android,3:IOS")]
         public int PortType { get; set; } = 1;
     }
 

+ 0 - 2
OASystem/OASystem.Domain/Dtos/Resource/CountryFeeCostDto.cs

@@ -177,8 +177,6 @@ namespace OASystem.Domain.Dtos.Resource
         /// </summary>
         public string Remark { get; set; }
 
-
-
         #region 2025-06-12 新增字段
 
         /// <summary>

+ 103 - 0
OASystem/OASystem.Domain/ViewModels/Resource/CountryFeeCostView.cs

@@ -1,5 +1,6 @@
 using OASystem.Domain.Entities.Resource;
 using System;
+using System.Text.Json.Serialization;
 
 namespace OASystem.Domain.ViewModels.Resource
 {
@@ -190,7 +191,54 @@ namespace OASystem.Domain.ViewModels.Resource
         /// <summary>
         /// 省份签证费用集合
         /// </summary>
+        [JsonIgnore]
         public List<VisaFeeStandardDetails> VisaFees { get; set; }
+
+        /// <summary>
+        /// 四川签证费用描述
+        /// </summary>
+        public string SiChuanVisaFeeLabel
+        {
+            get
+            {
+                return GetVisaFeeLabel(122);
+            }
+        }
+
+        /// <summary>
+        /// 重庆签证费用描述
+        /// </summary>
+        public string ChongQingVisaFeeLabel
+        {
+            get
+            {
+                return GetVisaFeeLabel(103);
+            }
+        }
+
+        /// <summary>
+        /// 贵州签证费用描述
+        /// </summary>
+        public string GuiZhouVisaFeeLabel
+        {
+            get
+            {
+                return GetVisaFeeLabel(108);
+            }
+        }
+
+        /// <summary>
+        /// 云南签证费用描述
+        /// </summary>
+        public string YunNanVisaFeeLabel
+        {
+            get
+            {
+                return GetVisaFeeLabel(132);
+            }
+        }
+
+       
         /// <summary>
         /// 最后更新人
         /// </summary>
@@ -211,5 +259,60 @@ namespace OASystem.Domain.ViewModels.Resource
                 return (DateTime.Now - LastUpdateTime).Days;
             }
         }
+
+        /// <summary>
+        /// 获取城市签证描述
+        /// </summary>
+        /// <param name="provinceId"></param>
+        /// <returns></returns>
+        private string GetVisaFeeLabel(int provinceId)
+        {
+            var label = new StringBuilder();
+            var info = VisaFees.FirstOrDefault(x => x.ProvinceId == provinceId);
+            if (info != null)
+            {
+
+                if (FeeType == 0) //因公
+                {
+                    label.AppendLine($"送签地址: {info.VisaAddress}");
+                    var isVisaOnArrival = info.IsVisaOnArrival ? "是" : "否";
+                    label.AppendLine($"是否落地签:{isVisaOnArrival}");
+                    var isElectronicSign = info.IsElectronicSign ? "是" : "否";
+                    label.AppendLine($"是否电子签:{isElectronicSign}");
+                    label.AppendLine($"签证时间(工作日):{info.VisaTime}");
+                    var isVisaExemptionLarge = info.IsVisaExemptionLarge ? "是" : "否";
+                    label.AppendLine($"公务护照免签:{isVisaExemptionLarge}");
+                    label.AppendLine($"公务护照签证费:{info.LargeVisaPrice:#0.00}");
+                    label.AppendLine($"公务护照签证代办费:{info.LargeAgencyFee:#0.00}");
+                    var isVisaExemptionSmall = info.IsVisaExemptionSmall ? "是" : "否";
+                    label.AppendLine($"公务普通护照免签:{isVisaExemptionSmall}");
+                    label.AppendLine($"公务普通护照签证费:{info.SmallVisaPrice:#0.00}");
+                    label.AppendLine($"公务普通护照代办费:{info.SmallAgencyFee:#0.00}");
+
+                    if (provinceId == 103)
+                    {
+                        label.AppendLine($"重庆外办出入境证明费用(普通):{info.NormExtFee:#0.00}");
+                        label.AppendLine($"公务普通护照代办费(加急):{info.UrgExtFee:#0.00}");
+                    }
+
+                    var isUrgent = info.IsUrgent ? "是" : "否";
+                    label.AppendLine($"签证是否加急:{isVisaExemptionSmall}");
+                    label.AppendLine($"加急时间(工作日):{info.UrgentTime}");
+                    label.AppendLine($"加急费用:{info.UrgentPrice:#0.00}");
+                    label.AppendLine($"加急费用描述 :{info.UrgentPriceDesc}");
+                    label.AppendLine($"备注 :{info.Remark}");
+                }
+                else if (FeeType == 1) //因私
+                {
+                    var isVisaExemptionSmall = info.IsVisaExemptionSmall ? "是" : "否";
+                    label.AppendLine($"普通护照免签:{isVisaExemptionSmall}");
+                    label.AppendLine($"签证费:{info.SmallVisaPrice:#0.00}");
+                    label.AppendLine($"送签地点:{info.VisaAddress}");
+                    label.AppendLine($"办理时间(工作日):{info.VisaTime}");
+                }
+            }
+
+            return label.ToString();
+        }
     }
 }

+ 3 - 13
OASystem/OASystem.Infrastructure/Repositories/Resource/CountryFeeRepository.cs

@@ -270,7 +270,6 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 x.CreateTime = now;
             });
 
-            string msg = string.Empty;
             _sqlSugar.BeginTran();
             try
             {
@@ -290,7 +289,6 @@ namespace OASystem.Infrastructure.Repositories.Resource
                         _sqlSugar.RollbackTran();
                         return new JsonView { Code = StatusCodes.Status400BadRequest, Msg = "添加失败!" };
                     }
-                    msg = "添加成功!";
                 }
                 else // 修改
                 {
@@ -315,18 +313,16 @@ namespace OASystem.Infrastructure.Repositories.Resource
                         _sqlSugar.RollbackTran();
                         return new JsonView { Code = StatusCodes.Status400BadRequest, Msg = "修改失败!" };
                     }
-                    msg = "修改成功!";
                 }
 
                 _sqlSugar.CommitTran();
-                return new JsonView { Code = StatusCodes.Status200OK, Msg = msg };
+                return new JsonView { Code = StatusCodes.Status200OK, Msg = "操作成功!" };
             }
             catch(Exception ex)
             {
                 _sqlSugar.RollbackTran();
-                msg = ex.Message;
+                return new JsonView { Code = StatusCodes.Status400BadRequest, Msg = ex.Message };
             }
-            return new JsonView { Code = StatusCodes.Status400BadRequest, Msg = msg };
         }
 
         /// <summary>
@@ -355,19 +351,13 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
 
                 // 子表软删除
-                var detailsDelStatus = await _sqlSugar.Updateable<Res_VisaFeeStandardDetails>()
+                await _sqlSugar.Updateable<Res_VisaFeeStandardDetails>()
                     .SetColumns(x => x.DeleteUserId == userId)
                     .SetColumns(x => x.DeleteTime == nowString)
                     .SetColumns(x => x.IsDel == 1)
                     .Where(x => x.ParentId == id)
                     .ExecuteCommandAsync();
 
-                if (detailsDelStatus < 1)
-                {
-                    _sqlSugar.RollbackTran();
-                    return new JsonView { Code = StatusCodes.Status400BadRequest, Msg = "删除失败!" };
-                }
-
                 _sqlSugar.CommitTran();
                 return new JsonView { Code = StatusCodes.Status200OK, Msg = "操作成功!" };
             }