github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/card/card_struct.go (about) 1 package card 2 3 const ( 4 // 卡券类型 5 CardTypeGeneralCoupon = "GENERAL_COUPON" // 优惠券 6 CardTypeGroupon = "GROUPON" // 团购券 7 CardTypeCash = "CASH" // 代金券 8 CardTypeDiscount = "DISCOUNT" // 折扣券 9 CardTypeGift = "GIFT" // 礼品券 10 CardTypeMemberCard = "MEMBER_CARD" // 会员卡 11 CardTypeMeetingTicket = "MEETING_TICKET" // 会议门票 12 CardTypeScenicTicket = "SCENIC_TICKET" // 景区门票 13 CardTypeMovieTicket = "MOVIE_TICKET" // 电影票 14 CardTypeBoardingPass = "BOARDING_PASS" // 飞机票 15 ) 16 17 // 卡券数据结构 18 type Card struct { 19 CardType string `json:"card_type,omitempty"` 20 21 GeneralCoupon *GeneralCoupon `json:"general_coupon,omitempty"` 22 Groupon *Groupon `json:"groupon,omitempty"` 23 Cash *Cash `json:"cash,omitempty"` 24 Discount *Discount `json:"discount,omitempty"` 25 Gift *Gift `json:"gift,omitempty"` 26 MemberCard *MemberCard `json:"member_card,omitempty"` 27 MeetingTicket *MeetingTicket `json:"meeting_ticket,omitempty"` 28 ScenicTicket *ScenicTicket `json:"scenic_ticket,omitempty"` 29 MovieTicket *MovieTicket `json:"movie_ticket,omitempty"` 30 BoardingPass *BoardingPass `json:"boarding_pass,omitempty"` 31 } 32 33 // 优惠券 34 type GeneralCoupon struct { 35 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 36 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 37 DefaultDetail string `json:"default_detail,omitempty"` // 优惠券专用, 填写优惠详情 38 } 39 40 // 团购券 41 type Groupon struct { 42 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 43 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 44 DealDetail string `json:"deal_detail,omitempty"` // 团购券专用,团购详情 45 } 46 47 // 代金券 48 type Cash struct { 49 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 50 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 51 LeastCost *int `json:"least_cost,omitempty"` // 代金券专用, 表示起用金额(单位为分) 52 ReduceCost *int `json:"reduce_cost,omitempty"` // 代金券专用, 表示减免金额(单位为分) 53 } 54 55 // 折扣券 56 type Discount struct { 57 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 58 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 59 Discount *int `json:"discount,omitempty"` // 折扣券专用, 表示打折额度(百分比). 填30 就是七折. 60 } 61 62 // 礼品券 63 type Gift struct { 64 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 65 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 66 Gift string `json:"gift,omitempty"` // 礼品券专用, 表示礼品名字 67 } 68 69 // 会员卡 70 type MemberCard struct { 71 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 72 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 73 74 Prerogative string `json:"prerogative,omitempty"` // 会员卡特权说明 75 SupplyBonus *bool `json:"supply_bonus,omitempty"` // 显示积分,填写true或false,如填写true,积分相关字段均为必填 76 BonusURL string `json:"bonus_url,omitempty"` // 设置跳转外链查看积分详情。仅适用于积分无法通过激活接口同步的情况下使用该字段。 77 SupplyBalance *bool `json:"supply_balance,omitempty"` // 是否支持储值,填写true或false。如填写true,储值相关字段均为必填。 78 BalanceURL string `json:"balance_url,omitempty"` // 设置跳转外链查看余额详情。仅适用于余额无法通过激活接口同步的情况下使用该字段。 79 BonusClearedRules string `json:"bonus_cleared,omitempty"` // 积分清零规则。 80 BonusRules string `json:"bonus_rules,omitempty"` // 积分规则。 81 BalanceRules string `json:"balance_rules,omitempty"` // 储值说明。 82 ActivateURL string `json:"activate_url,omitempty"` // 激活会员卡的url。 83 NeedPushOnView *bool `json:"need_push_on_view,omitempty"` // 填写true为用户点击进入会员卡时推送事件,默认为false。 84 CustomField1 *MemberCardCustomField `json:"custom_field1,omitempty"` // 自定义会员信息类目,会员卡激活后显示。 85 CustomField2 *MemberCardCustomField `json:"custom_field2,omitempty"` // 自定义会员信息类目,会员卡激活后显示。 86 CustomField3 *MemberCardCustomField `json:"custom_field3,omitempty"` // 自定义会员信息类目,会员卡激活后显示。 87 CustomCell1 *MemberCardCustomCell `json:"custom_cell1,omitempty"` // 自定义会员信息类目,会员卡激活后显示。 88 } 89 90 type MemberCardCustomField struct { 91 // 会员信息类目名称: 92 // 93 // FIELD_NAME_TYPE_LEVEL 等级 94 // FIELD_NAME_TYPE_COUPON 优惠券 95 // FIELD_NAME_TYPE_STAMP 印花 96 // FIELD_NAME_TYPE_DISCOUNT 折扣 97 // FIELD_NAME_TYPE_ACHIEVEMEN 成就 98 // FIELD_NAME_TYPE_MILEAGE 里程 99 NameType string `json:"name_type,omitempty"` 100 URL string `json:"url,omitempty"` // 点击类目跳转外链url 101 } 102 103 type MemberCardCustomCell struct { 104 Name string `json:"name,omitempty"` // 入口名称。 105 Tips string `json:"tips,omitempty"` // 入口右侧提示语,6个汉字内。 106 URL string `json:"url,omitempty"` // 入口跳转链接。 107 } 108 109 // 会议门票 110 type MeetingTicket struct { 111 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 112 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 113 MeetingDetail string `json:"meeting_detail,omitempty"` // 会议详情 114 MapURL string `json:"map_url,omitempty"` // 会议导览图 115 } 116 117 // 景区门票 118 type ScenicTicket struct { 119 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 120 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 121 TicketClass string `json:"ticket_class,omitempty"` // 票类型, 例如平日全票, 套票等 122 GuideURL string `json:"guide_url,omitempty"` // 导览图url 123 } 124 125 // 电影票 126 type MovieTicket struct { 127 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 128 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 129 Detail string `json:"detail,omitempty"` // 电影票详情 130 } 131 132 // 飞机票 133 type BoardingPass struct { 134 BaseInfo *CardBaseInfo `json:"base_info,omitempty"` 135 AdvancedInfo *AdvancedInfo `json:"advanced_info,omitempty"` 136 From string `json:"from,omitempty"` // 起点, 上限为18 个汉字 137 To string `json:"to,omitempty"` // 终点, 上限为18 个汉字 138 Flight string `json:"flight,omitempty"` // 航班 139 Gate string `json:"gate,omitempty"` // 登机口. 如发生登机口变更, 建议商家实时调用该接口变更 140 CheckinURL string `json:"check_in_url,omitempty"` // 在线值机的链接 141 AirModel string `json:"air_model,omitempty"` // 机型, 上限为8 个汉字 142 DepartureTime int64 `json:"departure_time,omitempty"` // 起飞时间. Unix 时间戳格式 143 LandingTime int64 `json:"landing_time,omitempty"` // 降落时间. Unix 时间戳格式 144 BoardingTime string `json:"boarding_time,omitempty"` // 登机时间, 只显示"时分"不显示日期, 按时间戳格式填写. 如发生登机时间变更, 建议商家实时调用该接口变更. 145 }