using LifePayment.Domain.Shared; using Newtonsoft.Json; using System; using System.ComponentModel.DataAnnotations; using System.Collections.Generic; using static LifePayment.Domain.Shared.LifePaymentConstant; namespace LifePayment.Application.Contracts; public class CreateLifePayOrderInput : ChannelsBaseInput where T : class { public Guid UserId { get; set; } /// /// 渠道名称 /// public string ChannelId { get; set; } //public string CheckChannelId { get; set; } ///// ///// 生活缴费支付类型 ///// //[EnumValidation(typeof(LifePayTypeEnum), ErrorMessage = "支付类型异常")] //public LifePayTypeEnum LifePayType { get; set; } public T ProductData { get; set; } } public class LifePhoneData { /// /// 运营商编码,例如:"yidong", "dianxin", "liantong"。 /// [Required(ErrorMessage = "运营商编码是必填项。")] public string IspCode { get; set; } /// /// 充值面额,单位为元。测试账户:parValue=100:缴费成功,parValue>100:缴费失败。 /// [Required(ErrorMessage = "充值面额是必填项。")] [Range(0.1, double.MaxValue, ErrorMessage = "充值面额异常")] public decimal ParValue { get; set; } /// /// 手机号。 /// [Required(ErrorMessage = "手机号是必填项。")] [RegularExpression(RegularExpression.PhoneNumberRegEx, ErrorMessage = "手机号格式不正确")] [JsonProperty("phone")] public string Phone { get; set; } /// /// 机主名称(电信手机号必填) /// [JsonProperty("name")] public string Name { get; set; } } public class LifeElectricData { /// /// 充值面额,单位为元。 /// [Required(ErrorMessage = "充值面额是必填项。")] public decimal ParValue { get; set; } /// /// 电网类型,例如:"guowang"代表国家电网,"nanwang"代表南方电网。 /// [Required(ErrorMessage = "电网类型是必填项。")] public string ElectricType { get; set; } /// /// 电费类型,国网必传:住宅、企事业、店铺三个选项。 /// [Required(ErrorMessage = "电费类型是必填项。")] [StringLength(20, ErrorMessage = "电费类型长度不能超过20个字符。")] public string ElectricAccountType { get; set; } /// /// 电费户号。 /// [Required(ErrorMessage = "电费户号是必填项。")] [RegularExpression(RegularExpression.ElectricAccountRegEx, ErrorMessage = "请输入13位电网户号")] public string ElectricAccount { get; set; } /// /// 省份。 /// [Required(ErrorMessage = "省份是必填项。")] [StringLength(20, ErrorMessage = "省份长度不能超过20个字符。")] public string Province { get; set; } /// /// 城市。 /// //[Required(ErrorMessage = "城市是必填项。")] [StringLength(20, ErrorMessage = "城市长度不能超过20个字符。")] public string City { get; set; } /// /// 客户身份证后6位,南网必传。 /// public string SixID { get; set; } /// /// 户主姓名 /// public string Name { get; set; } } public class LifeGasData { /// /// 充值面额,单位为元。 /// [Required(ErrorMessage = "充值面额是必填项。")] public decimal ParValue { get; set; } /// /// 天然气公司类型,"zhong_ran"代表中燃燃气,"bei_jing"代表北京燃气。 /// [Required(ErrorMessage = "燃气类型是必填项。")] public string GasOrgType { get; set; } /// /// 燃气户号 /// [Required(ErrorMessage = "燃气户号是必填项。")] public string GasAccount { get; set; } /// /// 省份 /// [Required(ErrorMessage = "省份是必填项。")] [StringLength(20, ErrorMessage = "省份长度不能超过20个字符。")] public string Province { get; set; } /// /// 城市 /// //[Required(ErrorMessage = "城市是必填项。")] [StringLength(20, ErrorMessage = "城市长度不能超过20个字符。")] public string City { get; set; } } public class CreateLifePayOrderInput { public Guid? UserId { get; set; } /// /// 用户手机号 /// public string PhoneNumber { get; set; } ///// ///// 生活缴费支付类型 ///// //public LifePayTypeEnum LifePayType { get; set; } /// /// 订单类型 /// public LifePayOrderTypeEnum LifePayOrderType { get; set; } /// /// 订单号 /// public string OrderNo { get; set; } /// /// 充值金额 /// public decimal RechargeAmount { get; set; } /// /// 优惠金额 /// public decimal DiscountAmount { get; set; } /// /// 实付金额 /// public decimal PayAmount { get; set; } /// /// 支付时间 /// public DateTime? PayTime { get; set; } /// /// 支付状态 /// public LifePayStatusEnum PayStatus { get; set; } /// /// 外部订单号 /// public string OutOrderNo { get; set; } /// /// 订单状态 /// public LifePayOrderStatusEnum LifePayOrderStatus { get; set; } /// /// 完成时间 /// public DateTime? FinishTime { get; set; } /// /// 退款凭证 /// public string RefundCredentialsImgUrl { get; set; } /// /// 订单参数详情 /// public string OrderParamDetailJsonStr { get; set; } /// /// 下单渠道 /// public string? ChannelId { get; set; } /// /// 平台折扣比例 /// public decimal PlatformRate { get; set; } public decimal PlatformDeductionAmount { get; set; } /// /// 渠道折扣 /// public decimal? ChannleRate { get; set; } /// /// 渠道佣金比例 /// public decimal? ChannlesRakeRate { get; set; } /// /// 手续费比例 /// public decimal PremiumRate { get; set; } } public class UpdateLifePayOrderInput { public Guid Id { get; set; } /// /// 实际到账金额 /// public decimal ActualReceivedAmount { get; set; } } //public class ChannelsBaseInput : PageInput //{ // public string CheckChannelId { get; set; } //} public class GetPayStatusByOrderNoInput : ChannelsBaseInput { public string OrderNo { get; set; } } public class QueryLifePayOrderListInput : ChannelsBaseInput { /// /// 订单类型 /// public LifePayOrderTypeEnum? LifePayOrderType { get; set; } /// /// 生活缴费支付类型 /// public LifePayTypeEnum? LifePayType { get; set; } /// /// 开始支付时间 /// public DateTime? BeginPayTime { get; set; } /// /// 结束支付时间 /// public DateTime? EndPayTime { get; set; } /// /// 支付状态 /// public LifePayStatusEnum? PayStatus { get; set; } /// /// 供应商状态 /// public ACOOLYStatusEnum? ACOOLYStatus { get; set; } /// /// 订单状态 /// public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; } /// /// 开始完成时间 /// public DateTime? BeginFinishTime { get; set; } /// /// 结束完成时间 /// public DateTime? EndFinishTime { get; set; } /// /// 用户Id /// public Guid? UserId { get; set; } /// /// 搜索关键词 /// public string KeyWords { get; set; } } public class QueryLifePayRefundOrderListInput : ChannelsBaseInput { /// /// 订单类型 /// public LifePayOrderTypeEnum? LifePayOrderType { get; set; } /// /// 生活缴费支付类型 /// public LifePayTypeEnum? LifePayType { get; set; } /// /// 开始申请退款时间 /// public DateTime? BeginRefundApplyTime { get; set; } /// /// 结束申请退款时间 /// public DateTime? EndRefundApplyTime { get; set; } /// /// 开始完成时间 /// public DateTime? BeginFinishTime { get; set; } /// /// 结束完成时间 /// public DateTime? EndFinishTime { get; set; } /// /// 开始退款时间 /// public DateTime? BeginRefundTime { get; set; } /// /// 结束退款时间 /// public DateTime? EndRefundTime { get; set; } /// /// 支付状态 /// public LifePayStatusEnum? PayStatus { get; set; } /// /// 供应商状态 /// public ACOOLYStatusEnum? ACOOLYStatus { get; set; } /// /// 订单状态 /// public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; } /// /// 订单状态 /// public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; } /// /// 用户Id /// public Guid? UserId { get; set; } /// /// 搜索关键词 /// public string KeyWords { get; set; } } public class RefundLifePayOrderInput { public Guid Id { get; set; } /// /// 上传凭证 /// public string RefundCredentialsImgUrl { get; set; } /// /// 退款驳回原因 /// public string RefundCheckRemark { get; set; } /// /// 退款类型 /// public LifePayRefundTypeEnum LifePayRefundType { get; set; } /// /// 退款金额 /// public decimal RefundPrice { get; set; } } public class RefundUserLifePayOrderInput : ChannelsBaseInput { public Guid Id { get; set; } /// /// 用户Id /// 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 decimal ChannlesRakeRate { get; set; } public LifePaySwitchTypeEnum SwitchType { get; set; } public LifePayChannelsStatsEnum Status { get; set; } public LifePayChannlesTypeEnum ChannlesType { get; set; } } public class QueryUserAccountListInput : ChannelsBaseInput { /// /// 用户Id /// public Guid? UserId { get; set; } public LifePayOrderTypeEnum? LifePayOrderType { get; set; } } public class QueryUserAccountAllListInput : ChannelsBaseInput { /// /// 用户Id /// public Guid? UserId { get; set; } public LifePayOrderTypeEnum? LifePayOrderType { get; set; } } public class AddUpdateUserAccountInput : ChannelsBaseInput { public Guid? Id { get; set; } /// /// 用户编号 /// public Guid UserId { get; set; } /// /// 生活缴费类型 /// public LifePayOrderTypeEnum LifePayType { get; set; } /// /// 运营商 /// [Required(ErrorMessage = "运营商不能为空;")] public string Operators { get; set; } /// /// 手机号/户号 /// public string Content { get; set; } /// /// 省 /// public string Province { get; set; } /// /// 市 /// public string City { get; set; } /// /// 拓展字段(电费类型) /// public string ExtraProperties { get; set; } /// /// 备注 /// [StringLength(30, ErrorMessage = "备注信息仅支持填写30个字符。")] public string Remark { get; set; } = string.Empty; } public class QueryUserPageInput : ChannelsBaseInput { /// /// 手机号/用户名 /// public string? QueryCondition { get; set; } /// /// 注册开始时间 /// public DateTime? CreationTimeBegin { get; set; } /// /// 注册结束时间 /// public DateTime? CreationTimeEnd { get; set; } /// /// 登录开始时间 /// public DateTime? LoginTimeBegin { get; set; } /// /// 登录结束时间 /// public DateTime? LoginTimeEnd { get; set; } } public class Model_UserAccountExtraProperties { public string? Name { get; set; } public string IspCode { get; set; } public string Phone { get; set; } public string Remark { get; set; } } public class OrderPriceReturn { /// /// 平台扣款金额 /// public decimal PlatformPrice { get; set; } /// /// 手续费 /// public decimal PremiumPrice { get; set; } /// /// 渠道佣金 /// public decimal ChannlesRakePrice { get; set; } /// /// 利润 /// public decimal Profit { get; set; } } public class LifePayRechargeReceiptsPageInput : ChannelsBaseInput { /// /// 查询条件 /// public string? KeyWord { get; set; } /// /// 记账开始时间 /// public DateTime? CreationTimeBegin { get; set; } /// /// 记账结束时间 /// public DateTime? CreationTimeEnd { get; set; } } public class AddUpdatePayRechargeReceiptsInput { /// /// 编号 /// public Guid? Id { get; set; } /// /// 业务订单号 /// public string OrderNo { get; set; } /// /// 充值金额 /// public decimal RechargeAmount { get; set; } /// /// 备注 /// public string? Remark { get; set; } /// /// 充值凭证 /// public string Voucher { get; set; } } public class SetPayTypeReturn { public string Desc { get; set; } public string OrderNo { get; set; } public decimal PayAmount { get; set; } public LifePayTypeEnum LifePayType { get; set; } } public class AddLifePayExpensesReceiptsInput { /// /// 退款订单号 /// public string OutRefundNo { get; set; } /// /// 平台订单号 /// public string OrderNo { get; set; } /// /// 渠道流水号 /// public string OutOrderNo { get; set; } /// /// 支付渠道 /// public LifePayTypeEnum LifePayType { get; set; } /// /// 收支类型 /// public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } /// /// 交易金额 /// public decimal Amount { get; set; } } public class LifePayExpensesReceiptsPageInput : ChannelsBaseInput { /// /// 查询条件 /// public string? KeyWord { get; set; } /// /// 支付渠道 /// public LifePayTypeEnum? LifePayType { get; set; } /// /// 收支类型 /// public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } /// /// 交易开始时间 /// public DateTime? TimeBegin { get; set; } /// /// 交易结束时间 /// public DateTime? TimeEnd { get; set; } } public class LifePayExpensesReceiptsTemp { /// /// 平台订单号 /// public string OrderNo { get; set; } /// /// 退款订单编号 /// public string RefundOrderNo { get; set; } /// /// 渠道流水号 /// public string OutOrderNo { get; set; } /// /// 支付渠道 /// public LifePayTypeEnum LifePayType { get; set; } /// /// 收支类型 /// public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } /// /// 交易金额 /// public decimal Amount { get; set; } public string ExpensesReceiptsOrder { get; set; } } public class LifePayChannlesRakePageInput : ChannelsBaseInput { /// /// 查询条件 /// public string? KeyWord { get; set; } /// /// 渠道号 /// public string? ChannelId { get; set; } /// /// 起始下单时间 /// public DateTime? CreationTimeBegin { get; set; } /// /// 结束下单时间 /// public DateTime? CreationTimeEnd { get; set; } /// /// 起始结算时间 /// public DateTime? FinishTimeBegin { get; set; } /// /// 终止结算时间 /// public DateTime? FinishTimeEnd { get; set; } } public class TopStatisticsInput { public List? ChannleList { get; set; } }