selection.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package youngee_talent_model
  2. import (
  3. "github.com/gogf/gf/util/gmeta"
  4. "github.com/gogf/gf/os/gtime"
  5. )
  6. // SelectionDetail结构结构体中内容更全面
  7. type SelectionInfo struct {
  8. gmeta.Meta `orm:"table:younggee_selection_info"`
  9. SelectionId string `json:"selection_id"` // 选品项目id
  10. SelectionName string `json:"selection_name"` // 选品项目名称
  11. EnterpriseId string `json:"enterprise_id"` // 所属企业id
  12. ProductId int `json:"product_id"` // 关联商品id
  13. ContentType int `json:"content_type"` // 内容形式,1代表图文,2代表视频
  14. SelectionStatus int `json:"selection_status"` // 选品项目状态,1-8分别代表创建中、待审核、审核通过、待支付、已支付、执行中、失效、已结案
  15. TaskMode int `json:"task_mode"` // 任务形式,1、2分别表示悬赏任务、纯佣带货
  16. Platform int `json:"platform"` // 项目平台,1-7分别代表小红书、抖音、微博、快手、b站、大众点评、知乎
  17. SampleMode int `json:"sample_mode"` // 领样形式,1、2分别表示免费领样、垫付领样
  18. SampleNum int `json:"sample_num"` // 样品数量
  19. RemainNum int `json:"remain_num"` // 剩余数量
  20. CommissionRate int `json:"commission_rate"` // 佣金比例
  21. EstimatedCost float64 `json:"estimated_cost"` // 预估成本
  22. TaskReward float64 `json:"task_reward"` // 任务悬赏
  23. RewardCondition string `json:"reward_condition"` // 返现悬赏条件
  24. SettlementAmount float64 `json:"settlement_amount"` // 结算金额
  25. TaskDdl *gtime.Time `json:"task_ddl"` // 招募截止时间
  26. Detail string `json:"detail"` // 卖点总结
  27. ProductSnap string `json:"product_snap"` // 商品信息快照
  28. ProductPhotoSnap string `json:"product_photo_snap"` // 商品图片快照
  29. CreatedAt *gtime.Time `json:"created_at"` // 创建时间
  30. UpdatedAt *gtime.Time `json:"updated_at"` // 修改时间
  31. FailReason int `json:"fail_reason"` // 失效原因,1、2分别表示逾期未支付、项目存在风险
  32. PassAt *gtime.Time `json:"pass_at"` // 审核通过时间
  33. FinishAt *gtime.Time `json:"finish_at"` // 结案时间
  34. IsRead int `json:"is_read"` // 是否已读
  35. SubmitAt *gtime.Time `json:"submit_at"` // 提交审核时间
  36. }
  37. type SelectionInfoList struct {
  38. Count int `json:"count"`
  39. MaxPage int `json:"max_page"`
  40. SelectionDetail []*SelectionDetail
  41. //SeletionInfos []interface{}
  42. }
  43. type SelectionCollectionInfoList struct {
  44. Count int `json:"count"`
  45. SelectionCollectionList []*SelectionDetail `json:"selectionCollectionList"`
  46. }
  47. type FreeStrategy struct {
  48. gmeta.Meta `orm:"table:free_strategy"`
  49. FreeStrategyId int `orm:"free_strategy_id" json:"free_strategy_id"` // 免费领样策略id
  50. StrategyId int `orm:"strategy_id" json:"strategy_id"` // 策略编号
  51. SelectionId string `orm:"selection_id" json:"selection_id"` // 带货任务id
  52. FansNum int `orm:"fans_num" json:"fans_num"` // 粉丝数量
  53. SaleNum int `orm:"sale_num" json:"sale_num"` // 近30天橱窗销量
  54. StrategyStatus int `orm:"strategy_status" json:"strategy_status"` // 策略状态
  55. EnrollNum int `orm:"enroll_num" json:"enroll_num"` // 报名数量
  56. ChooseNum int `orm:"choose_num" json:"choose_num"` // 已选数量
  57. BeforeDeliveryNum int `orm:"before_delivery_num" json:"before_delivery_num"` // 待发货数量
  58. DeliveryNum int `orm:"delivery_num" json:"delivery_num"` // 已发货数量
  59. AfterDeliveryNum int `orm:"after_delivery_num" json:"after_delivery_num"` // 已签收数量
  60. }
  61. type RewardStrategy struct {
  62. gmeta.Meta `orm:"table:reward_strategy"`
  63. RewardStrategyId int `orm:"reward_strategy_id" json:"reward_strategy_id"` // 悬赏策略id
  64. Reward float64 `orm:"reward" json:"reward"` // 悬赏池总金额
  65. SaleActual int `orm:"sale_actual" json:"sale_actual"` // 实际带货销量
  66. PerReward float64 `orm:"per_reward" json:"per_reward"` // 每人可获得悬赏金
  67. StrategyStatus int `orm:"strategy_status" json:"strategy_status"` // 悬赏策略状态
  68. SelectionId string `orm:"selection_id" json:"selection_id"`
  69. }
  70. type SelectionBrief struct {
  71. gmeta.Meta `orm:"table:younggee_sec_brief"`
  72. SectionBriefId int `json:"section_brief_id"` // brief的Id
  73. FileUrl string `json:"file_url"` // 文件url
  74. FileUid string `json:"file_uid"` // 文件uid
  75. SelectionId string `json:"selection_id"` // 所属项目id
  76. CreatedAt *gtime.Time `json:"created_at"` // 创建时间
  77. FileName string `json:"file_name"` // 文件名称
  78. }
  79. type SelectionExample struct {
  80. gmeta.Meta `orm:"table:younggee_sec_material"`
  81. MaterialId int `json:"material_id"` // 选品示例图id
  82. FileUrl string `json:"file_url"` // 文件url
  83. FileUid string `json:"file_uid"` // 文件uid
  84. SelectionId string `json:"selection_id"` // 所属选品id
  85. CreatedAt *gtime.Time `json:"created_at"` // 创建时间
  86. FileName string `json:"file_name"` // 文件名称
  87. }
  88. type SelectionDetail struct {
  89. gmeta.Meta `orm:"table:younggee_selection_info"`
  90. SelectionName string `json:"selection_name"` // 选品项目名称
  91. SelectionId string `json:"selection_id"` // 选品项目id
  92. EnterpriseId string `json:"enterprise_id"` // 所属企业id
  93. ProductId int `json:"product_id"` // 商品id(主键)
  94. ContentType int `json:"content_type"` // 内容形式,1代表图文,2代表视频
  95. SelectionStatus int `json:"selection_status"` // 选品项目状态,1-10分别代表创建中、待审核、审核通过、招募中、招募完毕、待支付、已支付、失效、执行中、已结案
  96. TaskMode int `json:"task_mode"` // 任务形式,1、2分别表示悬赏任务、纯佣带货
  97. Platform int `json:"platform"` // 项目平台,1-7分别代表小红书、抖音、微博、快手、b站、大众点评、知乎
  98. SampleMode int `json:"sample_mode"` // 领样形式,1、2、3分别表示免费领样、垫付领样、不提供
  99. ProductUrl string `json:"product_url"` // 带货链接
  100. SampleNum int `json:"sample_num"` // 样品数量
  101. RemainNum int `json:"remain_num"` // 剩余数量
  102. TaskDdl *gtime.Time `json:"task_ddl"` // 招募截止时间
  103. Detail string `json:"detail"` // 卖点总结
  104. TaskReward float64 `json:"task_reward"` // 任务悬赏
  105. CommissionRate int `json:"commission_rate"` // 佣金比例
  106. EstimatedCost float64 `json:"estimated_cost"` // 预估成本
  107. SampleCondition string `json:"sample_condition"` // 领样条件
  108. RewardCondition string `json:"reward_condition"` // 返现悬赏条件
  109. CreatedAt *gtime.Time `json:"created_at"` // 创建时间
  110. UpdatedAt *gtime.Time `json:"updated_at"` // 修改时间
  111. FailReason int `json:"fail_reason"` // 失效原因,1、2分别表示逾期未支付、项目存在风险
  112. PassAt *gtime.Time `json:"pass_at"` // 审核通过时间
  113. FinishAt *gtime.Time `json:"finish_at"` // 结案时间
  114. IsRead int `json:"is_read"` // 是否已读
  115. SettlementAmount float64 `json:"settlement_amount"` // 结算金额
  116. ProductSnap string `json:"product_snap"` // 商品信息快照
  117. ProductPhotoSnap string `json:"product_photo_snap"` // 商品图片快照
  118. SubmitAt *gtime.Time `json:"submit_at"` // 提交审核时间
  119. EnrollNum int `json:"enroll_num"` //报名人数
  120. SelectionBrief []*SelectionBrief `orm:"with:selection_id=selection_id"` // 项目brief 一个selection可能有多个brief,用列表
  121. SelectionExample []*SelectionExample `orm:"with:selection_id=selection_id"` // 项目样例图
  122. FreeStrategy []*FreeStrategy `orm:"with:selection_id=selection_id"` // 领样策略表
  123. RewardStrategy *RewardStrategy `orm:"with:selection_id=selection_id"` // 悬赏策略表
  124. YounggeeProduct *YounggeeProduct `orm:"with:product_id=product_id"` // 商品基本表
  125. YounggeeProductPhoto []*YounggeeProductPhoto `orm:"with:product_id=product_id"` // 商品图片表
  126. PlatformInfo *PlatformInfo `orm:"with:platform_id=platform"` //一个selection只有一个平台,直接指针对象object
  127. EnterpriseInfo *Enterprise `orm:"with:enterprise_id=enterprise_id"` //商家信息
  128. IsCollected int `json:"is_collected"` //此达人是否收藏 1表示已收藏,0表示没有收藏
  129. }
  130. // 种草收藏列表
  131. type SelectionCollection struct {
  132. gmeta.Meta `orm:"younggee_selection_collect_info"`
  133. CollectionId int `json:"collection_id"` // 主键自增长
  134. TalentId string `json:"talent_id"` //
  135. SelectionId string `json:"selection_id"`
  136. ProductId string `json:"product_id"`
  137. CreateTime *gtime.Time `json:"create_time"`
  138. Deleted int `json:"deleted"` //默认为0。0:收藏。1:取消收藏
  139. }