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