zhengyuxuan
2025-04-02 02f5cf149ac0fecd8c7ee67bf57fb814d8464ba4
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -1,18 +1,22 @@
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 System.Collections.Generic;
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>
    ///// 生活缴费支付类型
@@ -42,6 +46,7 @@
    /// 手机号。
    /// </summary>
    [Required(ErrorMessage = "手机号是必填项。")]
    [RegularExpression(RegularExpression.PhoneNumberRegEx, ErrorMessage = "手机号格式不正确")]
    [JsonProperty("phone")]
    public string Phone { get; set; }
@@ -77,7 +82,7 @@
    /// 电费户号。
    /// </summary>
    [Required(ErrorMessage = "电费户号是必填项。")]
    [StringLength(50, ErrorMessage = "电费户号长度不能超过50个字符。")]
    [RegularExpression(RegularExpression.ElectricAccountRegEx, ErrorMessage = "请输入13位电网户号")]
    public string ElectricAccount { get; set; }
    /// <summary>
@@ -98,6 +103,47 @@
    /// 客户身份证后6位,南网必传。
    /// </summary>
    public string SixID { get; set; }
    /// <summary>
    /// 户主姓名
    /// </summary>
    public string Name { 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
@@ -174,14 +220,69 @@
    /// </summary>
    public string OrderParamDetailJsonStr { get; set; }
    /// <summary>
    /// 下单渠道
    /// </summary>
    public string? ChannelId { get; set; }
    /// <summary>
    /// 平台折扣比例
    /// </summary>
    public decimal PlatformRate { get; set; }
    public decimal PlatformDeductionAmount { get; set; }
    /// <summary>
    /// 渠道折扣
    /// </summary>
    public decimal? ChannleRate { get; set; }
    /// <summary>
    /// 渠道佣金比例
    /// </summary>
    public decimal? ChannlesRakeRate { get; set; }
    /// <summary>
    /// 手续费比例
    /// </summary>
    public decimal PremiumRate { get; set; }
}
public class QueryLifePayOrderListInput : PageInput
public class UpdateLifePayOrderInput
{
    public Guid Id { get; set; }
    /// <summary>
    /// 实际到账金额
    /// </summary>
    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
{
    /// <summary>
    /// 订单类型
    /// </summary>
    public LifePayOrderTypeEnum? LifePayOrderType { get; set; }
    /// <summary>
    /// 生活缴费支付类型
    /// </summary>
    public LifePayTypeEnum? LifePayType { get; set; }
    /// <summary>
    /// 开始支付时间
@@ -199,6 +300,11 @@
    public LifePayStatusEnum? PayStatus { get; set; }
    /// <summary>
    /// 供应商状态
    /// </summary>
    public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
    /// <summary>
    /// 订单状态
    /// </summary>
    public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; }
@@ -213,15 +319,548 @@
    /// </summary>
    public DateTime? EndFinishTime { get; set; }
    /// <summary>
    /// 用户Id
    /// </summary>
    public Guid? UserId { get; set; }
    /// <summary>
    /// 搜索关键词
    /// </summary>
    public string KeyWords { get; set; }
}
public class QueryLifePayRefundOrderListInput : ChannelsBaseInput
{
    /// <summary>
    /// 订单类型
    /// </summary>
    public LifePayOrderTypeEnum? LifePayOrderType { get; set; }
    /// <summary>
    /// 生活缴费支付类型
    /// </summary>
    public LifePayTypeEnum? LifePayType { get; set; }
    /// <summary>
    /// 开始申请退款时间
    /// </summary>
    public DateTime? BeginRefundApplyTime { get; set; }
    /// <summary>
    /// 结束申请退款时间
    /// </summary>
    public DateTime? EndRefundApplyTime { get; set; }
    /// <summary>
    /// 开始完成时间
    /// </summary>
    public DateTime? BeginFinishTime { get; set; }
    /// <summary>
    /// 结束完成时间
    /// </summary>
    public DateTime? EndFinishTime { get; set; }
    /// <summary>
    /// 开始退款时间
    /// </summary>
    public DateTime? BeginRefundTime { get; set; }
    /// <summary>
    /// 结束退款时间
    /// </summary>
    public DateTime? EndRefundTime { get; set; }
    /// <summary>
    /// 支付状态
    /// </summary>
    public LifePayStatusEnum? PayStatus { get; set; }
    /// <summary>
    /// 供应商状态
    /// </summary>
    public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
    /// <summary>
    /// 订单状态
    /// </summary>
    public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; }
    /// <summary>
    /// 订单状态
    /// </summary>
    public LifePayRefundStatusEnum? LifePayRefundStatus { 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; }
    /// <summary>
    /// 上传凭证
    /// </summary>
    public string RefundCredentialsImgUrl { get; set; }
    /// <summary>
    /// 退款驳回原因
    /// </summary>
    public string RefundCheckRemark { get; set; }
    /// <summary>
    /// 退款类型
    /// </summary>
    public LifePayRefundTypeEnum LifePayRefundType { get; set; }
    /// <summary>
    /// 退款金额
    /// </summary>
    public decimal RefundPrice { 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 decimal ChannlesRakeRate { 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;
}
public class QueryUserPageInput : ChannelsBaseInput
{
    /// <summary>
    /// 手机号/用户名
    /// </summary>
    public string? QueryCondition { get; set; }
    /// <summary>
    /// 注册开始时间
    /// </summary>
    public DateTime? CreationTimeBegin { get; set; }
    /// <summary>
    /// 注册结束时间
    /// </summary>
    public DateTime? CreationTimeEnd { get; set; }
    /// <summary>
    /// 登录开始时间
    /// </summary>
    public DateTime? LoginTimeBegin { get; set; }
    /// <summary>
    /// 登录结束时间
    /// </summary>
    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
{
    /// <summary>
    /// 平台扣款金额
    /// </summary>
    public decimal PlatformPrice { get; set; }
    /// <summary>
    /// 手续费
    /// </summary>
    public decimal PremiumPrice { get; set; }
    /// <summary>
    /// 渠道佣金
    /// </summary>
    public decimal ChannlesRakePrice { get; set; }
    /// <summary>
    /// 利润
    /// </summary>
    public decimal Profit { get; set; }
}
public class LifePayConsumptionPageInput : ChannelsBaseInput
{
    /// <summary>
    /// 查询条件
    /// </summary>
    public string? KeyWord { get; set; }
    /// <summary>
    /// 资金流向
    /// </summary>
    public ConsumptionFlowEnum? Flow { get; set; }
    /// <summary>
    /// 记账开始时间
    /// </summary>
    public DateTime? TimeBegin { get; set; }
    /// <summary>
    /// 记账结束时间
    /// </summary>
    public DateTime? TimeEnd { get; set; }
}
public class LifePayRechargeReceiptsPageInput : ChannelsBaseInput
{
    /// <summary>
    /// 查询条件
    /// </summary>
    public string? KeyWord { get; set; }
    /// <summary>
    /// 记账开始时间
    /// </summary>
    public DateTime? CreationTimeBegin { get; set; }
    /// <summary>
    /// 记账结束时间
    /// </summary>
    public DateTime? CreationTimeEnd { get; set; }
}
public class AddUpdatePayRechargeReceiptsInput
{
    /// <summary>
    /// 编号
    /// </summary>
    public Guid? Id { get; set; }
    /// <summary>
    /// 业务订单号
    /// </summary>
    public string OrderNo { get; set; }
    /// <summary>
    /// 充值金额
    /// </summary>
    public decimal RechargeAmount { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string? Remark { get; set; }
    /// <summary>
    /// 充值凭证
    /// </summary>
    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
{
    /// <summary>
    /// 退款订单号
    /// </summary>
    public string OutRefundNo { get; set; }
    /// <summary>
    /// 平台订单号
    /// </summary>
    public string OrderNo { get; set; }
    /// <summary>
    /// 渠道流水号
    /// </summary>
    public string OutOrderNo { get; set; }
    /// <summary>
    /// 支付渠道
    /// </summary>
    public LifePayTypeEnum LifePayType { get; set; }
    /// <summary>
    /// 收支类型
    /// </summary>
    public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; }
    /// <summary>
    /// 交易金额
    /// </summary>
    public decimal Amount { get; set; }
}
public class AddLifePayChannlesRakeReceiptsInput
{
    /// <summary>
    /// 平台折扣比例
    /// </summary>
    public decimal? PlatformRate { get; set; }
    /// <summary>
    /// 渠道折扣
    /// </summary>
    public decimal? ChannleRate { get; set; }
    /// <summary>
    /// 充值金额
    /// </summary>
    public decimal? RechargeAmount { get; set; }
    /// <summary>
    /// 平台订单号
    /// </summary>
    public string OrderNo { get; set; }
    /// <summary>
    /// 成交金额
    /// </summary>
    public decimal PayAmount { get; set; }
    /// <summary>
    /// 渠道佣金比例
    /// </summary>
    public decimal ChannlesRakeRate { get; set; }
    /// <summary>
    /// 佣金
    /// </summary>
    public decimal ChannlesRakePrice { get; set; }
    /// <summary>
    /// 结算时间
    /// </summary>
    public DateTime FinishTime { get; set; }
    /// <summary>
    /// 拓展属性
    /// </summary>
    public string ExtraProperties { get; set; }
    /// <summary>
    /// 下单渠道
    /// </summary>
    public string ChannelId { get; set; }
}
public class LifePayExpensesReceiptsPageInput : ChannelsBaseInput
{
    /// <summary>
    /// 查询条件
    /// </summary>
    public string? KeyWord { get; set; }
    /// <summary>
    /// 支付渠道
    /// </summary>
    public LifePayTypeEnum? LifePayType { get; set; }
    /// <summary>
    /// 收支类型
    /// </summary>
    public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; }
    /// <summary>
    /// 交易开始时间
    /// </summary>
    public DateTime? TimeBegin { get; set; }
    /// <summary>
    /// 交易结束时间
    /// </summary>
    public DateTime? TimeEnd { get; set; }
}
public class LifePayExpensesReceiptsTemp
{
    /// <summary>
    /// 平台订单号
    /// </summary>
    public string OrderNo { get; set; }
    /// <summary>
    /// 退款订单编号
    /// </summary>
    public string RefundOrderNo { get; set; }
    /// <summary>
    /// 渠道流水号
    /// </summary>
    public string OutOrderNo { get; set; }
    /// <summary>
    /// 支付渠道
    /// </summary>
    public LifePayTypeEnum LifePayType { get; set; }
    /// <summary>
    /// 收支类型
    /// </summary>
    public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; }
    /// <summary>
    /// 交易金额
    /// </summary>
    public decimal Amount { get; set; }
    public string ExpensesReceiptsOrder { get; set; }
}
public class LifePayChannlesRakePageInput : ChannelsBaseInput
{
    /// <summary>
    /// 查询条件
    /// </summary>
    public string? KeyWord { get; set; }
    /// <summary>
    /// 渠道号
    /// </summary>
    public string? ChannelId { get; set; }
    /// <summary>
    /// 起始下单时间
    /// </summary>
    public DateTime? CreationTimeBegin { get; set; }
    /// <summary>
    /// 结束下单时间
    /// </summary>
    public DateTime? CreationTimeEnd { get; set; }
    /// <summary>
    /// 起始结算时间
    /// </summary>
    public DateTime? FinishTimeBegin { get; set; }
    /// <summary>
    /// 终止结算时间
    /// </summary>
    public DateTime? FinishTimeEnd { get; set; }
}
public class TopStatisticsInput
{
    public List<string>? ChannleList { get; set; }
}
public class QueryLifePayChannlesInput
{
    public LifePayChannelsStatsEnum? Status { get; set; }
}