active.config.go 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package models
  2. import "github.com/shopspring/decimal"
  3. type CreateActiveConfigRequest struct {
  4. MerchantOpenID string `json:"merchant_open_id"`
  5. DrawOneBiZhong int64 `json:"draw_one_bi_zhong"`
  6. GroupBuyUrl string `json:"group_buy_url"`
  7. DrawId []int64 `json:"draw_id"`
  8. GroupBuyId []int64 `json:"group_buy_id"`
  9. GroupBuyMode int `json:"group_buy_mode"` // 0-不开团 1-虚拟开团 2-真实开团
  10. DrawMode int `json:"draw_mode"` // 抽奖模式 0-不抽奖,1-盲盒
  11. ActivityEndTime string `json:"activity_end_time"` // 活动结束时间
  12. ActivityStartTime string `json:"activity_start_time"` // 活动开始时间
  13. ActiveName string `json:"active_name"` // 活动名称
  14. BackgroundImage string `json:"background_image"` // 海报
  15. ActiveDrawNum int `json:"active_draw_num"` //抽奖次数
  16. }
  17. type ActiveConfigRequest struct {
  18. ActiveConfigId int64 `json:"active_config_id"`
  19. MerchantOpenID string `json:"merchant_open_id"`
  20. ClientOpenID string `json:"client_open_id"`
  21. }
  22. type ActiveConfigReply struct {
  23. MerchantName string `json:"merchant_name"` //商家名称
  24. DrawOneBiZhong int64 `json:"draw_one_bi_zhong"` //
  25. GroupBuyUrl string `json:"group_buy_url"` //
  26. GroupBuyMode int `json:"group_buy_mode"` // 0-不开团 1-虚拟开团 2-真实开团
  27. DrawMode int `json:"draw_mode"` //抽奖模式 0-不抽奖,1-盲盒
  28. ActivityEndTime string `json:"activity_end_time"` //活动结束时间
  29. ActivityStartTime string `json:"activity_start_time"` //活动开始时间
  30. ActiveName string `json:"active_name"` //活动名称
  31. BackgroundImage string `json:"background_image"` // 海报
  32. DrawNum int `json:"draw_num"` //抽奖次数
  33. DrawProduct []DrawProduct `json:"draw_product"` //中奖商品
  34. DrawGroupBuy []DrawGroupBuyInfo `json:"draw_group_buy"` //活动拼团
  35. }
  36. type DrawProduct struct {
  37. DrawProductName string `json:"draw_product_name"` // 抽奖名称
  38. DrawOdds int `json:"draw_odds"` // 中奖概率
  39. Stock int `json:"stock"` // 剩余库存
  40. IsPrize bool `json:"is_prize"` // 是否需要兑奖 谢谢惠顾不需要兑奖
  41. DrawUrl string `json:"draw_url"` // 中奖图片
  42. TotalStock int `json:"total_stock"` // 总库存
  43. }
  44. type DrawGroupBuy struct {
  45. GroupBuyName string `json:"group_buy_name"` // 拼团名
  46. GroupBuyMode int `json:"group_buy_mode"` // 拼团模式 1-真实拼团 2-虚拟拼团
  47. MerchantOpenID string `json:"merchant_open_id"` //
  48. OriginalPrice decimal.Decimal `json:"original_price"` // 原价
  49. GroupBuyOneNum int `json:"group_buy_one_num"` // 人数
  50. GroupBuyOnePrice decimal.Decimal `json:"group_buy_one_price"` // 价格
  51. GroupBuyTwoNum int `json:"group_buy_two_num"` // 人数
  52. GroupBuyTwoPrice decimal.Decimal `json:"group_buy_two_price"` // 价格
  53. GroupBuyThreeNum int `json:"group_buy_three_num"` //
  54. GroupBuyThreePrice decimal.Decimal `json:"group_buy_three_price"` //
  55. GroupBuyFourNum int `json:"group_buy_four_num"` //
  56. GroupBuyFourPrice decimal.Decimal `json:"group_buy_four_price"` //
  57. GroupBuyUrl string `json:"group_buy_url"` // 图片
  58. ActivityEndTime string `json:"activity_end_time"` // 活动结束时间
  59. ActivityStartTime string `json:"activity_start_time"` // 活动开始时间
  60. RebateRate int `json:"rebate_rate"` // 佣金比例
  61. MaxRebatePrice decimal.Decimal `json:"max_rebate_price"` //最大佣金
  62. GroupBuyProject []GroupBuyProject `json:"group_buy_project"`
  63. }
  64. type GroupBuyProject struct {
  65. ProjectName string `json:"project_name"`
  66. CancelNum int `json:"cancel_num"`
  67. }
  68. type DrawGroupBuyInfo struct {
  69. GroupBuyId int64 `json:"group_buy_id"` //拼团id
  70. GroupBuyName string `json:"group_buy_name"` // 拼团名
  71. GroupBuyMode int `json:"group_buy_mode"` // 拼团模式 1-真实拼团 2-虚拟拼团
  72. MerchantOpenID string `json:"merchant_open_id"` //
  73. OriginalPrice decimal.Decimal `json:"original_price"` // 原价
  74. GroupBuyOneNum int `json:"group_buy_one_num"` // 人数
  75. GroupBuyOnePrice decimal.Decimal `json:"group_buy_one_price"` // 价格
  76. GroupBuyTwoNum int `json:"group_buy_two_num"` // 人数
  77. GroupBuyTwoPrice decimal.Decimal `json:"group_buy_two_price"` // 价格
  78. GroupBuyThreeNum int `json:"group_buy_three_num"` //
  79. GroupBuyThreePrice decimal.Decimal `json:"group_buy_three_price"` //
  80. GroupBuyFourNum int `json:"group_buy_four_num"` //
  81. GroupBuyFourPrice decimal.Decimal `json:"group_buy_four_price"` //
  82. GroupBuyUrl string `json:"group_buy_url"` // 图片
  83. ActivityEndTime string `json:"activity_end_time"` // 活动结束时间
  84. ActivityStartTime string `json:"activity_start_time"` // 活动开始时间
  85. RebateRate int `json:"rebate_rate"` // 佣金比例
  86. MaxRebatePrice decimal.Decimal `json:"max_rebate_price"` //最大佣金
  87. GroupBuyProject []GroupBuyProject `json:"group_buy_project"`
  88. }
  89. type ActiveConfigListRequest struct {
  90. OpenId string `json:"open_id"`
  91. PageSize int `json:"page_size"`
  92. PageIndex int `json:"page_index"`
  93. }
  94. type ActiveConfigListReply struct {
  95. ID int64 `json:"id"` //id
  96. ActiveName string `json:"active_name"` // 活动名称
  97. ActivityEnd string `json:"activity_end"` // 活动结束时间
  98. ActivityStart string `json:"activity_start"` //活动开始时间
  99. CreatedAt string `json:"created_at"` //创建时间
  100. }
  101. // 抽奖
  102. type DrawRequest struct {
  103. ClientOpenID string `json:"client_open_id"` //open-id
  104. ActiveConfigID int64 `json:"active_config_id"` //活动ID
  105. }
  106. // 奖品返回
  107. type DrawReply struct {
  108. ID int64 `json:"id"` //id
  109. DrawUrl string `json:"draw_url"` //奖品url
  110. DrawProductName string `json:"draw_product_name"` //奖品名称
  111. Version int `json:"version"`
  112. }
  113. const (
  114. NotWon = 1 //未中奖
  115. NotClaimed = 2 //未兑奖
  116. Claimed = 3 //已兑奖
  117. )
  118. type ActiveConfigWHXYRequest struct {
  119. WHXY string `json:"whxy"` //坐标
  120. ActiveConfigId int64 `json:"activeConfigId"` //
  121. }
  122. type ClientActiveQRRequest struct {
  123. ActiveConfigId int64 `json:"active_config_id"` //
  124. Code string `json:"code"` //邀请code
  125. OpenId string `json:"open_id"`
  126. }
  127. type ClientActiveQRReply struct {
  128. Encoded string `json:"encoded"`
  129. W string `json:"w"`
  130. H string `json:"h"`
  131. X string `json:"x"`
  132. Y string `json:"y"`
  133. }
  134. type GroupBuyUnifiedOrderRequest struct {
  135. RequestId string `json:"request_id"` //request id
  136. OutTradeNo string `json:"out_trade_no"` //交易id
  137. ActiveConfigId int64 `json:"activeConfigId"` //活动id
  138. GroupBuyId int64 `json:"group_buy_id"` //团购id
  139. ClientOpenId string `json:"client_open_id"` //openid
  140. Amount decimal.Decimal `json:"amount"` //交易金额
  141. InvitationCode string `json:"invitation_code"` //邀请码
  142. }
  143. type GroupBuyUnifiedOrderReply struct {
  144. Timestamp string `json:"timestamp"` // 时间戳
  145. NonceStr string `json:"nonce_str"` // 随机字符串,长度为32个字符以下
  146. Package string `json:"package"` // prepay_id 参数值
  147. PaySign string `json:"pay_sign"` // 签名
  148. SignType string `json:"sign_type"` // 签名类型
  149. }