using Newtonsoft.Json;
|
using System;
|
using System.ComponentModel.DataAnnotations;
|
using ZeroD.Util;
|
|
namespace LifePayment.Domain.Shared;
|
|
/// <summary>
|
/// 公共请求参数基类
|
/// </summary>
|
public class ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 请求号(16-40位)无需传入,系统自动生成
|
/// </summary>
|
[JsonProperty("requestNo")]
|
public string RequestNo { get; set; }
|
|
/// <summary>
|
/// 商户ID(定长20字符)无需传入,读取配置
|
/// </summary>
|
[JsonProperty("partnerId")]
|
public string PartnerId { get; set; }
|
|
/// <summary>
|
/// 服务名称(最大32字符) 无需传入
|
/// </summary>
|
[JsonProperty("service")]
|
public string Service { get; set; }
|
|
/// <summary>
|
/// 服务版本(最大8字符)无需传入
|
/// </summary>
|
[JsonProperty("version")]
|
public string Version { get; set; } = "1.0";
|
|
/// <summary>
|
/// 协议类型(默认HTTP/JSON)无需传入
|
/// </summary>
|
[JsonProperty("protocol")]
|
public string Protocol { get; set; } = "HTTP/JSON";
|
|
/// <summary>
|
/// 会话参数(JSON格式)
|
/// </summary>
|
[StringLength(128, ErrorMessage = "会话参数最大128字符")]
|
[JsonProperty("context")]
|
public string Context { get; set; }
|
|
/// <summary>
|
/// 扩展参数(JSON单层结构)
|
/// </summary>
|
[StringLength(1024, ErrorMessage = "扩展参数最大1024字符")]
|
[JsonProperty("ext")]
|
public string Ext { get; set; }
|
|
/// <summary>
|
/// 页面跳转地址
|
/// </summary>
|
[StringLength(128, ErrorMessage = "跳转地址最大128字符")]
|
[Url(ErrorMessage = "非法的URL格式")]
|
[JsonProperty("returnUrl")]
|
public string ReturnUrl { get; set; }
|
|
/// <summary>
|
/// 异步通知地址
|
/// </summary>
|
[StringLength(128, ErrorMessage = "通知地址最大128字符")]
|
[Url(ErrorMessage = "非法的URL格式")]
|
[JsonProperty("notifyUrl")]
|
public string NotifyUrl { get; set; }
|
}
|
|
/// <summary>
|
/// 获取燃气面值请求参数
|
/// </summary>
|
public class GasParValueRequestInput : ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 天然气公司类型
|
/// </summary>
|
[JsonProperty("gasOrgType")]
|
public string GasOrgType { get; set; }
|
|
}
|
|
public class GasOrgTypeRequestInput : ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 外部商户订单号
|
/// </summary>
|
[JsonProperty("outOrderNo")]
|
public string OutOrderNo { get; set; }
|
|
/// <summary>
|
/// 平台订单号
|
/// </summary>
|
[JsonProperty("busiOrderNo")]
|
public string BusiOrderNo { get; set; }
|
}
|
|
/// <summary>
|
/// 提交燃气订单请求参数
|
/// </summary>
|
public class ConfirmGasOrderRequestInput : ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 外部商户订单号
|
/// </summary>
|
[Required(ErrorMessage = "外部商户订单号不能为空")]
|
[JsonProperty("outOrderNo")]
|
public string OutOrderNo { get; set; }
|
|
/// <summary>
|
/// 充值面额
|
/// </summary>
|
[Required(ErrorMessage = "充值面额不能为空")]
|
[Range(0.01, double.MaxValue, ErrorMessage = "充值面额必须大于0")]
|
[JsonProperty("parValue")]
|
public decimal ParValue { get; set; }
|
|
/// <summary>
|
/// 天然气公司类型
|
/// </summary>
|
[Required(ErrorMessage = "天然气公司类型不能为空")]
|
[JsonProperty("gasOrgType")]
|
public string GasOrgType { get; set; }
|
|
/// <summary>
|
/// 天然气号
|
/// </summary>
|
[Required(ErrorMessage = "天然气号不能为空")]
|
[JsonProperty("gasAccount")]
|
public string GasAccount { get; set; }
|
|
/// <summary>
|
/// 地区
|
/// </summary>
|
[JsonProperty("areaName")]
|
public string AreaName { get; set; }
|
}
|
|
/// <summary>
|
/// 提交电费订单请求参数
|
/// </summary>
|
public class ConfirmElectricOrderRequestInput : ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 充值面额,单位为元。
|
/// </summary>
|
[Required(ErrorMessage = "充值面额是必填项。")]
|
[JsonProperty("parValue")]
|
public decimal ParValue { get; set; }
|
|
/// <summary>
|
/// 电网类型,例如:"guowang"代表国家电网,"nanwang"代表南方电网。
|
/// </summary>
|
[Required(ErrorMessage = "电网类型是必填项。")]
|
[JsonProperty("electricType")]
|
public string ElectricType { get; set; }
|
|
/// <summary>
|
/// 电费类型,国网必传:住宅、企事业、店铺三个选项。
|
/// </summary>
|
[Required(ErrorMessage = "电费类型是必填项。")]
|
[StringLength(20, ErrorMessage = "电费类型长度不能超过20个字符。")]
|
[JsonProperty("electricAccountType")]
|
public string ElectricAccountType { get; set; }
|
|
/// <summary>
|
/// 电费户号。
|
/// </summary>
|
[Required(ErrorMessage = "电费户号是必填项。")]
|
[StringLength(50, ErrorMessage = "电费户号长度不能超过50个字符。")]
|
[JsonProperty("electricAccount")]
|
public string ElectricAccount { get; set; }
|
|
/// <summary>
|
/// 省份。
|
/// </summary>
|
[Required(ErrorMessage = "省份是必填项。")]
|
[StringLength(20, ErrorMessage = "省份长度不能超过20个字符。")]
|
[JsonProperty("province")]
|
public string Province { get; set; }
|
|
/// <summary>
|
/// 城市。
|
/// </summary>
|
[Required(ErrorMessage = "城市是必填项。")]
|
[StringLength(20, ErrorMessage = "城市长度不能超过20个字符。")]
|
[JsonProperty("city")]
|
public string City { get; set; }
|
|
/// <summary>
|
/// 客户身份证后6位,南网必传。
|
/// </summary>
|
[JsonProperty("sixID")]
|
public string SixID { get; set; }
|
|
/// <summary>
|
/// 订单号
|
/// </summary>
|
[JsonProperty("outOrderNo")]
|
public string OutOrderNo { get; set; }
|
}
|
|
/// <summary>
|
/// 提交电话费订单请求参数
|
/// </summary>
|
public class ConfirmPhoneOrderRequestInput : ACOOLYRequestBaseInput
|
{
|
/// <summary>
|
/// 运营商编码,例如:"yidong", "dianxin", "liantong"。
|
/// </summary>
|
[Required(ErrorMessage = "运营商编码是必填项。")]
|
[JsonProperty("ispCode")]
|
public string IspCode { get; set; }
|
|
/// <summary>
|
/// 充值面额,单位为元。测试账户:parValue=100:缴费成功,parValue>100:缴费失败。
|
/// </summary>
|
[Required(ErrorMessage = "充值面额是必填项。")]
|
[JsonProperty("parValue")]
|
public decimal ParValue { get; set; }
|
|
/// <summary>
|
/// 手机号。
|
/// </summary>
|
[Required(ErrorMessage = "手机号是必填项。")]
|
[JsonProperty("phone")]
|
public string Phone { get; set; }
|
|
/// <summary>
|
/// 外部订单号
|
/// </summary>
|
[Required(ErrorMessage = "订单号是必填项。")]
|
[JsonProperty("outOrderNo")]
|
public string OutOrderNo { get; set; }
|
|
/// <summary>
|
/// 机主名称(电信手机号必填)
|
/// </summary>
|
[JsonProperty("name")]
|
public string Name { get; set; }
|
}
|
public class ChannelsBaseInput : PageInput
|
{
|
public string CheckChannelId { get; set; }
|
}
|
|
public class LogErrorInput
|
{
|
public string Error { get; set; }
|
}
|
public class SetLifePayOrderPayTypeInput : ChannelsBaseInput
|
{
|
[Required(ErrorMessage = "订单号不可为空")]
|
public string OrderNo { get; set; }
|
|
[EnumValidation(typeof(LifePayTypeEnum), ErrorMessage = "支付方式异常")]
|
public LifePayTypeEnum LifePayType { get; set; }
|
|
public string H5Type { get; set; }
|
|
/// <summary>
|
/// 支付OpenId
|
/// </summary>
|
public string OpenId { get; set; }
|
|
/// <summary>
|
/// 商户数据包
|
/// </summary>
|
public string Attach { get; set; }
|
|
|
}
|
|
public class GetPayOrderForJsAPIInput : ChannelsBaseInput
|
{
|
[Required(ErrorMessage = "订单号不可为空")]
|
public string OrderNo { get; set; }
|
|
[EnumValidation(typeof(LifePayTypeEnum), ErrorMessage = "支付方式异常")]
|
public LifePayTypeEnum LifePayType { get; set; }
|
|
/// <summary>
|
/// 支付OpenId
|
/// </summary>
|
public string OpenId { get; set; }
|
|
/// <summary>
|
/// 商户数据包
|
/// </summary>
|
public string Attach { get; set; }
|
|
/// <summary>
|
/// 支付应用的appId
|
/// </summary>
|
public string PayAppId { get; set; }
|
|
//public string CheckChannelId { get; set; }
|
|
}
|