|  |  | 
 |  |  | using LifePayment.Domain.Shared; | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using System; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | using System.ComponentModel.DataAnnotations; | 
 |  |  | using System.Linq; | 
 |  |  | using System.Text; | 
 |  |  | using System.Threading.Tasks; | 
 |  |  | using ZeroD.Util; | 
 |  |  | using static LifePayment.Domain.Shared.LifePaymentConstant; | 
 |  |  |  | 
 |  |  | namespace LifePayment.Application.Contracts; | 
 |  |  |  | 
 |  |  | public class CreateLifePayOrderInput<T> where T : class | 
 |  |  | public class CreateLifePayOrderInput<T> : ChannelsBaseInput where T : class | 
 |  |  | { | 
 |  |  |     public Guid UserId { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 渠道名称 | 
 |  |  |     /// </summary> | 
 |  |  |     public string ChannelId { get; set; } | 
 |  |  |  | 
 |  |  |     //public string CheckChannelId { get; set; } | 
 |  |  |  | 
 |  |  |     ///// <summary> | 
 |  |  |     ///// 生活缴费支付类型 | 
 |  |  | 
 |  |  |     /// 手机号。 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "手机号是必填项。")] | 
 |  |  |     [RegularExpression(RegularExpression.PhoneNumberRegEx, ErrorMessage = "手机号格式不正确")] | 
 |  |  |     [JsonProperty("phone")] | 
 |  |  |     public string Phone { get; set; } | 
 |  |  |  | 
 |  |  | 
 |  |  |     /// 电费户号。 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "电费户号是必填项。")] | 
 |  |  |     [StringLength(50, ErrorMessage = "电费户号长度不能超过50个字符。")] | 
 |  |  |     [RegularExpression(RegularExpression.ElectricAccountRegEx, ErrorMessage = "请输入13位电网户号")] | 
 |  |  |     public string ElectricAccount { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  | 
 |  |  |     /// 客户身份证后6位,南网必传。 | 
 |  |  |     /// </summary> | 
 |  |  |     public string SixID { get; set; } | 
 |  |  | } | 
 |  |  | public class LifeGasData | 
 |  |  | { | 
 |  |  |     /// <summary> | 
 |  |  |     /// 充值面额,单位为元。 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "充值面额是必填项。")] | 
 |  |  |     public decimal ParValue { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 天然气公司类型,"zhong_ran"代表中燃燃气,"bei_jing"代表北京燃气。 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "燃气类型是必填项。")] | 
 |  |  |     public string GasOrgType { get; set; } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 燃气户号 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "燃气户号是必填项。")] | 
 |  |  |     public string GasAccount { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 省份 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "省份是必填项。")] | 
 |  |  |     [StringLength(20, ErrorMessage = "省份长度不能超过20个字符。")] | 
 |  |  |     public string Province { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 城市 | 
 |  |  |     /// </summary> | 
 |  |  |     //[Required(ErrorMessage = "城市是必填项。")] | 
 |  |  |     [StringLength(20, ErrorMessage = "城市长度不能超过20个字符。")] | 
 |  |  |     public string City { get; set; } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class CreateLifePayOrderInput | 
 |  |  | 
 |  |  |     /// </summary> | 
 |  |  |     public string OrderParamDetailJsonStr { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 下单渠道 | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid? ChannelId { get; set; } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class QueryLifePayOrderListInput : PageInput | 
 |  |  | //public class ChannelsBaseInput : PageInput | 
 |  |  | //{ | 
 |  |  | //    public string CheckChannelId { get; set; } | 
 |  |  | //} | 
 |  |  |  | 
 |  |  | public class GetPayStatusByOrderNoInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     public string OrderNo { get; set; } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class QueryLifePayOrderListInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     /// <summary> | 
 |  |  |     /// 订单类型 | 
 |  |  |     /// </summary> | 
 |  |  |     public LifePayOrderTypeEnum? LifePayOrderType { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 生活缴费支付类型 | 
 |  |  |     /// </summary> | 
 |  |  |     public LifePayTypeEnum? LifePayType { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 开始支付时间 | 
 |  |  | 
 |  |  |     /// 用户Id | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid? UserId { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 搜索关键词 | 
 |  |  |     /// </summary> | 
 |  |  |     public string KeyWords { get; set; } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class RefundLifePayOrderInput | 
 |  |  | 
 |  |  |     public Guid Id { get; set; } | 
 |  |  |  | 
 |  |  |     public string RefundCredentialsImgUrl { get; set; } | 
 |  |  |  | 
 |  |  |     public string RefundCheckRemark { get; set; } | 
 |  |  | } | 
 |  |  | public class RefundUserLifePayOrderInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     public Guid Id { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 用户Id | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid? UserId { get; set; } | 
 |  |  |  | 
 |  |  |     public string RefundApplyRemark { get; set; } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class CreateEditPayChannelsInput | 
 |  |  | { | 
 |  |  |     public Guid? Id { get; set; } | 
 |  |  |  | 
 |  |  |     public string ChannlesName { get; set; } | 
 |  |  |  | 
 |  |  |     public string ChannlesNum { get; set; } | 
 |  |  |  | 
 |  |  |     public decimal ChannlesRate { get; set; } | 
 |  |  |  | 
 |  |  |     public LifePaySwitchTypeEnum SwitchType { get; set; } | 
 |  |  |  | 
 |  |  |     public LifePayChannelsStatsEnum Status { get; set; } | 
 |  |  |  | 
 |  |  |     public LifePayChannlesTypeEnum ChannlesType { get; set; } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class QueryUserAccountListInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     /// <summary> | 
 |  |  |     /// 用户Id | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid? UserId { get; set; } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public LifePayOrderTypeEnum? LifePayOrderType { get; set; } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class QueryUserAccountAllListInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     /// <summary> | 
 |  |  |     /// 用户Id | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid? UserId { get; set; } | 
 |  |  |  | 
 |  |  |     public LifePayOrderTypeEnum? LifePayOrderType { get; set; } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | public class AddUpdateUserAccountInput : ChannelsBaseInput | 
 |  |  | { | 
 |  |  |     public Guid? Id { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 用户编号 | 
 |  |  |     /// </summary> | 
 |  |  |     public Guid UserId { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 生活缴费类型 | 
 |  |  |     /// </summary> | 
 |  |  |     public LifePayOrderTypeEnum LifePayType { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 运营商 | 
 |  |  |     /// </summary> | 
 |  |  |     [Required(ErrorMessage = "运营商不能为空;")] | 
 |  |  |     public string Operators { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 手机号/户号 | 
 |  |  |     /// </summary> | 
 |  |  |     public string Content { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 省 | 
 |  |  |     /// </summary> | 
 |  |  |     public string Province { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 市 | 
 |  |  |     /// </summary> | 
 |  |  |     public string City { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 拓展字段(电费类型) | 
 |  |  |     /// </summary> | 
 |  |  |     public string ExtraProperties { get; set; } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  |     /// 备注 | 
 |  |  |     /// </summary> | 
 |  |  |     [StringLength(30, ErrorMessage = "备注信息仅支持填写30个字符。")] | 
 |  |  |     public string Remark { get; set; } = string.Empty; | 
 |  |  | } |