From aa62bd742942bf4e6556714224dce076dab15c9f Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期三, 11 六月 2025 13:05:19 +0800
Subject: [PATCH] feat:订单列表及导出增加运营商字段
---
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs | 32 ++++++++
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 30 +++++++
LifePayment/LifePayment.Domain.Shared/Enum/LifePay/ElectricTypeEnum.cs | 74 ++++++++++++++++++
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 95 +++++++++++++++++++++++
4 files changed, 229 insertions(+), 2 deletions(-)
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
index 7529438..1573133 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -167,6 +167,11 @@
public string? ChannelName { get; set; }
/// <summary>
+ /// 杩愯惀鍟�
+ /// </summary>
+ public string Operator { get; set; }
+
+ /// <summary>
/// 璁㈠崟绫诲瀷
/// </summary>
public LifePayOrderTypeEnum LifePayOrderType { get; set; }
@@ -284,6 +289,11 @@
public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; }
/// <summary>
+ /// 璁㈠崟鍙傛暟璇︽儏
+ /// </summary>
+ public string OrderParamDetailJsonStr { get; set; }
+
+ /// <summary>
/// 瀹為檯鍒拌处閲戦
/// </summary>
public decimal? ActualReceivedAmount { get; set; }
@@ -309,6 +319,17 @@
[Name("鍏呭�兼笭閬�")]
public string ChannelName { get; set; }
+
+ /// <summary>
+ /// 杩愯惀鍟�
+ /// </summary>
+ [Name("杩愯惀鍟�")]
+ public string Operator { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙傛暟璇︽儏
+ /// </summary>
+ public string OrderParamDetailJsonStr { get; set; }
/// <summary>
/// 涓嬪崟鏃堕棿
@@ -446,6 +467,12 @@
public string ChannelName { get; set; }
/// <summary>
+ /// 杩愯惀鍟�
+ /// </summary>
+ [Name("杩愯惀鍟�")]
+ public string Operator { get; set; }
+
+ /// <summary>
/// 涓嬪崟鏃堕棿
/// </summary>
public DateTime CreationTime { get; set; }
@@ -510,6 +537,11 @@
public decimal PlatformPrice { get; set; }
/// <summary>
+ /// 璁㈠崟鍙傛暟璇︽儏
+ /// </summary>
+ public string OrderParamDetailJsonStr { get; set; }
+
+ /// <summary>
/// 骞冲彴閫�娆剧姸鎬�
/// </summary>
public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; }
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index ce9adef..c2774a8 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -308,7 +308,41 @@
PlatformDeductionAmount = a.PlatformDeductionAmount,
ACOOLYStatus = a.ACOOLYStatus,
LifePayRefundStatus = a.LifePayRefundStatus,
+ OrderParamDetailJsonStr = a.OrderParamDetailJsonStr,
}).GetPageResult(input.PageModel);
+ if (result != null && result.Data != null && result.Data.Count > 0)
+ {
+ foreach (var s in result.Data)
+ {
+ if (!string.IsNullOrWhiteSpace(s.OrderParamDetailJsonStr))
+ {
+ if (s.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifePhoneData>()?.IspCode;
+ if (Enum.TryParse<IspCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.ElectricOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeElectricData>()?.ElectricType;
+ if (Enum.TryParse<ElectricTypeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.GasOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeGasData>()?.GasOrgType;
+ if (Enum.TryParse<GasOrgCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ }
+ }
+ }
return result;
}
@@ -768,7 +802,8 @@
ACOOLYStatus = x.ACOOLYStatus,
//RefundApplyRemark = x.RefundApplyRemark,
ChannelName = x.ChannelName,
- PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m
+ PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m,
+ OrderParamDetailJsonStr = x.OrderParamDetailJsonStr,
}).OrderByDescending(r => r.CreationTime).ToListAsync();
var i = 0;
result.ForEach(s =>
@@ -786,6 +821,33 @@
s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription();
s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription();
s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
+ if (!string.IsNullOrWhiteSpace(s.OrderParamDetailJsonStr))
+ {
+ if (s.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifePhoneData>()?.IspCode;
+ if (Enum.TryParse<IspCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.ElectricOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeElectricData>()?.ElectricType;
+ if (Enum.TryParse<ElectricTypeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.GasOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeGasData>()?.GasOrgType;
+ if (Enum.TryParse<GasOrgCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ }
});
CheckExtensions.IfTrueThrowUserFriendlyException(result.IsNullOrEmpty(), "鏆傛棤鏁版嵁瀵煎嚭");
return result;
@@ -814,7 +876,8 @@
ACOOLYStatus = x.ACOOLYStatus,
//RefundApplyRemark = x.RefundApplyRemark,
ChannelName = x.ChannelName,
- PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m
+ PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m,
+ OrderParamDetailJsonStr = x.OrderParamDetailJsonStr,
}).OrderByDescending(r => r.CreationTime).ToListAsync();
var i = 0;
result.ForEach(s =>
@@ -832,6 +895,33 @@
s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription();
s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription();
s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
+ if (!string.IsNullOrWhiteSpace(s.OrderParamDetailJsonStr))
+ {
+ if (s.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifePhoneData>()?.IspCode;
+ if (Enum.TryParse<IspCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.ElectricOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeElectricData>()?.ElectricType;
+ if (Enum.TryParse<ElectricTypeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ else if (s.LifePayOrderType == LifePayOrderTypeEnum.GasOrder)
+ {
+ var name = s.OrderParamDetailJsonStr.JsonToObject<LifeGasData>()?.GasOrgType;
+ if (Enum.TryParse<GasOrgCodeEnum>(name, true, out var @enum))
+ {
+ s.Operator = @enum.GetDescription();
+ }
+ }
+ }
});
CheckExtensions.IfTrueThrowUserFriendlyException(result.IsNullOrEmpty(), "鏆傛棤鏁版嵁瀵煎嚭");
return result;
@@ -2224,6 +2314,7 @@
PlatformDeductionAmount = a.PlatformDeductionAmount,
ACOOLYStatus = a.ACOOLYStatus,
LifePayRefundStatus = a.LifePayRefundStatus,
+ OrderParamDetailJsonStr = a.OrderParamDetailJsonStr
});
diff --git a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/ElectricTypeEnum.cs b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/ElectricTypeEnum.cs
new file mode 100644
index 0000000..667f4af
--- /dev/null
+++ b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/ElectricTypeEnum.cs
@@ -0,0 +1,74 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LifePayment.Domain.Shared
+{
+ public enum ElectricTypeEnum
+ {
+ /// <summary>
+ /// 鍥藉鐢电綉
+ /// </summary>
+ [Description("鍥藉鐢电綉")]
+ guowang = 1,
+ /// <summary>
+ /// 鍗楁柟鐢电綉
+ /// </summary>
+ [Description("鍗楁柟鐢电綉")]
+ nanwang = 2
+ }
+ public enum IspCodeEnum
+ {
+ /// <summary>
+ /// 涓浗绉诲姩
+ /// </summary>
+ [Description("涓浗绉诲姩")]
+ yidong = 1,
+ /// <summary>
+ /// 涓浗鐢典俊
+ /// </summary>
+ [Description("涓浗鐢典俊")]
+ dianxin = 2,
+ /// <summary>
+ /// 涓浗鑱旈��
+ /// </summary>
+ [Description("涓浗鑱旈��")]
+ liantong = 3
+ }
+ public enum GasOrgCodeEnum
+ {
+ /// <summary>
+ /// 涓浗鐕冩皵
+ /// </summary>
+ [Description("涓浗鐕冩皵")]
+ zhong_guo = 1,
+ /// <summary>
+ /// 鏂板ゥ鐕冩皵
+ /// </summary>
+ [Description("鏂板ゥ鐕冩皵")]
+ xin_ao = 1,
+ /// <summary>
+ /// 鍗庢鼎鐕冩皵
+ /// </summary>
+ [Description("鍗庢鼎鐕冩皵")]
+ hua_run = 2,
+ /// <summary>
+ /// 娓崕鐕冩皵
+ /// </summary>
+ [Description("娓崕鐕冩皵")]
+ gang_hua = 3,
+ /// <summary>
+ /// 涓噧鐕冩皵
+ /// </summary>
+ [Description("涓噧鐕冩皵")]
+ zhong_ran = 4,
+ /// <summary>
+ /// 鍖椾含鐕冩皵
+ /// </summary>
+ [Description("鍖椾含鐕冩皵")]
+ bei_jing = 5,
+ }
+}
diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
index b544b2c..fd6f6ef 100644
--- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -1084,6 +1084,11 @@
娓犻亾鍚嶇О
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.Operator">
+ <summary>
+ 杩愯惀鍟�
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.LifePayOrderType">
<summary>
璁㈠崟绫诲瀷
@@ -1199,9 +1204,24 @@
骞冲彴閫�娆剧姸鎬�
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.OrderParamDetailJsonStr">
+ <summary>
+ 璁㈠崟鍙傛暟璇︽儏
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.ActualReceivedAmount">
<summary>
瀹為檯鍒拌处閲戦
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplate.Operator">
+ <summary>
+ 杩愯惀鍟�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplate.OrderParamDetailJsonStr">
+ <summary>
+ 璁㈠崟鍙傛暟璇︽儏
</summary>
</member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplate.CreationTime">
@@ -1264,6 +1284,11 @@
瀹屾垚鏃堕棿
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.Operator">
+ <summary>
+ 杩愯惀鍟�
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.CreationTime">
<summary>
涓嬪崟鏃堕棿
@@ -1299,6 +1324,11 @@
骞冲彴鎵f閲戦
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.OrderParamDetailJsonStr">
+ <summary>
+ 璁㈠崟鍙傛暟璇︽儏
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.LifePayRefundStatus">
<summary>
骞冲彴閫�娆剧姸鎬�
--
Gitblit v1.9.1