using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; namespace PaySharp.Alipay.Domain { [JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))] public class TransferQueryModel : IValidatableObject { /// /// 商户转账唯一订单号:发起转账来源方定义的转账单据ID。 /// 和支付宝转账单据号不能同时为空。当和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数 /// [StringLength(64, ErrorMessage = "商户转账唯一订单号最大长度为64位")] [JsonProperty("out_biz_no")] public string OutTradeNo { get; set; } /// /// 支付宝转账单据号:和商户转账唯一订单号不能同时为空。当和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。 /// [StringLength(64, ErrorMessage = "支付宝转账单据号最大长度为64位")] [JsonProperty("order_id")] public string TradeNo { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (string.IsNullOrEmpty(OutTradeNo) && string.IsNullOrEmpty(TradeNo)) { yield return new ValidationResult("商户转账唯一订单号和支付宝转账单据号不能同时为空"); } yield return ValidationResult.Success; } } }