diff --git a/src/SJZY.Track.Application/FodyWeavers.xml b/src/SJZY.Track.Application/FodyWeavers.xml
new file mode 100644
index 00000000..510b255f
--- /dev/null
+++ b/src/SJZY.Track.Application/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/SJZY.Track.Application/FodyWeavers.xsd b/src/SJZY.Track.Application/FodyWeavers.xsd
new file mode 100644
index 00000000..f35a69b7
--- /dev/null
+++ b/src/SJZY.Track.Application/FodyWeavers.xsd
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/Helpers/ForewarningHelper.cs b/src/SJZY.Track.Application/Helpers/ForewarningHelper.cs
index f91da6db..62243800 100644
--- a/src/SJZY.Track.Application/Helpers/ForewarningHelper.cs
+++ b/src/SJZY.Track.Application/Helpers/ForewarningHelper.cs
@@ -164,9 +164,11 @@ public class ForewarningHelper
}).ToList();
}
- public static EditWarningOutput MapWarningSummary(WarningEntity warning, List statusList)
+ public static EditWarningOutput MapWarningSummary(WarningEntity warning, List statusList,
+ List areaList)
{
var statusDic = statusList.ToDictionary(x => x.Id, x => x.Name);
+ var areaDic = areaList.ToDictionary(x => x.Id, x => x.Name);
return new EditWarningOutput
{
Name = warning.Name,
@@ -184,11 +186,27 @@ public class ForewarningHelper
? new List()
: x.NotifyMode.Split(',').Select(int.Parse).ToList(),
}).ToList(),
- WarningFactors = warning.WarningFactors.Select(x => new WarningFactorWithIdDto
+ WarningFactors = warning.WarningFactors.Select(x =>
{
- Id = x.Id,
- FactorType = (int) x.Type,
- FactorValue = JsonConvert.DeserializeObject>(x.Value)!,
+ if (x.Type == RuleFactorType.Area)
+ {
+ var areaIds = JsonConvert.DeserializeObject>(x.Value);
+ return new WarningFactorWithIdDto
+ {
+ Id = x.Id,
+ FactorType = (int) x.Type,
+ FactorValue = areaIds?
+ .Select(area => areaDic.TryGetValue(area, out var name) ? name : area.ToString())
+ .Cast