order_info.go 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package talent_model
  2. import (
  3. "github.com/gogf/gf/database/gdb"
  4. "github.com/gogf/gf/os/gtime"
  5. "github.com/gogf/gf/util/gmeta"
  6. )
  7. type OrderInfoBrief struct {
  8. OrderId uint64 `json:"order_id"`
  9. PlatformIconUrl string `json:"platform_icon_url"`
  10. PlatformName string `json:"platform_name"`
  11. PlatformNickName string `json:"platform_nick_name"`
  12. OrderProcedure string `json:"order_procedure"`
  13. TaskName string `json:"task_name"`
  14. RecruitLevel gdb.Record `json:"recruit_level"`
  15. ProcedureNote string `json:"procedure_note"`
  16. ProductImgUrl string `json:"product_img_url"`
  17. OrderCompleteStatus int `json:"order_complete_status"`
  18. OrderCompleteType int `json:"order_complete_type"`
  19. OrderCompleteDate *gtime.Time `json:"order_complete_date"`
  20. }
  21. type ClassifiedOrderInfoBriefList struct {
  22. AllOrderInfoList []*OrderInfoBrief `json:"all_order_info_list"`
  23. SelectOrderInfoList []*OrderInfoBrief `json:"select_order_info_list"`
  24. GoingOnOrderInfoList []*OrderInfoBrief `json:"going_on_order_info_list"`
  25. CompletedOrderInfoList []*OrderInfoBrief `json:"completed_order_info_list"`
  26. }
  27. type OrderProductPhoto struct {
  28. gmeta.Meta `orm:"table:product_photo"`
  29. ProductId int `json:"product_id"` // 商品表id
  30. Symbol int `json:"symbol"` // 图片是主图还是详情图标志位 1主图 2详情图
  31. PhotoUrl string `json:"photo_url"` // 商品图片链接
  32. }
  33. type OrderProductInfo struct {
  34. gmeta.Meta `orm:"table:product"`
  35. ProductId int `json:"product_id"` //
  36. ProductName string `json:"product_name"` // 商品名称
  37. ProductPrice int64 `json:"product_price"` // 商品价格
  38. ProductSpecification string `json:"product_specification"` // 商品规格
  39. ProductPhotos *OrderProductPhoto `orm:"with:product_id=product_id, order:symbol"`
  40. }
  41. type OrderTaskHelpInfo struct {
  42. gmeta.Meta `orm:"table:task_perform_help_info"`
  43. TaskBaseId int `json:"task_base_id"` // 关联的任务基本信息id
  44. //BrandKeyword string `json:"brandKeyword"` // 品牌关键词
  45. //ProductMerits string `json:"productMerits"` // 产品亮点
  46. //AppendTopic string `json:"appendTopic"` // 添加话题
  47. //CaptureRequirement string `json:"captureRequirement"` // 拍摄要求
  48. //RemainDays int `json:"remainDays"` // 保留时长(天)
  49. //OtherPerformRequire string `json:"otherPerformRequire"` // 其他执行要求
  50. //CaptureReference string `json:"captureReference"` // 拍摄参考
  51. //CustomServiceQrcode string `json:"customServiceQrcode"` // 客服二维码url
  52. BriefList string `json:"brief_list"` // brief图片urls
  53. }
  54. type OrderTaskRewardInfo struct {
  55. gmeta.Meta `orm:"table:task_reward"`
  56. IsRewardGoods int `json:"is_reward_goods"` // 是否奖励实物
  57. RewardGoodsInfo string `json:"reward_goods_info"` // 实物奖励信息
  58. IsPaymentArticle int `json:"is_payment_article"` // 是否获得稿费
  59. PaymentValue string `json:"payment_value"` // 稿费金额描述
  60. OtherRewardInfo string `json:"other_reward_info"` // 其他奖励信息
  61. TaskBaseId int `json:"task_base_id"` // 关联的task_base_info的id
  62. }
  63. type OrderRecruitLevel struct {
  64. gmeta.Meta `orm:"table:task_recruit_talent_level"`
  65. TrtId int `json:"trt_id"` //
  66. FansCountMin int `json:"fans_count_min"` // 最小粉丝数
  67. FansCountMax int `json:"fans_count_max"` // 最大粉丝数
  68. NeedTalentCount int `json:"need_talent_count"` // 任务需要的达人数量
  69. RewardRoyalties int64 `json:"reward_royalties"` // 稿费金额
  70. }
  71. type OrderTaskProcedureCondition struct {
  72. gmeta.Meta `orm:"table:task_procedure_decision_condition"`
  73. TaskBaseId int `json:"-"` // 任务id(对应task_base_info表id字段)
  74. BuySamplesType int `json:"buy_samples_type"` // 拍单方式 0不拍单 1样叽拍单 2其他平台拍单
  75. BuySamplesCost int64 `json:"buy_samples_cost"` // 拍单费用
  76. BuySamplesRefund int64 `json:"buy_samples_refund"` // 拍单退费
  77. }
  78. type OrderTaskInfo struct {
  79. gmeta.Meta `orm:"table:task_base_info"`
  80. TaskId int `json:"task_id"` // 任务基础信息id
  81. TaskName string `json:"task_name"` // 任务名称
  82. TaskPlatform int `json:"task_platform"` // 任务平台id,取third_platform_info表id
  83. TaskMode int `json:"task_mode"` // 任务模式 1置换任务 2稿费任务 3折扣任务
  84. BusinessType int `json:"business_type"` // 业务类型 1实物 2虚拟 3线下
  85. ContentForm int `json:"content_form"` // 内容形式 低4位为图片和视频类型,0001原创图片 0010指定图片 0100原创视频 1000指定视频 5~6位为文案类型 010000为原创文案 100000为指定文案 第7位为是否直播01000000为直播00000000为非直播
  86. StartTime *gtime.Time `json:"start_time"` // 作品开始时间
  87. EndTime *gtime.Time `json:"end_time"` // 作品结束时间
  88. DeadlineTime *gtime.Time `json:"deadline_time"` // 任务报名截至日期
  89. TaskStatus int `json:"task_status"` // 任务状态 待上线,已上线,已结案
  90. //BrandId int `json:"brandId"` // 品牌id
  91. ProductId int `json:"product_id"` // 任务商品id
  92. ProductInfo *OrderProductInfo `orm:"with:product_id=product_id"`
  93. TaskHelpInfo *OrderTaskHelpInfo `orm:"with:task_base_id=task_id"`
  94. RewardInfo *OrderTaskRewardInfo `orm:"with:task_base_id=task_id"`
  95. Conditions *OrderTaskProcedureCondition `orm:"with:task_base_id=task_id"`
  96. }
  97. type OrderProcedureInfo struct {
  98. gmeta.Meta `orm:"table:workflow_node_container"`
  99. NodeName string `json:"node_name"`
  100. NodeNameFirst string `json:"node_name_first"` // 首次执行时的节点名,前端显示
  101. NodeNameAfterSecond string `json:"node_name_after_second"` // 第二次之后执行时的节点名
  102. StepInStage uint `json:"stepInStage"` // 在阶段中的步骤,如提交初稿是初稿阶段的第一步
  103. ProcedureStage int `json:"procedure_stage"` // 订单处理流程阶段,如:拍单阶段、初稿阶段
  104. CurExecutionTimes int `json:"cur_execution_times"` // 当前执行次数
  105. Tip string `json:"tip"` // 此步骤在达人端的提示
  106. SucNextStep uint `json:"sucNextStep"` // 成功后在此阶段的后续步骤 0不处理 255进行后续阶段 其余数值为本阶段step_in_stage值
  107. FailNextStep uint `json:"failNextStep"` // 失败的后续步骤,数值同上
  108. State int `json:"state"` // 状态 1未开启 2进行中 3失败 4完成
  109. FailReason string `json:"failReason"` // 失败原因
  110. CompleteDate *gtime.Time `json:"complete_date"` // 完成日期
  111. OperateRoleRestrict int `json:"operate_role_restrict"` // 操作角色限制 1后端 2达人
  112. SortId int `json:"sort_id"` // 在一个任务流程中的排序值
  113. OrderId int `json:"order_id"` // 关联的订单和任务id
  114. }
  115. type OrderDetailInfo struct {
  116. gmeta.Meta `orm:"table:order_info"`
  117. OrderId uint64 `json:"order_id"` //
  118. TaskId int `json:"task_id"` // 任务id
  119. TalentId int `json:"talentId"` // 达人id
  120. TalentPlatformInfoSnap string `json:"talent_platform_info_snap"` // 达人平台信息快照
  121. TalentPersonalInfoSnap string `json:"talent_personal_info_snap"` // 达人个人信息快照
  122. TalentPostAddrSnap string `json:"talent_post_addr_snap"` // 收货地址快照
  123. TaskLevelId int `json:"task_level_id"` // 报名选择的招募等级id(task_recruit_talent_level表中的id)
  124. ProdSpecificationId int `json:"prod_specification_id"` // 商品规格列表的索引
  125. ProdNote string `json:"prod_note"` // 商品备注
  126. OrderStatus int `json:"order_status"` // 订单状态
  127. CreateDate *gtime.Time `json:"create_date"` // 创建时间
  128. SelectDate *gtime.Time `json:"select_date"` // 反选时间
  129. PartnerWay string `json:"partner_way"` // 合作方式
  130. CompleteStatus int `json:"complete_status"` // 结束方式 0未结束 1正常结束 2反选失败 3达人取消
  131. CompleteDate *gtime.Time `json:"complete_date"` // 结束时间
  132. BuySamplesInfo *OrderTaskProcedureCondition `orm:"with:task_base_id=task_id"` // 拍单详情
  133. TaskInfo *OrderTaskInfo `orm:"with:task_id=task_id"`
  134. RecruitLevel *OrderRecruitLevel `orm:"with:trt_id=task_level_id"`
  135. ProcedureInfo []*OrderProcedureInfo `orm:"with:order_id=order_id, order:sort_id"`
  136. }
  137. type OrderBriefUrls struct {
  138. gmeta.Meta `orm:"table:task_perform_help_info"`
  139. TaskBaseId int `json:"-"`
  140. BriefList string `json:"brief_list"`
  141. }
  142. type OrderBriefInfo struct {
  143. gmeta.Meta `orm:"table:order_info"`
  144. OrderId uint64 `json:"-"` //
  145. TaskId int `json:"-"` // 任务id
  146. BriefList *OrderBriefUrls `orm:"with:task_base_id=task_id"`
  147. }