github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/card/base_info_struct.go (about)

     1  package card
     2  
     3  const (
     4  	// 卡券Code展示类型
     5  	CodeTypeText        = "CODE_TYPE_TEXT"         // 文本
     6  	CodeTypeBarCode     = "CODE_TYPE_BARCODE"      // 一维码
     7  	CodeTypeQrcode      = "CODE_TYPE_QRCODE"       // 二维码
     8  	CodeTypeOnlyBarCode = "CODE_TYPE_ONLY_BARCODE" // 一维码无code显示
     9  	CodeTypeOnlyQrcode  = "CODE_TYPE_ONLY_QRCODE"  // 二维码无code显示
    10  )
    11  
    12  const (
    13  	// 卡券的状态
    14  	CardStatusNotVerify    = "CARD_STATUS_NOT_VERIFY"    // 待审核
    15  	CardStatusVerifyFail   = "CARD_STATUS_VERIFY_FALL"   // 审核失败
    16  	CardStatusVerifyOk     = "CARD_STATUS_VERIFY_OK"     // 通过审核
    17  	CardStatusUserDelete   = "CARD_STATUS_USER_DELETE"   // 卡券被用户删除
    18  	CardStatusUserDispatch = "CARD_STATUS_USER_DISPATCH" // 在公众平台投放过的卡券
    19  )
    20  
    21  const (
    22  	// DateInfo类型
    23  	DateInfoTypeFixTimeRange = "DATE_TYPE_FIX_TIME_RANGE" // 表示固定日期区间
    24  	DateInfoTypeFixTerm      = "DATE_TYPE_FIX_TERM"       // 表示固定时长(自领取后按天算)
    25  	DateInfoTypePermanent    = "DATE_TYPE_PERMANENT"      // 表示永久有效(会员卡类型专用)
    26  )
    27  
    28  // 基本的卡券数据, 所有卡券通用
    29  type CardBaseInfo struct {
    30  	CardId string `json:"id,omitempty"`     // 查询的时候有返回
    31  	Status string `json:"status,omitempty"` // 查询的时候有返回
    32  	AppId  string `json:"appid,omitempty"`  // 查询的时候有返回
    33  
    34  	LogoURL     string    `json:"logo_url,omitempty"`    // 卡券的商户logo,建议像素为300*300。
    35  	CodeType    string    `json:"code_type,omitempty"`   // Code展示类型
    36  	BrandName   string    `json:"brand_name,omitempty"`  // 商户名字,字数上限为12个汉字。
    37  	Title       string    `json:"title,omitempty"`       // 卡券名,字数上限为9个汉字。(建议涵盖卡券属性、服务及金额)。
    38  	SubTitle    string    `json:"sub_title,omitempty"`   // 券名的副标题, 字数上限为18个汉字。
    39  	Color       string    `json:"color,omitempty"`       // 券颜色。按色彩规范标注填写Color010-Color100。
    40  	Notice      string    `json:"notice,omitempty"`      // 卡券使用提醒,字数上限为16个汉字。
    41  	Description string    `json:"description,omitempty"` // 卡券使用说明,字数上限为1024个汉字。
    42  	SKU         *SKU      `json:"sku,omitempty"`         // 商品信息。
    43  	DateInfo    *DateInfo `json:"date_info,omitempty"`   // 使用日期,有效期的信息。
    44  
    45  	UseCustomCode        *bool   `json:"use_custom_code,omitempty"`         // 是否自定义Code码。填写true或false,默认为false。通常自有优惠码系统的开发者选择自定义Code码,并在卡券投放时带入Code码
    46  	BindOpenId           *bool   `json:"bind_openid,omitempty"`             // 是否指定用户领取,填写true或false。默认为false。通常指定特殊用户群体投放卡券或防止刷券时选择指定用户领取。
    47  	ServicePhone         string  `json:"service_phone,omitempty"`           // 客服电话。
    48  	LocationIdList       []int64 `json:"location_id_list,omitempty"`        // 门店位置poiid。
    49  	Source               string  `json:"source,omitempty"`                  // 第三方来源名,例如同程旅游、大众点评。
    50  	CustomURLName        string  `json:"custom_url_name,omitempty"`         // 自定义跳转外链的入口名字。
    51  	CustomURLSubTitle    string  `json:"custom_url_sub_title,omitempty"`    // 显示在入口右侧的提示语。
    52  	CustomURL            string  `json:"custom_url,omitempty"`              // 自定义跳转的URL。
    53  	PromotionURLName     string  `json:"promotion_url_name,omitempty"`      // 营销场景的自定义入口名称。
    54  	PromotionURLSubTitle string  `json:"promotion_url_sub_title,omitempty"` // 显示在营销入口右侧的提示语。
    55  	PromotionURL         string  `json:"promotion_url,omitempty"`           // 入口跳转外链的地址链接。
    56  	GetLimit             *int    `json:"get_limit,omitempty"`               // 每人可领券的数量限制,不填写默认为50。
    57  	UseLimit             *int    `json:"use_limit,omitempty"`               // 每人使用次数限制.
    58  	CanShare             *bool   `json:"can_share,omitempty"`               // 卡券领取页面是否可分享。
    59  	CanGiveFriend        *bool   `json:"can_give_friend,omitempty"`         // 卡券是否可转赠。
    60  }
    61  
    62  type SKU struct {
    63  	Quantity int `json:"quantity"` // 卡券库存的数量,不支持填写0,上限为100000000。
    64  }
    65  
    66  type DateInfo struct {
    67  	Type           string `json:"type"`                       // 使用时间的类型, DATE_TYPE_FIX_TIME_RANGE 表示固定日期区间,DATE_TYPE_FIX_TERM表示固定时长(自领取后按天算)
    68  	BeginTimestamp int64  `json:"begin_timestamp,omitempty"`  // type为DATE_TYPE_FIX_TIME_RANGE时专用,表示起用时间。从1970年1月1日00:00:00至起用时间的秒数,最终需转换为字符串形态传入。(东八区时间,单位为秒)
    69  	EndTimestamp   int64  `json:"end_timestamp,omitempty"`    // type为DATE_TYPE_FIX_TIME_RANGE时专用,表示结束时间,建议设置为截止日期的23:59:59过期。(东八区时间,单位为秒)
    70  	FixedTerm      *int   `json:"fixed_term,omitempty"`       // type为DATE_TYPE_FIX_TERM时专用,表示自领取后多少天内有效,领取后当天有效填写0。(单位为天)
    71  	FixedBeginTerm *int   `json:"fixed_begin_term,omitempty"` // type为DATE_TYPE_FIX_TERM时专用,表示自领取后多少天开始生效。(单位为天)
    72  }