using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace PaySharp.Alipay.Domain
{
[JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class Goods
{
///
/// 商品的编号
///
[JsonProperty("goods_id")]
[StringLength(32, ErrorMessage = "商品的编号最大长度为32位")]
[Required(ErrorMessage = "请设置商品的编号")]
public string Id { get; set; }
///
/// 支付宝定义的统一商品编号
///
[StringLength(32, ErrorMessage = "商品的编号最大长度为32位")]
public string AlipayGoodsId { get; set; }
///
/// 商品名称
///
[JsonProperty("goods_name")]
[StringLength(256, ErrorMessage = "商品名称最大长度为256位")]
[Required(ErrorMessage = "请设置商品名称")]
public string Name { get; set; }
///
/// 商品数量
///
[Required(ErrorMessage = "请设置商品数量")]
public int Quantity { get; set; }
///
/// 商品单价,单位为元
///
[Required(ErrorMessage = "请设置商品单价")]
public double Price { get; set; }
///
/// 商品类目
///
[JsonProperty("goods_category")]
[StringLength(24, ErrorMessage = "商品类目最大长度为24位")]
public string Category { get; set; }
///
/// 商品描述信息
///
[StringLength(1000, ErrorMessage = "商品描述信息最大长度为1000位")]
public string Body { get; set; }
///
/// 商品的展示地址
///
[StringLength(400, ErrorMessage = "商品的展示地址最大长度为400位")]
public string ShowUrl { get; set; }
}
}