TongYang 3 tahun lalu
melakukan
b8d433d7df
100 mengubah file dengan 6814 tambahan dan 0 penghapusan
  1. 26 0
      Dockerfile
  2. 66 0
      app/api/backstage_api/accoun_api.go
  3. 68 0
      app/api/backstage_api/bilibili_api.go
  4. 96 0
      app/api/backstage_api/brand_api.go
  5. 78 0
      app/api/backstage_api/dianping_api.go
  6. 67 0
      app/api/backstage_api/expert_api.go
  7. 49 0
      app/api/backstage_api/finance_api.go
  8. 78 0
      app/api/backstage_api/kuaishou_api.go
  9. 73 0
      app/api/backstage_api/little_red_api.go
  10. 182 0
      app/api/backstage_api/login_api.go
  11. 234 0
      app/api/backstage_api/order_api.go
  12. 41 0
      app/api/backstage_api/product_api.go
  13. 345 0
      app/api/backstage_api/task_api.go
  14. 73 0
      app/api/backstage_api/tiktok_api.go
  15. 67 0
      app/api/backstage_api/weibo_api.go
  16. 73 0
      app/api/backstage_api/zhihu_api.go
  17. 199 0
      app/api/talent_api/talent_auth_get_api.go
  18. 161 0
      app/api/talent_api/talent_auth_post_api.go
  19. 60 0
      app/api/talent_api/talent_get_api.go
  20. 29 0
      app/api/talent_api/talent_post_api.go
  21. 61 0
      app/dao/backstage_dao/brand_dao.go
  22. 115 0
      app/dao/backstage_dao/product_dao.go
  23. 106 0
      app/dao/backstage_dao/user_dao.go
  24. 24 0
      app/dao/bobocoin_deduct_record.go
  25. 24 0
      app/dao/bobocoin_income_record.go
  26. 24 0
      app/dao/bobocoin_withdrawal_record.go
  27. 24 0
      app/dao/brand.go
  28. 24 0
      app/dao/expert.go
  29. 24 0
      app/dao/info_product_classify.go
  30. 24 0
      app/dao/info_region.go
  31. 24 0
      app/dao/info_talent_age_bracket.go
  32. 24 0
      app/dao/info_talent_skilled_area.go
  33. 24 0
      app/dao/info_talent_skin_type.go
  34. 24 0
      app/dao/info_third_platform.go
  35. 73 0
      app/dao/internal/bobocoin_deduct_record.go
  36. 69 0
      app/dao/internal/bobocoin_income_record.go
  37. 75 0
      app/dao/internal/bobocoin_withdrawal_record.go
  38. 77 0
      app/dao/internal/brand.go
  39. 69 0
      app/dao/internal/expert.go
  40. 59 0
      app/dao/internal/info_product_classify.go
  41. 65 0
      app/dao/internal/info_region.go
  42. 59 0
      app/dao/internal/info_talent_age_bracket.go
  43. 59 0
      app/dao/internal/info_talent_skilled_area.go
  44. 59 0
      app/dao/internal/info_talent_skin_type.go
  45. 63 0
      app/dao/internal/info_third_platform.go
  46. 63 0
      app/dao/internal/order_answer.go
  47. 69 0
      app/dao/internal/order_article_review.go
  48. 75 0
      app/dao/internal/order_data_quality.go
  49. 77 0
      app/dao/internal/order_data_review.go
  50. 79 0
      app/dao/internal/order_delivery_info.go
  51. 69 0
      app/dao/internal/order_draft_review.go
  52. 95 0
      app/dao/internal/order_info.go
  53. 71 0
      app/dao/internal/order_link_quality.go
  54. 71 0
      app/dao/internal/order_status_record.go
  55. 95 0
      app/dao/internal/platform_bilibili_account_info.go
  56. 97 0
      app/dao/internal/platform_dianping_account_info.go
  57. 99 0
      app/dao/internal/platform_kuaishou_account_info.go
  58. 103 0
      app/dao/internal/platform_little_red_book_account_info.go
  59. 105 0
      app/dao/internal/platform_tiktok_account_info.go
  60. 101 0
      app/dao/internal/platform_weibo_account_info.go
  61. 101 0
      app/dao/internal/platform_zhihu_account_info.go
  62. 75 0
      app/dao/internal/product.go
  63. 71 0
      app/dao/internal/product_photo.go
  64. 63 0
      app/dao/internal/r_order_compelete_stage_to_type.go
  65. 85 0
      app/dao/internal/r_talent_platform_table.go
  66. 69 0
      app/dao/internal/talent_delivery_address.go
  67. 93 0
      app/dao/internal/talent_info.go
  68. 65 0
      app/dao/internal/talent_pay_account_info.go
  69. 89 0
      app/dao/internal/task_base_info.go
  70. 77 0
      app/dao/internal/task_perform_help_info.go
  71. 67 0
      app/dao/internal/task_procedure_article_info.go
  72. 69 0
      app/dao/internal/task_procedure_buy_samples_info.go
  73. 93 0
      app/dao/internal/task_procedure_decision_condition.go
  74. 67 0
      app/dao/internal/task_procedure_draft_info.go
  75. 79 0
      app/dao/internal/task_procedure_quality_data_test_info.go
  76. 69 0
      app/dao/internal/task_recruit_requirements.go
  77. 67 0
      app/dao/internal/task_recruit_talent_level.go
  78. 69 0
      app/dao/internal/task_reward.go
  79. 73 0
      app/dao/internal/task_signup_info.go
  80. 79 0
      app/dao/internal/user.go
  81. 99 0
      app/dao/internal/workflow_node_container.go
  82. 97 0
      app/dao/internal/workflow_node_template.go
  83. 83 0
      app/dao/internal/wx_pay_order.go
  84. 24 0
      app/dao/order_answer.go
  85. 24 0
      app/dao/order_article_review.go
  86. 24 0
      app/dao/order_data_quality.go
  87. 24 0
      app/dao/order_data_review.go
  88. 24 0
      app/dao/order_delivery_info.go
  89. 24 0
      app/dao/order_draft_review.go
  90. 24 0
      app/dao/order_info.go
  91. 24 0
      app/dao/order_link_quality.go
  92. 24 0
      app/dao/order_status_record.go
  93. 24 0
      app/dao/platform_bilibili_account_info.go
  94. 24 0
      app/dao/platform_dianping_account_info.go
  95. 24 0
      app/dao/platform_kuaishou_account_info.go
  96. 24 0
      app/dao/platform_little_red_book_account_info.go
  97. 24 0
      app/dao/platform_tiktok_account_info.go
  98. 24 0
      app/dao/platform_weibo_account_info.go
  99. 24 0
      app/dao/platform_zhihu_account_info.go
  100. 24 0
      app/dao/product.go

+ 26 - 0
Dockerfile

@@ -0,0 +1,26 @@
+FROM loads/alpine:3.8
+
+LABEL maintainer="john@goframe.org"
+
+###############################################################################
+#                                INSTALLATION
+###############################################################################
+
+# 设置固定的项目路径
+ENV WORKDIR /var/www/youngmini_server
+
+# 添加应用可执行文件,并设置执行权限
+ADD ./bin/linux_amd64/main   $WORKDIR/main
+RUN chmod +x $WORKDIR/main
+
+# 添加I18N多语言文件、静态文件、配置文件、模板文件
+ADD i18n     $WORKDIR/i18n
+ADD public   $WORKDIR/public
+ADD config   $WORKDIR/config
+ADD template $WORKDIR/template
+
+###############################################################################
+#                                   START
+###############################################################################
+WORKDIR $WORKDIR
+CMD ./main

+ 66 - 0
app/api/backstage_api/accoun_api.go

@@ -0,0 +1,66 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Account = accountApi{}
+
+type accountApi struct {
+}
+
+// FindAll 查询所有
+func (account *accountApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.AccountFindAll
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, num, err := backstage_service.Account.FindAll(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// FindTimeRange 带有时间范围查询的请求
+func (account *accountApi) FindTimeRange(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestAccount
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Account.FindTimeRange(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.AccountManagement
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// ChangeListStatus 批量审核成功或失败
+func (account *accountApi) ChangeListStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestAccountList
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Account.ChangeListStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// 根据达人ID 查询单个达人信息

+ 68 - 0
app/api/backstage_api/bilibili_api.go

@@ -0,0 +1,68 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Bilibili = bilibiliApi{}
+
+type bilibiliApi struct {
+}
+
+// FindAll 查询所有
+func (bilibili *bilibiliApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.BilibiliFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, num, err := backstage_service.Bilibili.FindByConditionBilibili(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (bilibili *bilibiliApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountBilibili
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Bilibili.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (bilibili *bilibiliApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountBilibili
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Bilibili.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(5, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 96 - 0
app/api/backstage_api/brand_api.go

@@ -0,0 +1,96 @@
+package backstage_api
+
+// 品牌信息
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Brand = brandApi{}
+
+type brandApi struct {
+}
+
+// CreatBrand  创建品牌信息接口
+func (brand *brandApi) CreatBrand(r *ghttp.Request) {
+	var apiReq *backstage_model.BrandReq
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Brand.CreatBrand(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "品牌创建成功")
+}
+
+// DeleteBrand 根据ID删除品牌信息
+func (brand *brandApi) DeleteBrand(r *ghttp.Request) {
+	var apiReq *backstage_model.BrandDelete
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Brand.DeleteBrand(apiReq.Id)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "删除成功")
+}
+
+// FindByIdBrand  根据ID查询品牌信息
+func (brand *brandApi) FindByIdBrand(r *ghttp.Request) {
+	var apiReq *backstage_model.BrandDelete
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, err := backstage_service.Brand.FindByIdBrand(apiReq.Id)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result *backstage_model.BrandResp
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, "数据查询失败,请重试")
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", result)
+}
+
+// FindAll  品牌查询所有信息接口
+func (brand *brandApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.BrandFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, err := backstage_service.Brand.FindAllBrand(apiReq.IndexPage, apiReq.PageSize)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.BrandResp
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+	})
+}
+
+// UpdateBrand 更新数据
+func (brand *brandApi) UpdateBrand(r *ghttp.Request) {
+	var apiReq *backstage_model.BrandResp
+	err := r.ParseForm(&apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err = backstage_service.Brand.UpdateBrand(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "更新成功")
+}

+ 78 - 0
app/api/backstage_api/dianping_api.go

@@ -0,0 +1,78 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Dianping = dianpingApi{}
+
+type dianpingApi struct {
+}
+
+// FindAll 查询所有
+func (dianping *dianpingApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.DianpingFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Dianping.FindByConditionDianping(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ResponseRedFind
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (dianping *dianpingApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountDianping
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Dianping.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (bilibili *dianpingApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountDianping
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, err := backstage_service.Dianping.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result *backstage_model.ResponsePlatformDianpingAccountInfo
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(6, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 67 - 0
app/api/backstage_api/expert_api.go

@@ -0,0 +1,67 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Expert = expertApi{}
+
+type expertApi struct {
+}
+
+func (expert *expertApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.ExpertFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Expert.FindAllExpert(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ExpertRequest
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+func (expert *expertApi) FindAddressById(r *ghttp.Request) {
+	var apiReq *backstage_model.TalentDeliveryAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, err := backstage_service.Expert.FindAddressById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.TalentDeliveryAddress
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+	})
+}
+
+// ChangeStatus  用户状态,禁用,正常
+func (expert *expertApi) ChangeStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.ChangeBlack
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Expert.ChangeStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}

+ 49 - 0
app/api/backstage_api/finance_api.go

@@ -0,0 +1,49 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Finance = financeApi{}
+
+type financeApi struct {
+}
+
+// FindAll  账户查询所有信息接口
+func (account *financeApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.FinanceFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Finance.FindAllFinance(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.FinanceFindAll
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// ChangeListStatus 批量打款成功
+func (account *financeApi) ChangeListStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.ChangeMoneyListStatus
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Finance.ChangeListStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}

+ 78 - 0
app/api/backstage_api/kuaishou_api.go

@@ -0,0 +1,78 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Kuaishou = kuaishouApi{}
+
+type kuaishouApi struct {
+}
+
+// FindAll 查询所有
+func (kuaishou *kuaishouApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.KuaishouFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Kuaishou.FindByConditionKuaishou(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ResponseRedFind
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (kuaishou *kuaishouApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountKuaishou
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Kuaishou.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (kuaishou *kuaishouApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountKuaishou
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, err := backstage_service.Kuaishou.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result *backstage_model.ResponsePlatformKuaishouAccountInfo
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(4, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 73 - 0
app/api/backstage_api/little_red_api.go

@@ -0,0 +1,73 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var LittleRed = littleRedApi{}
+
+type littleRedApi struct {
+}
+
+// FindAll 查询所有
+func (littleRed *littleRedApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.LittleRedFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.LittleRed.FindByConditionLittleRed(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ResponseRedFind
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (littleRed *littleRedApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountLittleRed
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.LittleRed.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (littleRed *littleRedApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountLittleRed
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.LittleRed.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(1, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 182 - 0
app/api/backstage_api/login_api.go

@@ -0,0 +1,182 @@
+package backstage_api
+
+import (
+	"fmt"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"strconv"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Login = loginApi{}
+
+type loginApi struct {
+}
+
+// Refresh 用于前台页面刷新
+func (account *loginApi) Refresh(r *ghttp.Request) {
+	response.JsonExit(r, http.StatusForbidden, "页面刷新成功")
+}
+
+// Creat 创建用户
+func (account *loginApi) Creat(r *ghttp.Request) {
+	var apiReq *backstage_model.CreatUser
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.User.CreatUser(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "用户创建成功")
+}
+
+// Account 账号登录
+func (account *loginApi) Account(r *ghttp.Request) {
+	var apiReq *backstage_model.SysUsersServiceSignReq
+	// 用户名密码判空校验
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	// 判断用户名存在,密码是否正确
+	user, err := backstage_service.User.GetUserInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	createToken, err := backstage_service.Token.TokenCreate(apiReq, nil, r)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 返回登录成功状态码,并且携带token返回
+	response.JsonExit(r, http.StatusOK, "登录成功", g.Map{
+		"createToken": createToken,
+		"userName":    user.UserName,
+		"userCode":    user.User,
+	})
+}
+
+// LeaveAccount 用户注销
+func (account *loginApi) LeaveAccount(r *ghttp.Request) {
+	authorization := r.Header.Get("Authorization")
+	_, err := g.Redis().Do("DEL", authorization)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "注销成功")
+}
+
+// FindAccount 查询账号是否在数据库中存在
+func (account *loginApi) FindAccount(r *ghttp.Request) {
+	user := r.Get("user")
+	str := fmt.Sprintf("%v", user)
+	if str == "" || str == "<nil>" {
+		response.JsonExit(r, http.StatusBadRequest, "请输入用户账号")
+	}
+	email, err := backstage_service.User.CheckName(str)
+	if err != nil {
+		// 没有这个用户为501
+		response.JsonExit(r, http.StatusNotImplemented, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, email)
+}
+
+// SetEmail 发送邮箱验证码。
+func (account *loginApi) SetEmail(r *ghttp.Request) {
+	user := r.Get("user")
+	str := fmt.Sprintf("%v", user)
+	if str == "" || str == "<nil>" {
+		response.JsonExit(r, http.StatusBadRequest, "请输入用户账号")
+	}
+	email, err := backstage_service.User.CheckName(str)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 此处调用邮箱发送验证码email
+	err = backstage_service.User.SetEmail(email, str)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, "邮箱发送失败,请稍后重试")
+	}
+	response.JsonExit(r, http.StatusOK, "邮件发送成功,请查看邮箱")
+}
+
+// CheckVerification 修改密码验证通过进行密码修改。并且修改密码
+func (account *loginApi) CheckVerification(r *ghttp.Request) {
+	var apiReq *backstage_model.ChangePassword
+	// 用户名,密码,验证码判空校验
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	// 验证用户验证码是否正确
+	err := backstage_service.User.CheckVerification(apiReq.Verification, apiReq.User)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	bool := backstage_service.User.ChangePassword(apiReq.User, apiReq.Password)
+	if !bool {
+		response.JsonExit(r, http.StatusInternalServerError, "密码修改失败,请稍后重试")
+	}
+	response.JsonExit(r, http.StatusOK, "密码修改成功")
+}
+
+// FindAllNumber  查询用户总数
+func (account *loginApi) FindAllNumber(r *ghttp.Request) {
+	num := backstage_service.User.FindAll()
+	response.JsonExit(r, http.StatusOK, strconv.Itoa(num))
+}
+
+// FindAll  账户查询所有信息接口
+func (account *loginApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.UserFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, num, err := backstage_service.User.FindAllUser(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// Update 更新用户
+func (account *loginApi) Update(r *ghttp.Request) {
+	var apiReq *backstage_model.UpdateUser
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	err := backstage_service.User.UpdateUser(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "用户更新成功")
+}
+
+// ChangeStatus  用户状态,禁用,正常
+func (account *loginApi) ChangeStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.ChangeStatus
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.User.ChangeStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// ChangeListStatus 批量禁用用户
+func (account *loginApi) ChangeListStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.ChangeListStatus
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.User.ChangeListStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}

+ 234 - 0
app/api/backstage_api/order_api.go

@@ -0,0 +1,234 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/app/utils"
+	"youngmini_server/library/response"
+)
+
+var Order = orderApi{}
+
+type orderApi struct {
+}
+
+// FindAll 查询所有(订单列表查询所有)
+func (order *orderApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.OrderFindAll
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, num, err := backstage_service.Order.FindAll(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// FindAddress 查询其他招募信息
+func (order *orderApi) FindAddress(r *ghttp.Request) {
+	var apiReq *backstage_model.OrderFindAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	requirement, err := backstage_service.Order.FindAddress(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"requirement": requirement,
+	})
+}
+
+// ExecutiveInfo 执行信息,(发货信息,初稿审核,作品审核,质检链接,数据链接,)
+func (order *orderApi) ExecutiveInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.OrderFindAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	deliveryInfo, draftReview, articleReview, quality, dataQuality, err := backstage_service.Order.ExecutiveInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"deliveryInfo":  deliveryInfo,
+		"draftReview":   draftReview,
+		"articleReview": articleReview,
+		"quality":       quality,
+		"dataQuality":   dataQuality,
+	})
+}
+
+// RegistrationInfo  报名信息,(任务信息,商品信息,任务等级信息)
+func (order *orderApi) RegistrationInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.OrderFindAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	taskBaseInfo, product, taskRecruitTalentLevel, productPhoto, err := backstage_service.Order.RegistrationInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"taskBaseInfo":           taskBaseInfo,
+		"product":                product,
+		"taskRecruitTalentLevel": taskRecruitTalentLevel,
+		"productPhoto":           productPhoto,
+	})
+}
+
+// DraftFee 稿费明细接口
+func (order *orderApi) DraftFee(r *ghttp.Request) {
+	var apiReq *backstage_model.OrderFindAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	orderDraftFee, err := backstage_service.Order.DraftFee(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"orderDraftFee": orderDraftFee,
+	})
+}
+
+// AlterListStatus 修改订单状态
+func (order *orderApi) AlterListStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.AlterListStatus
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AlterListStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// AddDelivery 添加订单发货信息
+func (order *orderApi) AddDelivery(r *ghttp.Request) {
+	var apiReq *backstage_model.AddDelivery
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddDelivery(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// AddDraftReview 添加初稿审核信息
+func (order *orderApi) AddDraftReview(r *ghttp.Request) {
+	var apiReq *backstage_model.AddDraftReview
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddDraftReview(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// AddAuditReview 添加作品审核信息
+func (order *orderApi) AddAuditReview(r *ghttp.Request) {
+	var apiReq *backstage_model.AddAuditReview
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddAuditReview(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// AddDataQuality 添加数据质检审核信息
+func (order *orderApi) AddDataQuality(r *ghttp.Request) {
+	var apiReq *backstage_model.AddDataQuality
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddDataQuality(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// AddLinkQuality 添加链接质检信息
+func (order *orderApi) AddLinkQuality(r *ghttp.Request) {
+	var apiReq *backstage_model.AddLinkQuality
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddLinkQuality(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功")
+}
+
+// FindOrderProcedureDetail 查询对应订单所需要的流程
+func (order *orderApi) FindOrderProcedureDetail(r *ghttp.Request) {
+	var apiReq *backstage_model.AcquiredOrderId
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	flow, err := utils.OrderProcedureManager.GetOrderWorkFlow(apiReq.OrderId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"flow": flow,
+	})
+}
+
+// ChargesDetail 查询一个订单下面所对应的扣款明细
+func (order *orderApi) ChargesDetail(r *ghttp.Request) {
+	var apiReq *backstage_model.AcquiredOrderId
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Order.ChargesDetail(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+	})
+}
+
+// QueryTaskRecruitTalentLevel 查询招募等级表
+func (order *orderApi) QueryTaskRecruitTalentLevel(r *ghttp.Request) {
+	var apiReq *backstage_model.AcquiredOrderId
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Order.QueryTaskRecruitTalentLevel(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+	})
+}
+
+// AddBobocoinIncomeRecord 订单完成后需要在收入里面加一条信息
+func (order *orderApi) AddBobocoinIncomeRecord(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestBobocoinIncomeRecord
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Order.AddBobocoinIncomeRecord(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "操作成功")
+}

+ 41 - 0
app/api/backstage_api/product_api.go

@@ -0,0 +1,41 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Product = productApi{}
+
+type productApi struct {
+}
+
+// CreatProduct  创建商品信息接口
+func (brand *productApi) CreatProduct(r *ghttp.Request) {
+	var apiReq *backstage_model.ProductReq
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Product.CreatProduct(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "创建成功")
+}
+
+// DeleteProduct 删除商品接口
+func (brand *productApi) DeleteProduct(r *ghttp.Request) {
+	//var apiReq *backstage_model.ProductDelete
+	//if err := r.ParseForm(&apiReq); err != nil {
+	//	response.JsonExit(r, http.StatusBadRequest, err.Error())
+	//}
+	var photos []*backstage_model.ProductPhotoReq
+	g.DB().Model("product_photo").Where("product_id", 9).Scan(&photos)
+	response.JsonExit(r, http.StatusBadRequest, "err.Error()", g.Map{
+		"photos": photos,
+	})
+}

+ 345 - 0
app/api/backstage_api/task_api.go

@@ -0,0 +1,345 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+var Task = taskApi{}
+
+type taskApi struct {
+}
+
+// Creat 创建任务
+func (task *taskApi) Creat(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestAllCreatParam
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.CreatTask(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "任务创建成功")
+}
+
+// FindAll 任务信息查找所有
+func (task *taskApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.TaskFindAll
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	taskList, num, err := backstage_service.Task.FindConditionAll(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 没有数据返回错误请求
+	if taskList == nil {
+		response.JsonExit(r, http.StatusBadRequest, "没有数据返回")
+	}
+	response.JsonExit(r, http.StatusOK, "任务创建成功", g.Map{
+		"taskList": taskList,
+		"num":      num,
+	})
+}
+
+// AlterTaskStatus 修改任务状态
+func (task *taskApi) AlterTaskStatus(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestStatus
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.AlterTaskStatus(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "状态修改成功")
+}
+
+// FindSingleTaskInfo 查询单个任务信息
+func (task *taskApi) FindSingleTaskInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Task.TaskInfoShow(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "状态修改成功", g.Map{
+		"result": result,
+	})
+}
+
+// UpdateBrand 修改品牌信息
+func (task *taskApi) UpdateBrand(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestBrand
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateBrand(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "品牌修改成功")
+}
+
+// UpdateProduct 修改商品信息
+func (task *taskApi) UpdateProduct(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestProduct
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateProduct(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "商品信息修改成功")
+}
+
+// UpdateProductPhoto 修改商品图片信息
+func (task *taskApi) UpdateProductPhoto(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestProductPhoto
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateProductPhoto(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "修改商品图片信息")
+}
+
+// AddProductPhoto 增加图片信息
+func (task *taskApi) AddProductPhoto(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestProductPhoto
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.AddProductPhoto(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "增加图片信息成功")
+}
+
+// DeleteProductPhoto 删除图片信息
+func (task *taskApi) DeleteProductPhoto(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestProductPhoto
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.DeleteProductPhoto(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "删除图片信息成功")
+}
+
+// UpdateTaskBaseInfo 修改任务基础信息
+func (task *taskApi) UpdateTaskBaseInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskBaseInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateTaskBaseInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "任务基础信息修改成功")
+}
+
+// UpdateProcedure 修改任务配置总流程
+func (task *taskApi) UpdateProcedure(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskProcedureDecisionCondition
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateProcedure(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "任务配置总流程修改成功")
+}
+
+// UpdateDraftInfo 修改流程初稿配置
+func (task *taskApi) UpdateDraftInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskProcedureDraftInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateDraftInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "流程初稿配置修改成功")
+}
+
+// UpdateArticleInfo 修改流程作品配置
+func (task *taskApi) UpdateArticleInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskProcedureArticleInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateArticleInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "流程作品配置修改成功")
+}
+
+// UpdateQualityInfo 修改质检链接配置
+func (task *taskApi) UpdateQualityInfo(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskProcedureQualityDataTestInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateQualityInfo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "质检链接配置修改成功")
+}
+
+// UpdateReward 修改达人任务奖励配置
+func (task *taskApi) UpdateReward(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskReward
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateReward(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "达人任务奖励配置修改成功")
+}
+
+// UpdateRecruitRequirement 修改招募要求配置
+func (task *taskApi) UpdateRecruitRequirement(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskRecruitRequirements
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateRecruitRequirement(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "招募要求配置修改成功")
+}
+
+// UpdateRecruitLevel 修改合作方式,所需达人数量及其对应稿费
+func (task *taskApi) UpdateRecruitLevel(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskRecruitTalentLevel
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdateRecruitLevel(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "合作方式,所需达人数量及其对应稿费修改成功")
+}
+
+// AddRecruitLevel 增加合作方式,所需达人数量及其对应稿费
+func (task *taskApi) AddRecruitLevel(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskRecruitTalentLevel
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.AddRecruitLevel(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "合作方式,所需达人数量及其对应稿费修改成功")
+}
+
+// DeleteRecruitLevel 删除合作方式,所需达人数量及其对应稿费
+func (task *taskApi) DeleteRecruitLevel(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskRecruitTalentLevel
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.DeleteRecruitLevel(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "合作方式,所需达人数量及其对应稿费修改成功")
+}
+
+// UpdatePerformHelp 修改任务执行帮助
+func (task *taskApi) UpdatePerformHelp(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskPerformHelpInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Task.UpdatePerformHelp(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "任务执行帮助修改成功")
+}
+
+// FindSendAddress 发货信息查询
+func (task *taskApi) FindSendAddress(r *ghttp.Request) {
+	var apiReq *backstage_model.SendProductAddress
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, num, err := backstage_service.Task.FindSendAddress(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "地址查询成功", g.Map{
+		"result": result,
+		"num":    num,
+	})
+}
+
+// FindRecruit 招募进度数据统计
+func (task *taskApi) FindRecruit(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Task.FindRecruit(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "招募进度数据统计查询成功", g.Map{
+		"result": result,
+	})
+}
+
+// FindBIStatistics 招募进度数据统计
+func (task *taskApi) FindBIStatistics(r *ghttp.Request) {
+	var apiReq *backstage_model.RequestTaskInfo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Task.FindBIStatistics(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "BI数据统计查询成功", g.Map{
+		"result": result,
+	})
+}
+
+// DeleteTask 删除任务
+func (task *taskApi) DeleteTask(r *ghttp.Request) {
+	taskId := r.GetRequestInt("task_id", 0)
+	if taskId == 0 {
+		response.JsonExit(r, http.StatusBadRequest, "输入要删除的任务id")
+	}
+
+	err := backstage_service.Task.DeleteTask(taskId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, "删除任务失败:" + err.Error())
+	}
+
+	response.JsonExit(r, http.StatusOK, "删除任务成功", nil)
+}

+ 73 - 0
app/api/backstage_api/tiktok_api.go

@@ -0,0 +1,73 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Tiktok = tiktokApi{}
+
+type tiktokApi struct {
+}
+
+// FindAll 查询所有
+func (tiktok *tiktokApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.TiktokFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Tiktok.FindByConditionTiktok(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ResponseRedFind
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (tiktok *tiktokApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountTiktok
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Tiktok.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (tiktok *tiktokApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountTiktok
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Tiktok.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(2, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 67 - 0
app/api/backstage_api/weibo_api.go

@@ -0,0 +1,67 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Weibo = weiboApi{}
+
+type weiboApi struct {
+}
+
+// FindAll 查询所有
+func (weibo *weiboApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.WeiboFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Weibo.FindByConditionWeibo(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": res, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (weibo *weiboApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountWeibo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Weibo.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (weibo *weiboApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountWeibo
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Weibo.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(3, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 73 - 0
app/api/backstage_api/zhihu_api.go

@@ -0,0 +1,73 @@
+package backstage_api
+
+import (
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gconv"
+	"net/http"
+	"youngmini_server/app/model/backstage_model"
+	"youngmini_server/app/service/backstage_service"
+	"youngmini_server/library/response"
+)
+
+// 写统一接口处理小红书,抖音,微博,快手,B站,大众点评,知乎,
+
+var Zhihu = zhihuApi{}
+
+type zhihuApi struct {
+}
+
+// FindAll 查询所有
+func (zhihu *zhihuApi) FindAll(r *ghttp.Request) {
+	var apiReq *backstage_model.ZhihuFind
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	res, num, err := backstage_service.Zhihu.FindByConditionZhihu(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	var result []*backstage_model.ResponseRedFind
+	err = gconv.Structs(res, &result)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result, "num": num,
+	})
+}
+
+// RemoveAccount  下架
+func (zhihu *zhihuApi) RemoveAccount(r *ghttp.Request) {
+	var apiReq *backstage_model.RemoveAccountZhihu
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	err := backstage_service.Zhihu.RemoveAccount(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "0")
+}
+
+// FindAllById 单个查询所有信息
+func (zhihu *zhihuApi) FindAllById(r *ghttp.Request) {
+	// 只需要接收一个id即可
+	var apiReq *backstage_model.RemoveAccountZhihu
+	if err := r.ParseForm(&apiReq); err != nil {
+		response.JsonExit(r, http.StatusBadRequest, err.Error())
+	}
+	result, err := backstage_service.Zhihu.FindAllById(apiReq)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	// 查找失败原因及失败时间
+	reason, err := backstage_service.Account.FindFailReason(7, apiReq.PlatformAccountId)
+	if err != nil {
+		response.JsonExit(r, http.StatusInternalServerError, err.Error())
+	}
+	response.JsonExit(r, http.StatusOK, "数据返回成功", g.Map{
+		"result": result,
+		"reason": reason,
+	})
+}

+ 199 - 0
app/api/talent_api/talent_auth_get_api.go

@@ -0,0 +1,199 @@
+package talentapi
+
+import (
+	"github.com/gogf/gf/net/ghttp"
+	"youngmini_server/app/service/talent_service"
+)
+
+var TalentAuthGetApi = talentAuthGetApi{}
+
+type talentAuthGetApi struct {}
+
+
+// PlatformBrief 获取所有平台账户简略信息
+func (*talentAuthGetApi)PlatformBrief(r *ghttp.Request) {
+	res := talent_service.GetTalentAllPlatformBriefInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// PlatformDetail 获取单个平台账户详情
+func (*talentAuthGetApi)PlatformDetail(r *ghttp.Request) {
+	res := talent_service.OnGetTalentPlatformDetail(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// TalentBriefInfo 获取达人简略信息
+func (*talentAuthGetApi)TalentBriefInfo(r *ghttp.Request) {
+	res := talent_service.OnGetTalentBriefInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// TalentDetailInfo 获取达人详细信息
+func (*talentAuthGetApi)TalentDetailInfo(r *ghttp.Request)  {
+	res := talent_service.OnGetTalentDetailInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// DeliveryAddr 获取收货地址列表
+func (*talentAuthGetApi)DeliveryAddr(r *ghttp.Request) {
+	res := talent_service.OnGetDeliveryAddr(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// DeliveryAddrDetail 获取收货信息详情
+func (*talentAuthGetApi)DeliveryAddrDetail(r *ghttp.Request) {
+	res := talent_service.OnGetDeliveryAddrDetail(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// BoBoCoinInfo 获取卜卜币收入和支出记录
+func (*talentAuthGetApi)BoBoCoinInfo(r *ghttp.Request) {
+	res := talent_service.GetBoBoCoinList(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// BoBoCoinWithdrawal 获取提现信息,目前只有支付宝账号信息
+func (*talentAuthGetApi)BoBoCoinWithdrawal(r *ghttp.Request) {
+	res := talent_service.GetBoBoCoinWithdrawalInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// ExistOrder 获取达人已接的订单列表
+func (*talentAuthGetApi)ExistOrder(r *ghttp.Request) {
+	res := talent_service.GetOrderList(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetPlatformFansCount 获取平台粉丝数
+func (*talentAuthGetApi)GetPlatformFansCount(r *ghttp.Request) {
+	res := talent_service.GetPlatformFansCount(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)SignupPageTaskDetail(r *ghttp.Request) {
+	res := talent_service.GetSignupPageTaskDetail(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)OrderDetail(r *ghttp.Request) {
+	res := talent_service.GetOrderDetail(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetSampleExpressInfo(r *ghttp.Request) {
+	res := talent_service.OnGetExpressInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetDraftInfo(r *ghttp.Request) {
+	res := talent_service.OnGetDraftInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetArticle(r *ghttp.Request)  {
+    res := talent_service.OnGetArticleInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetQualityLink(r *ghttp.Request)  {
+	res := talent_service.OnGetPublishLinkInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetDataLink(r *ghttp.Request)  {
+	res := talent_service.OnGetDataLinkInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetOrderCompleteInfo(r *ghttp.Request) {
+	res := talent_service.OnGetOrderCompleteData(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)GetOrderSettleState(r *ghttp.Request) {
+	res := talent_service.GetBoBoCoinOrderSettleInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetOrderSignupPlatformInfo 获取订单
+func (*talentAuthGetApi)GetOrderSignupPlatformInfo(r *ghttp.Request) {
+	res := talent_service.GetOrderSignUpPlatformInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetOrderBriefInfo 获取订单的brief信息
+func (*talentAuthGetApi)GetOrderBriefInfo(r *ghttp.Request) {
+	res := talent_service.GetOrderBriefInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi)IsLogin(r *ghttp.Request) {
+	res := talent_service.IsLogin(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 161 - 0
app/api/talent_api/talent_auth_post_api.go

@@ -0,0 +1,161 @@
+package talentapi
+
+import (
+	"github.com/gogf/gf/net/ghttp"
+	"youngmini_server/app/service/talent_service"
+)
+
+var TalentAuthPostApi = talentAuthPostApi{}
+type talentAuthPostApi struct {}
+
+// TalentDetailInfo 提交达人详细信息
+func (*talentAuthPostApi)TalentDetailInfo(r *ghttp.Request) {
+	res := talent_service.OnPostTalentDetailInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// PlatformDetail 提交平台信息
+func (*talentAuthPostApi)PlatformDetail(r *ghttp.Request) {
+	res := talent_service.OnPostPlatformDetailInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// AddDeliveryAddr 添加收货地址
+func (*talentAuthPostApi)AddDeliveryAddr(r *ghttp.Request) {
+	res := talent_service.OnAddDeliveryAddr(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// DelDeliveryAddr 删除收货地址
+func (*talentAuthPostApi)DelDeliveryAddr(r *ghttp.Request) {
+	res := talent_service.OnDeleteDeliveryAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// ModifyDeliveryAddr 修改收货地址信息
+func (*talentAuthPostApi)ModifyDeliveryAddr(r *ghttp.Request) {
+	res := talent_service.ModifyDeliveryAddr(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// ChangeDefaultDeliveryAddr 修改默认收货地址
+func (*talentAuthPostApi)ChangeDefaultDeliveryAddr(r *ghttp.Request) {
+	res := talent_service.SetDefaultDeliveryAddr(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// WithdrawalAccountInfo 绑定提现账户信息
+func (*talentAuthPostApi)WithdrawalAccountInfo(r *ghttp.Request) {
+	res := talent_service.BindWithdrawalAccount(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// BoBoCoinWithdrawalReq 提现申请
+func (*talentAuthPostApi)BoBoCoinWithdrawalReq(r *ghttp.Request) {
+	res := talent_service.BoBoCoinWithdrawalReq(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)SignupTask(r *ghttp.Request) {
+	res := talent_service.SignupTask(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)ConfirmExpress(r *ghttp.Request) {
+	res := talent_service.OnConfirmReceiveExpress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)UploadDraft(r *ghttp.Request) {
+	res := talent_service.OnUploadDraft(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)UploadArticle(r *ghttp.Request) {
+	res := talent_service.OnUploadArticle(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)UploadLinkInfo(r *ghttp.Request) {
+	res := talent_service.OnUploadLink(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)UploadDataInfo(r *ghttp.Request) {
+	res := talent_service.OnUploadData(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)CancelOrder(r *ghttp.Request) {
+	res := talent_service.CancelOrder(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)WxPrepay(r *ghttp.Request) {
+	res := talent_service.WxPayOnTalentRequestPay(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)QueryWxPayResultById(r *ghttp.Request) {
+	res := talent_service.WxPayQueryOrderById(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthPostApi)QueryWxPayResultByTradeNo(r *ghttp.Request) {
+	res := talent_service.QueryOrderByOutTradeNo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 60 - 0
app/api/talent_api/talent_get_api.go

@@ -0,0 +1,60 @@
+package talentapi
+
+import (
+	"github.com/gogf/gf/net/ghttp"
+	"youngmini_server/app/service/talent_service"
+)
+
+var TalentGetApi = talentGetApi{}
+
+type talentGetApi struct {
+}
+
+// GetInfoTables 获取所有信息表
+func (*talentGetApi)GetInfoTables(r *ghttp.Request)  {
+	res := talent_service.GetInfoTables()
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetRegionInfo 根据行政区域获取下去内所有下级行政区域
+func (*talentGetApi)GetRegionInfo(r *ghttp.Request)  {
+	res := talent_service.GetRegionInfo(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetTaskList 获取任务信息列表
+func (*talentGetApi)GetTaskList(r *ghttp.Request)  {
+	res := talent_service.GetTaskInfoList(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// TaskDetail 获取单个任务详情
+func (*talentGetApi)TaskDetail(r *ghttp.Request) {
+	res := talent_service.GetTaskDetailInfo(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentGetApi)SearchByTaskName(r *ghttp.Request) {
+	res := talent_service.SearchByTaskName(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 29 - 0
app/api/talent_api/talent_post_api.go

@@ -0,0 +1,29 @@
+package talentapi
+
+import (
+	"github.com/gogf/gf/net/ghttp"
+	"youngmini_server/app/service/talent_service"
+)
+
+var TalentPostApi = talentPostApi{}
+type talentPostApi struct {
+}
+
+// Login 达人端登录
+func (*talentPostApi)Login(r *ghttp.Request) {
+	// 向微信服务端校验登录凭证
+	res := talent_service.WxLogin(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetQrcode 获取微信分享二维码
+func (*talentPostApi)GetQrcode(r *ghttp.Request) {
+	res := talent_service.RequestShareInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 61 - 0
app/dao/backstage_dao/brand_dao.go

@@ -0,0 +1,61 @@
+package backstage_dao
+
+import (
+	"errors"
+	"github.com/gogf/gf/frame/g"
+	"youngmini_server/app/model/backstage_model"
+)
+
+// CreatBrand  品牌创建
+func CreatBrand(brand *backstage_model.BrandReq) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("brand").
+		Data(g.Map{"brand_name": brand.BrandName, "brand_logo": brand.BrandLogo,
+			"brand_info": brand.BrandInfo, "brand_person": brand.BrandPerson,
+			"brand_contact": brand.BrandContact, "brand_title": brand.BrandContact}).Insert()
+	if err != nil {
+		return errors.New("品牌创建失败,请重试")
+	}
+	return err
+}
+
+// DeleteBrand 品牌删除
+func DeleteBrand(brandId string) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("brand").Where("id", brandId).Delete()
+	if err != nil {
+		return errors.New("删除失败,请重试")
+	}
+	return err
+}
+
+// UpdateBrand 品牌更新
+func UpdateBrand(brand *backstage_model.BrandResp) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("brand").Data(brand).Where("id", brand.Id).OmitEmpty().Update()
+	if err != nil {
+		return errors.New("更新失败,请重试")
+	}
+	return err
+}
+
+// FindByIdBrand 根据id查询品牌信息
+func FindByIdBrand(brandId string) (*backstage_model.BrandResp, error) {
+	g.DB().SetDebug(true)
+	brand := (*backstage_model.BrandResp)(nil)
+	err := g.DB().Model("brand").Where("id", brandId).Scan(&brand)
+	if err != nil || brand == nil {
+		return nil, errors.New("该ID在数据库中不存在,请输入正确ID值")
+	}
+	return brand, nil
+}
+
+// FindAllBrand 分页查询
+func FindAllBrand(indexPage int, pageSize int) ([]*backstage_model.BrandResp, error) {
+	var brands []*backstage_model.BrandResp
+	err := g.DB().Model("brand").Page(indexPage, pageSize).OrderDesc("updated_at").Scan(&brands)
+	if err != nil {
+		return nil, err
+	}
+	return brands, nil
+}

+ 115 - 0
app/dao/backstage_dao/product_dao.go

@@ -0,0 +1,115 @@
+package backstage_dao
+
+import (
+	"errors"
+	_ "errors"
+	"github.com/gogf/gf/frame/g"
+	_ "github.com/gogf/gf/frame/g"
+	"strconv"
+	"youngmini_server/app/model/backstage_model"
+	_ "youngmini_server/app/model/backstage_model"
+)
+
+// 商品表分为商品信息表和商品附带图片表
+
+// CreatProduct 商品创建
+func CreatProduct(brand *backstage_model.ProductReq) error {
+	g.DB().SetDebug(true)
+	// 返回的res是int64位
+	res, err := g.DB().Model("product").
+		Data(brand).InsertAndGetId()
+	// 将获取到的int64转换位string
+	s := strconv.FormatInt(res, 10)
+	// 获取到返回的ID值,创建图片表中的图片
+	var photo = brand.PhotosMain
+	le := len(photo)
+	for i := 0; i < le; i++ {
+		photo[i].ProductId = s
+	}
+	err = CreatPicture(photo)
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
+// DeleteProduct  商品删除
+func DeleteProduct(productId string) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("product").Where("id", productId).Delete()
+	if err != nil {
+		return errors.New("删除失败,请重试")
+	}
+	return err
+}
+
+// UpdateProduct  品牌更新
+func UpdateProduct(brand *backstage_model.ProductReq) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("product").Data(brand).Where("id", brand.Id).OmitEmpty().Update()
+	if err != nil {
+		return errors.New("更新失败,请重试")
+	}
+	return err
+}
+
+// FindByIdProduct 根据id查询品牌信息
+func FindByIdProduct(brandId string) (*backstage_model.ProductReq, error) {
+	g.DB().SetDebug(true)
+	product := (*backstage_model.ProductReq)(nil)
+	err := g.DB().Model("product").Where("id", brandId).Scan(&product)
+	if err != nil || product == nil {
+		return nil, errors.New("该ID在数据库中不存在,请输入正确ID值")
+	}
+	return product, nil
+}
+
+// FindAllProduct 分页查询
+func FindAllProduct(indexPage int, pageSize int) ([]*backstage_model.ProductReq, error) {
+	var products []*backstage_model.ProductReq
+	err := g.DB().Model("product").Page(indexPage, pageSize).OrderDesc("updated_at").Scan(&products)
+	if err != nil {
+		return nil, err
+	}
+	return products, nil
+}
+
+// CreatPicture 批量创建商品所附加的图片。
+func CreatPicture(photo []backstage_model.ProductPhotoReq) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("product_photo").Data(photo).Batch(2).Insert()
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
+// DeletePhotoByProID   根据商品ID批量删除商品所附带图片
+func DeletePhotoByProID(productId string) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("product_photo").Where("product_id", productId).Delete()
+	if err != nil {
+		return errors.New("删除失败,请重试")
+	}
+	return err
+}
+
+// DeletePhoto 删除单个图片
+func DeletePhoto(photoIid string) error {
+	g.DB().SetDebug(true)
+	_, err := g.DB().Model("product_photo").Where("id", photoIid).Delete()
+	if err != nil {
+		return errors.New("删除失败,请重试")
+	}
+	return err
+}
+
+// FindAllPhoto  根据商品ID批量查询图片
+func FindAllPhoto(productId string) ([]*backstage_model.ProductPhotoReq, error) {
+	var photos []*backstage_model.ProductPhotoReq
+	err := g.DB().Model("product_photo").Where("product_id", 9).Scan(&photos)
+	if err != nil {
+		return nil, err
+	}
+	return photos, nil
+}

+ 106 - 0
app/dao/backstage_dao/user_dao.go

@@ -0,0 +1,106 @@
+package backstage_dao
+
+import (
+	"errors"
+	"github.com/gogf/gf/frame/g"
+	"github.com/gogf/gf/os/gtime"
+	"youngmini_server/app/model/backstage_model"
+)
+
+// CreatUser 系统用户创建
+func CreatUser(user *backstage_model.CreatUser) error {
+	user.UserState = "1"
+	_, err := g.DB().Model("user").
+		Data(user).Insert()
+	if err != nil {
+		return errors.New("用户创建失败!")
+	}
+	return err
+}
+
+// SysUsers 用户登录验证
+func SysUsers(user *backstage_model.SysUsersServiceSignReq) (*backstage_model.SysUserModelResp, error) {
+	var use *backstage_model.SysUserModelResp
+	err := g.DB().Model("user").Where("user", user.User).Scan(&use)
+	// 判断用户名是否存在
+	if use == nil {
+		return nil, errors.New("该用户名不存在!")
+	}
+	if use.UserState == "0" {
+		return nil, errors.New("该用户已被禁用!")
+	}
+	// 判断密码是否正确
+	if use.Password != user.Password {
+		return nil, errors.New("密码错误!")
+	}
+	_, err = g.DB().Model("user").Data(g.Map{"last_login_time": gtime.Now().Format("Y-m-d H:i:s")}).Unscoped().Where("user", user.User).OmitEmpty().Update()
+	if err != nil {
+		return nil, err
+	}
+	// 判断数据库语句是否正确执行
+	if err != nil {
+		return nil, err
+	}
+	return use, err
+}
+
+// SysUserExist 判断用户名是否存在
+func SysUserExist(user string) (*backstage_model.UserBasics, error) {
+	var use *backstage_model.UserBasics
+	err := g.DB().Model("user").Where("user", user).Scan(&use)
+	// 判断用户名是否存在
+	if use == nil {
+		return nil, errors.New("该用户名不存在!")
+	}
+	if err != nil {
+		return nil, err
+	}
+	return use, nil
+}
+
+// ChangPassword 修改用户密码
+func ChangPassword(user string, password string) error {
+	_, err := g.DB().Model("user").Data("password", password).
+		Where("user", user).OmitEmpty().Update()
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
+// UserExist 用户创建时判断随机生成的用户名是否重复
+func UserExist(user string) error {
+	num, err := g.DB().Model("user").Where("user", user).Count()
+	// 判断用户名是否存在
+	if num > 0 || err != nil {
+		g.Log("生成随机数重复")
+		return errors.New("用户名已存在")
+	}
+	return nil
+}
+
+// UserNameExist 判断用户输入的后台用户名是否重复
+func UserNameExist(userName string) error {
+	g.DB().SetDebug(true)
+	num, err := g.DB().Model("user").Where("username", userName).Count()
+	// 判断用户名是否存在
+	if num > 0 || err != nil {
+		return errors.New("该后台用户名已存在")
+	}
+	return nil
+}
+
+// FindAllUser 分页查询
+func FindAllUser(users *backstage_model.UserFind) ([]*backstage_model.AllUser, int, error) {
+	var allUser []*backstage_model.AllUser
+	g.DB().SetDebug(true)
+	err := g.DB().Model("user").OmitEmpty().Where(users.User).Page(users.IndexPage, users.PageSize).OrderDesc("id").Scan(&allUser)
+	if err != nil {
+		return nil, 0, err
+	}
+	num, err := g.DB().Model("user").OmitEmpty().Where(users.User).Count()
+	if err != nil {
+		return nil, 0, err
+	}
+	return allUser, num, nil
+}

+ 24 - 0
app/dao/bobocoin_deduct_record.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// bobocoinDeductRecordDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type bobocoinDeductRecordDao struct {
+	*internal.BobocoinDeductRecordDao
+}
+
+var (
+	// BobocoinDeductRecord is globally public accessible object for table bobocoin_deduct_record operations.
+	BobocoinDeductRecord = bobocoinDeductRecordDao{
+		internal.NewBobocoinDeductRecordDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/bobocoin_income_record.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// bobocoinIncomeRecordDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type bobocoinIncomeRecordDao struct {
+	*internal.BobocoinIncomeRecordDao
+}
+
+var (
+	// BobocoinIncomeRecord is globally public accessible object for table bobocoin_income_record operations.
+	BobocoinIncomeRecord = bobocoinIncomeRecordDao{
+		internal.NewBobocoinIncomeRecordDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/bobocoin_withdrawal_record.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// bobocoinWithdrawalRecordDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type bobocoinWithdrawalRecordDao struct {
+	*internal.BobocoinWithdrawalRecordDao
+}
+
+var (
+	// BobocoinWithdrawalRecord is globally public accessible object for table bobocoin_withdrawal_record operations.
+	BobocoinWithdrawalRecord = bobocoinWithdrawalRecordDao{
+		internal.NewBobocoinWithdrawalRecordDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/brand.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// brandDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type brandDao struct {
+	*internal.BrandDao
+}
+
+var (
+	// Brand is globally public accessible object for table brand operations.
+	Brand = brandDao{
+		internal.NewBrandDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/expert.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// expertDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type expertDao struct {
+	*internal.ExpertDao
+}
+
+var (
+	// Expert is globally public accessible object for table expert operations.
+	Expert = expertDao{
+		internal.NewExpertDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_product_classify.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoProductClassifyDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoProductClassifyDao struct {
+	*internal.InfoProductClassifyDao
+}
+
+var (
+	// InfoProductClassify is globally public accessible object for table info_product_classify operations.
+	InfoProductClassify = infoProductClassifyDao{
+		internal.NewInfoProductClassifyDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_region.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoRegionDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoRegionDao struct {
+	*internal.InfoRegionDao
+}
+
+var (
+	// InfoRegion is globally public accessible object for table info_region operations.
+	InfoRegion = infoRegionDao{
+		internal.NewInfoRegionDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_talent_age_bracket.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoTalentAgeBracketDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoTalentAgeBracketDao struct {
+	*internal.InfoTalentAgeBracketDao
+}
+
+var (
+	// InfoTalentAgeBracket is globally public accessible object for table info_talent_age_bracket operations.
+	InfoTalentAgeBracket = infoTalentAgeBracketDao{
+		internal.NewInfoTalentAgeBracketDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_talent_skilled_area.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoTalentSkilledAreaDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoTalentSkilledAreaDao struct {
+	*internal.InfoTalentSkilledAreaDao
+}
+
+var (
+	// InfoTalentSkilledArea is globally public accessible object for table info_talent_skilled_area operations.
+	InfoTalentSkilledArea = infoTalentSkilledAreaDao{
+		internal.NewInfoTalentSkilledAreaDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_talent_skin_type.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoTalentSkinTypeDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoTalentSkinTypeDao struct {
+	*internal.InfoTalentSkinTypeDao
+}
+
+var (
+	// InfoTalentSkinType is globally public accessible object for table info_talent_skin_type operations.
+	InfoTalentSkinType = infoTalentSkinTypeDao{
+		internal.NewInfoTalentSkinTypeDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/info_third_platform.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// infoThirdPlatformDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type infoThirdPlatformDao struct {
+	*internal.InfoThirdPlatformDao
+}
+
+var (
+	// InfoThirdPlatform is globally public accessible object for table info_third_platform operations.
+	InfoThirdPlatform = infoThirdPlatformDao{
+		internal.NewInfoThirdPlatformDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 73 - 0
app/dao/internal/bobocoin_deduct_record.go

@@ -0,0 +1,73 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// BobocoinDeductRecordDao is the manager for logic model data accessing and custom defined data operations functions management.
+type BobocoinDeductRecordDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns BobocoinDeductRecordColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// BobocoinDeductRecordColumns defines and stores column names for table bobocoin_deduct_record.
+type BobocoinDeductRecordColumns struct {
+	RecordId        string // 扣费记录ID                                      
+    TalentId        string // 达人id                                          
+    BobocoinValue   string // 冻结的卜卜币数量(真实数量 * 100)                
+    OrderId         string // 订单id,如果是订单执行产生的扣费,则有值        
+    ProcedureStage  string // 订单的执行步骤,如果是订单产生的扣费,则有此值  
+    Reason          string // 扣费原因 1任务超期冻结 2拍单费用 3延期发放      
+    CreatedAt       string // 创建时间                                        
+    OperationStage  string // 扣款步骤名称                                    
+    TaskName        string // 任务名称(冗余)
+}
+
+//  bobocoinDeductRecordColumns holds the columns for table bobocoin_deduct_record.
+var bobocoinDeductRecordColumns = BobocoinDeductRecordColumns{
+	RecordId:       "record_id",        
+            TalentId:       "talent_id",        
+            BobocoinValue:  "bobocoin_value",   
+            OrderId:        "order_id",         
+            ProcedureStage: "procedure_stage",  
+            Reason:         "reason",           
+            CreatedAt:      "created_at",       
+            OperationStage: "operation_stage",  
+            TaskName:       "task_name",
+}
+
+// NewBobocoinDeductRecordDao creates and returns a new DAO object for table data access.
+func NewBobocoinDeductRecordDao() *BobocoinDeductRecordDao {
+	return &BobocoinDeductRecordDao{
+		Group:   "default",
+		Table:   "bobocoin_deduct_record",
+		Columns: bobocoinDeductRecordColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *BobocoinDeductRecordDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *BobocoinDeductRecordDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *BobocoinDeductRecordDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/bobocoin_income_record.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// BobocoinIncomeRecordDao is the manager for logic model data accessing and custom defined data operations functions management.
+type BobocoinIncomeRecordDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns BobocoinIncomeRecordColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// BobocoinIncomeRecordColumns defines and stores column names for table bobocoin_income_record.
+type BobocoinIncomeRecordColumns struct {
+	RecordId        string // 记录id,主键,自增                                                                                     
+    BobocoinValue   string // 收入的卜卜币数量                                                                                       
+    OrderId         string // 获得卜卜币的订单id                                                                                     
+    RecruitLevelId  string // 获得卜卜币的任务的招募级别                                                                             
+    TalentId        string // 达人id                                                                                                 
+    CompleteDate    string // 添加时间(订单完成时间,需要和bobocoin_withdrawal_record表中的打款完成时间字段名一致,因为要以时间排序  
+    TaskName        string // 任务名称(冗余)
+}
+
+//  bobocoinIncomeRecordColumns holds the columns for table bobocoin_income_record.
+var bobocoinIncomeRecordColumns = BobocoinIncomeRecordColumns{
+	RecordId:       "record_id",         
+            BobocoinValue:  "bobocoin_value",    
+            OrderId:        "order_id",          
+            RecruitLevelId: "recruit_level_id",  
+            TalentId:       "talent_id",         
+            CompleteDate:   "complete_date",     
+            TaskName:       "task_name",
+}
+
+// NewBobocoinIncomeRecordDao creates and returns a new DAO object for table data access.
+func NewBobocoinIncomeRecordDao() *BobocoinIncomeRecordDao {
+	return &BobocoinIncomeRecordDao{
+		Group:   "default",
+		Table:   "bobocoin_income_record",
+		Columns: bobocoinIncomeRecordColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *BobocoinIncomeRecordDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *BobocoinIncomeRecordDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *BobocoinIncomeRecordDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 75 - 0
app/dao/internal/bobocoin_withdrawal_record.go

@@ -0,0 +1,75 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// BobocoinWithdrawalRecordDao is the manager for logic model data accessing and custom defined data operations functions management.
+type BobocoinWithdrawalRecordDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns BobocoinWithdrawalRecordColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// BobocoinWithdrawalRecordColumns defines and stores column names for table bobocoin_withdrawal_record.
+type BobocoinWithdrawalRecordColumns struct {
+	RecordId       string // 提现单号                              
+    TalentId       string // 发起提现的达人id                      
+    SubmitDate     string // 提交时间                              
+    DrawAmount     string // 提现金额                              
+    PayState       string // 支付状态 1未支付 2支付成功 3支付失败  
+    PayFailReason  string // 支付失败原因                          
+    CompleteDate   string // 打款时间                              
+    PayPlatform    string // 支付平台,如支付宝                    
+    PayAccount     string // 支付账户                              
+    AccountName    string // 账户姓名
+}
+
+//  bobocoinWithdrawalRecordColumns holds the columns for table bobocoin_withdrawal_record.
+var bobocoinWithdrawalRecordColumns = BobocoinWithdrawalRecordColumns{
+	RecordId:      "record_id",        
+            TalentId:      "talent_id",        
+            SubmitDate:    "submit_date",      
+            DrawAmount:    "draw_amount",      
+            PayState:      "pay_state",        
+            PayFailReason: "pay_fail_reason",  
+            CompleteDate:  "complete_date",    
+            PayPlatform:   "pay_platform",     
+            PayAccount:    "pay_account",      
+            AccountName:   "account_name",
+}
+
+// NewBobocoinWithdrawalRecordDao creates and returns a new DAO object for table data access.
+func NewBobocoinWithdrawalRecordDao() *BobocoinWithdrawalRecordDao {
+	return &BobocoinWithdrawalRecordDao{
+		Group:   "default",
+		Table:   "bobocoin_withdrawal_record",
+		Columns: bobocoinWithdrawalRecordColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *BobocoinWithdrawalRecordDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *BobocoinWithdrawalRecordDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *BobocoinWithdrawalRecordDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 77 - 0
app/dao/internal/brand.go

@@ -0,0 +1,77 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// BrandDao is the manager for logic model data accessing and custom defined data operations functions management.
+type BrandDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns BrandColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// BrandColumns defines and stores column names for table brand.
+type BrandColumns struct {
+	BrandId       string // 品牌信息id          
+    BrandName     string // 品牌名称            
+    BrandLogo     string // 品牌logo链接地址    
+    BrandInfo     string // 品牌信息简介        
+    BrandPerson   string // 品牌对接人          
+    BrandContact  string // 品牌对接人联系方式  
+    BrandTitle    string // 品牌对接人职称      
+    CreatedAt     string // 创建时间            
+    CreatPeople   string // 创建人              
+    UpdatedAt     string // 更新时间            
+    UpdatePeople  string // 更新人
+}
+
+//  brandColumns holds the columns for table brand.
+var brandColumns = BrandColumns{
+	BrandId:      "brand_id",       
+            BrandName:    "brand_name",     
+            BrandLogo:    "brand_logo",     
+            BrandInfo:    "brand_info",     
+            BrandPerson:  "brand_person",   
+            BrandContact: "brand_contact",  
+            BrandTitle:   "brand_title",    
+            CreatedAt:    "created_at",     
+            CreatPeople:  "creat_people",   
+            UpdatedAt:    "updated_at",     
+            UpdatePeople: "update_people",
+}
+
+// NewBrandDao creates and returns a new DAO object for table data access.
+func NewBrandDao() *BrandDao {
+	return &BrandDao{
+		Group:   "default",
+		Table:   "brand",
+		Columns: brandColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *BrandDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *BrandDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *BrandDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/expert.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// ExpertDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ExpertDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns ExpertColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ExpertColumns defines and stores column names for table expert.
+type ExpertColumns struct {
+	Id             string // 达人表ID      
+    AgeRange       string // 达人年龄区间  
+    SkinChoose     string // 肤质选择      
+    Nationality    string // 国籍          
+    AgentShopArea  string // 探店区域      
+    Gender         string // 性别          
+    WechatId       string // 微信号
+}
+
+//  expertColumns holds the columns for table expert.
+var expertColumns = ExpertColumns{
+	Id:            "id",               
+            AgeRange:      "age_range",        
+            SkinChoose:    "skin_choose",      
+            Nationality:   "nationality",      
+            AgentShopArea: "agent_shop_area",  
+            Gender:        "gender",           
+            WechatId:      "wechat_id",
+}
+
+// NewExpertDao creates and returns a new DAO object for table data access.
+func NewExpertDao() *ExpertDao {
+	return &ExpertDao{
+		Group:   "default",
+		Table:   "expert",
+		Columns: expertColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ExpertDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *ExpertDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *ExpertDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 59 - 0
app/dao/internal/info_product_classify.go

@@ -0,0 +1,59 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoProductClassifyDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoProductClassifyDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoProductClassifyColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoProductClassifyColumns defines and stores column names for table info_product_classify.
+type InfoProductClassifyColumns struct {
+	ClassifyId  string // 分类id  
+    Classify    string // 分类名
+}
+
+//  infoProductClassifyColumns holds the columns for table info_product_classify.
+var infoProductClassifyColumns = InfoProductClassifyColumns{
+	ClassifyId: "classify_id",  
+            Classify:   "classify",
+}
+
+// NewInfoProductClassifyDao creates and returns a new DAO object for table data access.
+func NewInfoProductClassifyDao() *InfoProductClassifyDao {
+	return &InfoProductClassifyDao{
+		Group:   "default",
+		Table:   "info_product_classify",
+		Columns: infoProductClassifyColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoProductClassifyDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoProductClassifyDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoProductClassifyDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 65 - 0
app/dao/internal/info_region.go

@@ -0,0 +1,65 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoRegionDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoRegionDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoRegionColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoRegionColumns defines and stores column names for table info_region.
+type InfoRegionColumns struct {
+	RegionId     string //   
+    SelfCode     string //   
+    RegionLevel  string //   
+    ParentCode   string //   
+    RegionName   string //
+}
+
+//  infoRegionColumns holds the columns for table info_region.
+var infoRegionColumns = InfoRegionColumns{
+	RegionId:    "region_id",     
+            SelfCode:    "self_code",     
+            RegionLevel: "region_level",  
+            ParentCode:  "parent_code",   
+            RegionName:  "region_name",
+}
+
+// NewInfoRegionDao creates and returns a new DAO object for table data access.
+func NewInfoRegionDao() *InfoRegionDao {
+	return &InfoRegionDao{
+		Group:   "default",
+		Table:   "info_region",
+		Columns: infoRegionColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoRegionDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoRegionDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoRegionDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 59 - 0
app/dao/internal/info_talent_age_bracket.go

@@ -0,0 +1,59 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoTalentAgeBracketDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoTalentAgeBracketDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoTalentAgeBracketColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoTalentAgeBracketColumns defines and stores column names for table info_talent_age_bracket.
+type InfoTalentAgeBracketColumns struct {
+	AgeAid              string //   
+    AgeBracketDiscribe  string //
+}
+
+//  infoTalentAgeBracketColumns holds the columns for table info_talent_age_bracket.
+var infoTalentAgeBracketColumns = InfoTalentAgeBracketColumns{
+	AgeAid:             "age_aid",               
+            AgeBracketDiscribe: "age_bracket_discribe",
+}
+
+// NewInfoTalentAgeBracketDao creates and returns a new DAO object for table data access.
+func NewInfoTalentAgeBracketDao() *InfoTalentAgeBracketDao {
+	return &InfoTalentAgeBracketDao{
+		Group:   "default",
+		Table:   "info_talent_age_bracket",
+		Columns: infoTalentAgeBracketColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoTalentAgeBracketDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoTalentAgeBracketDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoTalentAgeBracketDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 59 - 0
app/dao/internal/info_talent_skilled_area.go

@@ -0,0 +1,59 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoTalentSkilledAreaDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoTalentSkilledAreaDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoTalentSkilledAreaColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoTalentSkilledAreaColumns defines and stores column names for table info_talent_skilled_area.
+type InfoTalentSkilledAreaColumns struct {
+	SkilledId     string //           
+    SkilledAreas  string // 擅长领域
+}
+
+//  infoTalentSkilledAreaColumns holds the columns for table info_talent_skilled_area.
+var infoTalentSkilledAreaColumns = InfoTalentSkilledAreaColumns{
+	SkilledId:    "skilled_id",     
+            SkilledAreas: "skilled_areas",
+}
+
+// NewInfoTalentSkilledAreaDao creates and returns a new DAO object for table data access.
+func NewInfoTalentSkilledAreaDao() *InfoTalentSkilledAreaDao {
+	return &InfoTalentSkilledAreaDao{
+		Group:   "default",
+		Table:   "info_talent_skilled_area",
+		Columns: infoTalentSkilledAreaColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoTalentSkilledAreaDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoTalentSkilledAreaDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoTalentSkilledAreaDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 59 - 0
app/dao/internal/info_talent_skin_type.go

@@ -0,0 +1,59 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoTalentSkinTypeDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoTalentSkinTypeDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoTalentSkinTypeColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoTalentSkinTypeColumns defines and stores column names for table info_talent_skin_type.
+type InfoTalentSkinTypeColumns struct {
+	SkinId            string //   
+    SkinTypeDescribe  string //
+}
+
+//  infoTalentSkinTypeColumns holds the columns for table info_talent_skin_type.
+var infoTalentSkinTypeColumns = InfoTalentSkinTypeColumns{
+	SkinId:           "skin_id",             
+            SkinTypeDescribe: "skin_type_describe",
+}
+
+// NewInfoTalentSkinTypeDao creates and returns a new DAO object for table data access.
+func NewInfoTalentSkinTypeDao() *InfoTalentSkinTypeDao {
+	return &InfoTalentSkinTypeDao{
+		Group:   "default",
+		Table:   "info_talent_skin_type",
+		Columns: infoTalentSkinTypeColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoTalentSkinTypeDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoTalentSkinTypeDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoTalentSkinTypeDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 63 - 0
app/dao/internal/info_third_platform.go

@@ -0,0 +1,63 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// InfoThirdPlatformDao is the manager for logic model data accessing and custom defined data operations functions management.
+type InfoThirdPlatformDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns InfoThirdPlatformColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// InfoThirdPlatformColumns defines and stores column names for table info_third_platform.
+type InfoThirdPlatformColumns struct {
+	PlatformId         string // 平台id,主键    
+    PlatformName       string // 平台名          
+    PlatformIcon       string // 平台图标url     
+    PlatformTableName  string // 平台数据表表名
+}
+
+//  infoThirdPlatformColumns holds the columns for table info_third_platform.
+var infoThirdPlatformColumns = InfoThirdPlatformColumns{
+	PlatformId:        "platform_id",          
+            PlatformName:      "platform_name",        
+            PlatformIcon:      "platform_icon",        
+            PlatformTableName: "platform_table_name",
+}
+
+// NewInfoThirdPlatformDao creates and returns a new DAO object for table data access.
+func NewInfoThirdPlatformDao() *InfoThirdPlatformDao {
+	return &InfoThirdPlatformDao{
+		Group:   "default",
+		Table:   "info_third_platform",
+		Columns: infoThirdPlatformColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *InfoThirdPlatformDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *InfoThirdPlatformDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *InfoThirdPlatformDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 63 - 0
app/dao/internal/order_answer.go

@@ -0,0 +1,63 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderAnswerDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderAnswerDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderAnswerColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderAnswerColumns defines and stores column names for table order_answer.
+type OrderAnswerColumns struct {
+	TraId                 string //                                                                                          
+    OrderId               string // 报名信息(order_info)id                                                                   
+    AdditionalQuestionId  string // task_require_additional_tallent_info表中的id,即问题                                     
+    QuestionAnswer        string // 问题答案,单选或多选为选项的id,问题为输入框时则为文本,为图片上传时则为上传后的图片url
+}
+
+//  orderAnswerColumns holds the columns for table order_answer.
+var orderAnswerColumns = OrderAnswerColumns{
+	TraId:                "tra_id",                  
+            OrderId:              "order_id",                
+            AdditionalQuestionId: "additional_question_id",  
+            QuestionAnswer:       "question_answer",
+}
+
+// NewOrderAnswerDao creates and returns a new DAO object for table data access.
+func NewOrderAnswerDao() *OrderAnswerDao {
+	return &OrderAnswerDao{
+		Group:   "default",
+		Table:   "order_answer",
+		Columns: orderAnswerColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderAnswerDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderAnswerDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderAnswerDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/order_article_review.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderArticleReviewDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderArticleReviewDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderArticleReviewColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderArticleReviewColumns defines and stores column names for table order_article_review.
+type OrderArticleReviewColumns struct {
+	OrderArticleId  string // 作品审核id                            
+    OrderId         string // 订单id(order_info)id                  
+    ArticleLink     string // 作品链接列表                          
+    AuditStatus     string // 审核状态 1待审核 2审核通过 3审核驳回  
+    AuditOpinion    string // 作品审核意见                          
+    CreatedAt       string // 创建时间(发货时间)                    
+    ConfirmTime     string // 确认收获时间
+}
+
+//  orderArticleReviewColumns holds the columns for table order_article_review.
+var orderArticleReviewColumns = OrderArticleReviewColumns{
+	OrderArticleId: "order_article_id",  
+            OrderId:        "order_id",          
+            ArticleLink:    "article_link",      
+            AuditStatus:    "audit_status",      
+            AuditOpinion:   "audit_opinion",     
+            CreatedAt:      "created_at",        
+            ConfirmTime:    "confirm_time",
+}
+
+// NewOrderArticleReviewDao creates and returns a new DAO object for table data access.
+func NewOrderArticleReviewDao() *OrderArticleReviewDao {
+	return &OrderArticleReviewDao{
+		Group:   "default",
+		Table:   "order_article_review",
+		Columns: orderArticleReviewColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderArticleReviewDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderArticleReviewDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderArticleReviewDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 75 - 0
app/dao/internal/order_data_quality.go

@@ -0,0 +1,75 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderDataQualityDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderDataQualityDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderDataQualityColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderDataQualityColumns defines and stores column names for table order_data_quality.
+type OrderDataQualityColumns struct {
+	DataQualityId  string // 数据质检id              
+    OrderId        string // 报名信息(order_info)id  
+    DataLink       string // 数据截图                
+    DataReview     string // 数据质检审核意见        
+    CreatedAt      string // 创建时间(发货时间)      
+    ConfirmTime    string // 确认收获时间            
+    LikeNumber     string // 点赞数                  
+    LittleEye      string // 小眼睛                  
+    CommitNum      string // 评论数                  
+    CollectNum     string // 收藏数
+}
+
+//  orderDataQualityColumns holds the columns for table order_data_quality.
+var orderDataQualityColumns = OrderDataQualityColumns{
+	DataQualityId: "data_quality_id",  
+            OrderId:       "order_id",         
+            DataLink:      "data_link",        
+            DataReview:    "data_review",      
+            CreatedAt:     "created_at",       
+            ConfirmTime:   "confirm_time",     
+            LikeNumber:    "like_number",      
+            LittleEye:     "little_eye",       
+            CommitNum:     "commit_num",       
+            CollectNum:    "collect_num",
+}
+
+// NewOrderDataQualityDao creates and returns a new DAO object for table data access.
+func NewOrderDataQualityDao() *OrderDataQualityDao {
+	return &OrderDataQualityDao{
+		Group:   "default",
+		Table:   "order_data_quality",
+		Columns: orderDataQualityColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderDataQualityDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderDataQualityDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderDataQualityDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 77 - 0
app/dao/internal/order_data_review.go

@@ -0,0 +1,77 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderDataReviewDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderDataReviewDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderDataReviewColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderDataReviewColumns defines and stores column names for table order_data_review.
+type OrderDataReviewColumns struct {
+	DataQualityId  string // 数据质检id                            
+    OrderId        string // 报名信息(order_info)id                
+    LikeNumber     string // 点赞数                                
+    LittleEye      string // 小眼睛                                
+    CommitNum      string // 评论数                                
+    CollectNum     string // 收藏数                                
+    DataLink       string // 数据截图列表                          
+    AuditStatus    string // 审核状态 1待审核 2审核通过 3审核失败  
+    AuditOpinion   string // 数据质检审核意见                      
+    CreatedAt      string // 创建时间(发货时间)                    
+    ConfirmTime    string // 确认收获时间
+}
+
+//  orderDataReviewColumns holds the columns for table order_data_review.
+var orderDataReviewColumns = OrderDataReviewColumns{
+	DataQualityId: "data_quality_id",  
+            OrderId:       "order_id",         
+            LikeNumber:    "like_number",      
+            LittleEye:     "little_eye",       
+            CommitNum:     "commit_num",       
+            CollectNum:    "collect_num",      
+            DataLink:      "data_link",        
+            AuditStatus:   "audit_status",     
+            AuditOpinion:  "audit_opinion",    
+            CreatedAt:     "created_at",       
+            ConfirmTime:   "confirm_time",
+}
+
+// NewOrderDataReviewDao creates and returns a new DAO object for table data access.
+func NewOrderDataReviewDao() *OrderDataReviewDao {
+	return &OrderDataReviewDao{
+		Group:   "default",
+		Table:   "order_data_review",
+		Columns: orderDataReviewColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderDataReviewDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderDataReviewDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderDataReviewDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 79 - 0
app/dao/internal/order_delivery_info.go

@@ -0,0 +1,79 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderDeliveryInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderDeliveryInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderDeliveryInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderDeliveryInfoColumns defines and stores column names for table order_delivery_info.
+type OrderDeliveryInfoColumns struct {
+	OrderDeliveryId   string // 执行补充信息                             
+    OrderId           string // 订单id                                   
+    OrderAddressee    string // 收货人                                   
+    OrderPhone        string // 订单所填手机号                           
+    RegionCode        string // 区域码                                   
+    OrderAddress      string // 订单地址                                 
+    LogisticsCompany  string // 物流公司                                 
+    TrackingNum       string // 物流单号                                 
+    CreatedAt         string // 创建时间                                 
+    ConfirmTime       string // 确认收获时间                             
+    DeliveryTime      string // 发货时间                                 
+    DeliveryStatus    string // 发货状态   1是未发货,2是已发货 3已收货
+}
+
+//  orderDeliveryInfoColumns holds the columns for table order_delivery_info.
+var orderDeliveryInfoColumns = OrderDeliveryInfoColumns{
+	OrderDeliveryId:  "order_delivery_id",  
+            OrderId:          "order_id",           
+            OrderAddressee:   "order_addressee",    
+            OrderPhone:       "order_phone",        
+            RegionCode:       "region_code",        
+            OrderAddress:     "order_address",      
+            LogisticsCompany: "logistics_company",  
+            TrackingNum:      "tracking_num",       
+            CreatedAt:        "created_at",         
+            ConfirmTime:      "confirm_time",       
+            DeliveryTime:     "delivery_time",      
+            DeliveryStatus:   "delivery_status",
+}
+
+// NewOrderDeliveryInfoDao creates and returns a new DAO object for table data access.
+func NewOrderDeliveryInfoDao() *OrderDeliveryInfoDao {
+	return &OrderDeliveryInfoDao{
+		Group:   "default",
+		Table:   "order_delivery_info",
+		Columns: orderDeliveryInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderDeliveryInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderDeliveryInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderDeliveryInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/order_draft_review.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderDraftReviewDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderDraftReviewDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderDraftReviewColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderDraftReviewColumns defines and stores column names for table order_draft_review.
+type OrderDraftReviewColumns struct {
+	OrderDraftId  string // 初稿审核id                            
+    OrderId       string // 订单id                                
+    OnlineLink    string // 在线链接                              
+    AuditStatus   string // 审核状态 1待审核 2审核通过 3审核驳回  
+    AuditOpinion  string // 审核意见                              
+    CreatedAt     string // 创建时间                              
+    ConfirmTime   string // 初稿通过时间
+}
+
+//  orderDraftReviewColumns holds the columns for table order_draft_review.
+var orderDraftReviewColumns = OrderDraftReviewColumns{
+	OrderDraftId: "order_draft_id",  
+            OrderId:      "order_id",        
+            OnlineLink:   "online_link",     
+            AuditStatus:  "audit_status",    
+            AuditOpinion: "audit_opinion",   
+            CreatedAt:    "created_at",      
+            ConfirmTime:  "confirm_time",
+}
+
+// NewOrderDraftReviewDao creates and returns a new DAO object for table data access.
+func NewOrderDraftReviewDao() *OrderDraftReviewDao {
+	return &OrderDraftReviewDao{
+		Group:   "default",
+		Table:   "order_draft_review",
+		Columns: orderDraftReviewColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderDraftReviewDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderDraftReviewDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderDraftReviewDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 95 - 0
app/dao/internal/order_info.go

@@ -0,0 +1,95 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderInfoColumns defines and stores column names for table order_info.
+type OrderInfoColumns struct {
+	OrderId                 string //                                                          
+    TaskId                  string // 任务id                                                   
+    TaskName                string // 任务名称(冗余)                                           
+    TaskBrandName           string // 品牌名称(冗余)                                           
+    ProductName             string // 商品名称(冗余)                                           
+    ProductMainImg          string // 商品主图url(冗余)                                        
+    TalentId                string // 达人id                                                   
+    TalentPlatformInfoSnap  string // 达人平台信息快照                                         
+    TalentPersonalInfoSnap  string // 达人个人信息快照                                         
+    TalentPostAddrSnap      string // 收货地址快照                                             
+    TaskLevelId             string // 报名选择的招募等级id(task_recruit_talent_level表中的id)  
+    SettleAmount            string // 待结算金额                                               
+    ProdSpecificationId     string // 商品规格列表的索引                                       
+    ProdNote                string // 商品备注                                                 
+    OrderStatus             string // 订单状态                                                 
+    CreateDate              string // 创建时间                                                 
+    SelectDate              string // 反选时间                                                 
+    PartnerWay              string // 合作方式                                                 
+    CompleteStatus          string // 结束方式 1未结束 2正常结束 3反选失败 4达人取消           
+    CompleteDate            string // 结束时间
+}
+
+//  orderInfoColumns holds the columns for table order_info.
+var orderInfoColumns = OrderInfoColumns{
+	OrderId:                "order_id",                   
+            TaskId:                 "task_id",                    
+            TaskName:               "task_name",                  
+            TaskBrandName:          "task_brand_name",            
+            ProductName:            "product_name",               
+            ProductMainImg:         "product_main_img",           
+            TalentId:               "talent_id",                  
+            TalentPlatformInfoSnap: "talent_platform_info_snap",  
+            TalentPersonalInfoSnap: "talent_personal_info_snap",  
+            TalentPostAddrSnap:     "talent_post_addr_snap",      
+            TaskLevelId:            "task_level_id",              
+            SettleAmount:           "settle_amount",              
+            ProdSpecificationId:    "prod_specification_id",      
+            ProdNote:               "prod_note",                  
+            OrderStatus:            "order_status",               
+            CreateDate:             "create_date",                
+            SelectDate:             "select_date",                
+            PartnerWay:             "partner_way",                
+            CompleteStatus:         "complete_status",            
+            CompleteDate:           "complete_date",
+}
+
+// NewOrderInfoDao creates and returns a new DAO object for table data access.
+func NewOrderInfoDao() *OrderInfoDao {
+	return &OrderInfoDao{
+		Group:   "default",
+		Table:   "order_info",
+		Columns: orderInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 71 - 0
app/dao/internal/order_link_quality.go

@@ -0,0 +1,71 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderLinkQualityDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderLinkQualityDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderLinkQualityColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderLinkQualityColumns defines and stores column names for table order_link_quality.
+type OrderLinkQualityColumns struct {
+	LinkQualityId  string // 链接质检id                            
+    OrderId        string // 报名信息(order_info)id                
+    PostLink       string // 发布链接                              
+    PhotoLink      string // 图片链接                              
+    AuditStatus    string // 审核状态 1待审核 2审核成功 3审核失败  
+    AuditOpinion   string // 审核意见                              
+    CreatedAt      string // 创建时间(发货时间)                    
+    ConfirmTime    string // 确认收获时间
+}
+
+//  orderLinkQualityColumns holds the columns for table order_link_quality.
+var orderLinkQualityColumns = OrderLinkQualityColumns{
+	LinkQualityId: "link_quality_id",  
+            OrderId:       "order_id",         
+            PostLink:      "post_link",        
+            PhotoLink:     "photo_link",       
+            AuditStatus:   "audit_status",     
+            AuditOpinion:  "audit_opinion",    
+            CreatedAt:     "created_at",       
+            ConfirmTime:   "confirm_time",
+}
+
+// NewOrderLinkQualityDao creates and returns a new DAO object for table data access.
+func NewOrderLinkQualityDao() *OrderLinkQualityDao {
+	return &OrderLinkQualityDao{
+		Group:   "default",
+		Table:   "order_link_quality",
+		Columns: orderLinkQualityColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderLinkQualityDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderLinkQualityDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderLinkQualityDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 71 - 0
app/dao/internal/order_status_record.go

@@ -0,0 +1,71 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// OrderStatusRecordDao is the manager for logic model data accessing and custom defined data operations functions management.
+type OrderStatusRecordDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns OrderStatusRecordColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// OrderStatusRecordColumns defines and stores column names for table order_status_record.
+type OrderStatusRecordColumns struct {
+	OrderStatusId  string // 订单状态记录表id            
+    OrderId        string // 对应订单的id                
+    AlterBefore    string // 修改订单前状态              
+    AlterAfter     string // 修改订单后状态              
+    RoleTag        string // 身份标记 1后台管理员 2达人  
+    RecordId       string // 操作员工账号                
+    RecordName     string // 操作员工姓名                
+    CreatedAt      string // 创建时间
+}
+
+//  orderStatusRecordColumns holds the columns for table order_status_record.
+var orderStatusRecordColumns = OrderStatusRecordColumns{
+	OrderStatusId: "order_status_id",  
+            OrderId:       "order_id",         
+            AlterBefore:   "alter_before",     
+            AlterAfter:    "alter_after",      
+            RoleTag:       "role_tag",         
+            RecordId:      "record_id",        
+            RecordName:    "record_name",      
+            CreatedAt:     "created_at",
+}
+
+// NewOrderStatusRecordDao creates and returns a new DAO object for table data access.
+func NewOrderStatusRecordDao() *OrderStatusRecordDao {
+	return &OrderStatusRecordDao{
+		Group:   "default",
+		Table:   "order_status_record",
+		Columns: orderStatusRecordColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *OrderStatusRecordDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *OrderStatusRecordDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *OrderStatusRecordDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 95 - 0
app/dao/internal/platform_bilibili_account_info.go

@@ -0,0 +1,95 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformBilibiliAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformBilibiliAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformBilibiliAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformBilibiliAccountInfoColumns defines and stores column names for table platform_bilibili_account_info.
+type PlatformBilibiliAccountInfoColumns struct {
+	BilibiliId          string //                                                    
+    TalentId            string // 达人账号id(talent_info表id值)                      
+    PlatformId          string // 平台id,与third_platform_info中的id相同            
+    PlatformName        string // 平台名称(冗余)                                     
+    PlatformIconUrl     string // 平台icon的url(冗余)                                
+    PlatformAccountId   string // 在平台上的账号                                     
+    PlatformNickname    string // 在平台上的昵称                                     
+    HomePageUrl         string // 主页链接                                           
+    FansCount           string // 粉丝数                                             
+    GotLikeCount        string // 点赞数                                             
+    SkilledAt           string // 擅长领域(info_tallent_skilled_area表中的id的数组)  
+    IsAppearInVideo     string // 是否出镜                                           
+    HomePageCaptureUrl  string // 主页截图链接                                       
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)              
+    SubmitDate          string // 提交时间                                           
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)                 
+    ExamineDate         string // 审核日期                                           
+    ExamineFailReason   string // 审核失败原因                                       
+    UpdatedAt           string // 更新时间                                           
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformBilibiliAccountInfoColumns holds the columns for table platform_bilibili_account_info.
+var platformBilibiliAccountInfoColumns = PlatformBilibiliAccountInfoColumns{
+	BilibiliId:         "bilibili_id",            
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            GotLikeCount:       "got_like_count",         
+            SkilledAt:          "skilled_at",             
+            IsAppearInVideo:    "is_appear_in_video",     
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformBilibiliAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformBilibiliAccountInfoDao() *PlatformBilibiliAccountInfoDao {
+	return &PlatformBilibiliAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_bilibili_account_info",
+		Columns: platformBilibiliAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformBilibiliAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformBilibiliAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformBilibiliAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 97 - 0
app/dao/internal/platform_dianping_account_info.go

@@ -0,0 +1,97 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformDianpingAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformDianpingAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformDianpingAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformDianpingAccountInfoColumns defines and stores column names for table platform_dianping_account_info.
+type PlatformDianpingAccountInfoColumns struct {
+	DianpingId          string //                                          
+    TalentId            string // 达人账号id(talent_info表id值)            
+    PlatformId          string // 平台id,与third_platform_info中的id相同  
+    PlatformName        string // 平台名称(冗余)                           
+    PlatformIconUrl     string // 平台icon的url(冗余)                      
+    PlatformAccountId   string // 在平台上的账号                           
+    PlatformNickname    string // 在平台上的昵称                           
+    HomePageUrl         string // 主页链接                                 
+    FansCount           string // 粉丝数                                   
+    GotLikeCount        string // 点赞数                                   
+    MembershipLevel     string // 会员等级                                 
+    IsAppearInVideo     string // 是否出镜                                 
+    HomePageCaptureUrl  string // 主页截图图片url                          
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)    
+    ExamineStatus       string // 审核状态 1待审核 2审核通过 3审核失败     
+    SubmitDate          string // 提交时间                                 
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)       
+    ExamineDate         string // 审核日期                                 
+    ExamineFailReason   string // 审核失败原因                             
+    UpdatedAt           string // 更新时间                                 
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformDianpingAccountInfoColumns holds the columns for table platform_dianping_account_info.
+var platformDianpingAccountInfoColumns = PlatformDianpingAccountInfoColumns{
+	DianpingId:         "dianping_id",            
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            GotLikeCount:       "got_like_count",         
+            MembershipLevel:    "membership_level",       
+            IsAppearInVideo:    "is_appear_in_video",     
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            ExamineStatus:      "examine_status",         
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformDianpingAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformDianpingAccountInfoDao() *PlatformDianpingAccountInfoDao {
+	return &PlatformDianpingAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_dianping_account_info",
+		Columns: platformDianpingAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformDianpingAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformDianpingAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformDianpingAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 99 - 0
app/dao/internal/platform_kuaishou_account_info.go

@@ -0,0 +1,99 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformKuaishouAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformKuaishouAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformKuaishouAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformKuaishouAccountInfoColumns defines and stores column names for table platform_kuaishou_account_info.
+type PlatformKuaishouAccountInfoColumns struct {
+	KuaishouId          string //                                                    
+    TalentId            string // 达人账号id(talent_info表id值)                      
+    PlatformId          string // 平台id,与third_platform_info中的id相同            
+    PlatformName        string // 平台名称(冗余)                                     
+    PlatformIconUrl     string // 平台icon的url(冗余)                                
+    PlatformAccountId   string // 在平台上的账号                                     
+    PlatformNickname    string // 在平台上的昵称                                     
+    HomePageUrl         string // 主页链接                                           
+    FansCount           string // 粉丝数                                             
+    CompositionCount    string // 作品数量                                           
+    SkilledAt           string // 擅长领域(info_tallent_skilled_area表中的id的数组)  
+    IsSupportLive       string // 是否支持直播                                       
+    IsOpenCart          string // 是否开通购物车                                     
+    IsAppearInVideo     string // 是否出镜                                           
+    HomePageCaptureUrl  string // 主页截图图片url                                    
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)              
+    SubmitDate          string // 提交时间                                           
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)                 
+    ExamineDate         string // 审核日期                                           
+    ExamineFailReason   string // 审核失败原因                                       
+    UpdatedAt           string // 更新时间                                           
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformKuaishouAccountInfoColumns holds the columns for table platform_kuaishou_account_info.
+var platformKuaishouAccountInfoColumns = PlatformKuaishouAccountInfoColumns{
+	KuaishouId:         "kuaishou_id",            
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            CompositionCount:   "composition_count",      
+            SkilledAt:          "skilled_at",             
+            IsSupportLive:      "is_support_live",        
+            IsOpenCart:         "is_open_cart",           
+            IsAppearInVideo:    "is_appear_in_video",     
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformKuaishouAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformKuaishouAccountInfoDao() *PlatformKuaishouAccountInfoDao {
+	return &PlatformKuaishouAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_kuaishou_account_info",
+		Columns: platformKuaishouAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformKuaishouAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformKuaishouAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformKuaishouAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 103 - 0
app/dao/internal/platform_little_red_book_account_info.go

@@ -0,0 +1,103 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformLittleRedBookAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformLittleRedBookAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformLittleRedBookAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformLittleRedBookAccountInfoColumns defines and stores column names for table platform_little_red_book_account_info.
+type PlatformLittleRedBookAccountInfoColumns struct {
+	RedBookId           string //                                                                                                                                                                                                                
+    TalentId            string // 达人账号id(talent_info表id值)                                                                                                                                                                                  
+    PlatformId          string // 平台id,与third_platform_info中的id相同                                                                                                                                                                        
+    PlatformName        string // 平台名称(冗余)                                                                                                                                                                                                 
+    PlatformIconUrl     string // 平台icon的url(冗余)                                                                                                                                                                                            
+    PlatformAccountId   string // 在平台上的账号                                                                                                                                                                                                 
+    PlatformNickname    string // 在平台上的昵称                                                                                                                                                                                                 
+    HomePageUrl         string // 主页链接                                                                                                                                                                                                       
+    FansCount           string // 粉丝数                                                                                                                                                                                                         
+    GotLikeCount        string // (点)赞(收)藏数                                                                                                                                                                                                 
+    NoteCount           string // 笔记总量                                                                                                                                                                                                       
+    IsSupportReporting  string // 是否支持报备                                                                                                                                                                                                   
+    IsSupportLive       string // 是否支持直播                                                                                                                                                                                                   
+    CanMakeVideo        string // 是否可以制作视频                                                                                                                                                                                               
+    IsAppearInVideo     string // 是否出镜                                                                                                                                                                                                       
+    SkilledAt           string // 擅长领域(info_tallent_skilled_area表中的id的数组)  {0,不限。1,母婴。2,美妆护肤。3,时尚穿搭。4,旅游。5,美食。6,数码科技。7,健康养生。8,情感。9,宠物。10,运动健身。11,家居生活。12,搞笑。13,音乐  }  
+    HomePageCaptureUrl  string // 主页截图链接                                                                                                                                                                                                   
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)                                                                                                                                                                          
+    SubmitDate          string // 提交时间                                                                                                                                                                                                       
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)                                                                                                                                                                             
+    ExamineDate         string // 审核日期                                                                                                                                                                                                       
+    ExamineFailReason   string // 审核失败原因                                                                                                                                                                                                   
+    UpdatedAt           string // 更新时间                                                                                                                                                                                                       
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformLittleRedBookAccountInfoColumns holds the columns for table platform_little_red_book_account_info.
+var platformLittleRedBookAccountInfoColumns = PlatformLittleRedBookAccountInfoColumns{
+	RedBookId:          "red_book_id",            
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            GotLikeCount:       "got_like_count",         
+            NoteCount:          "note_count",             
+            IsSupportReporting: "is_support_reporting",   
+            IsSupportLive:      "is_support_live",        
+            CanMakeVideo:       "can_make_video",         
+            IsAppearInVideo:    "is_appear_in_video",     
+            SkilledAt:          "skilled_at",             
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformLittleRedBookAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformLittleRedBookAccountInfoDao() *PlatformLittleRedBookAccountInfoDao {
+	return &PlatformLittleRedBookAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_little_red_book_account_info",
+		Columns: platformLittleRedBookAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformLittleRedBookAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformLittleRedBookAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformLittleRedBookAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 105 - 0
app/dao/internal/platform_tiktok_account_info.go

@@ -0,0 +1,105 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformTiktokAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformTiktokAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformTiktokAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformTiktokAccountInfoColumns defines and stores column names for table platform_tiktok_account_info.
+type PlatformTiktokAccountInfoColumns struct {
+	TiktokId            string //                                                    
+    TalentId            string // 达人账号id(talent_info表id值)                      
+    PlatformId          string // 平台id,与third_platform_info中的id相同            
+    PlatformName        string // 平台名称(冗余)                                     
+    PlatformIconUrl     string // 平台icon的url(冗余)                                
+    PlatformAccountId   string // 在平台上的账号                                     
+    PlatformNickname    string // 在平台上的昵称                                     
+    HomePageUrl         string // 主页链接                                           
+    FansCount           string // 粉丝数                                             
+    GotLikeCount        string // 点赞数                                             
+    CompositionCount    string // 作品数量                                           
+    TiktokUid           string // 抖音uid                                            
+    IsSupportReporting  string // 是否支持报备                                       
+    IsSupportLive       string // 是否支持直播                                       
+    IsOpenShowcase      string // 是否开通商品橱窗                                   
+    IsAppearInVideo     string // 是否出镜                                           
+    SkilledAt           string // 擅长领域(info_tallent_skilled_area表中的id的数组)  
+    HomePageCaptureUrl  string // 主页截图图片链接                                   
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)              
+    SubmitDate          string // 提交时间                                           
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)                 
+    ExamineDate         string // 审核日期                                           
+    ExamineFailReason   string // 审核失败原因                                       
+    UpdatedAt           string // 更新时间                                           
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformTiktokAccountInfoColumns holds the columns for table platform_tiktok_account_info.
+var platformTiktokAccountInfoColumns = PlatformTiktokAccountInfoColumns{
+	TiktokId:           "tiktok_id",              
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            GotLikeCount:       "got_like_count",         
+            CompositionCount:   "composition_count",      
+            TiktokUid:          "tiktok_uid",             
+            IsSupportReporting: "is_support_reporting",   
+            IsSupportLive:      "is_support_live",        
+            IsOpenShowcase:     "is_open_showcase",       
+            IsAppearInVideo:    "is_appear_in_video",     
+            SkilledAt:          "skilled_at",             
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformTiktokAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformTiktokAccountInfoDao() *PlatformTiktokAccountInfoDao {
+	return &PlatformTiktokAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_tiktok_account_info",
+		Columns: platformTiktokAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformTiktokAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformTiktokAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformTiktokAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 101 - 0
app/dao/internal/platform_weibo_account_info.go

@@ -0,0 +1,101 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformWeiboAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformWeiboAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformWeiboAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformWeiboAccountInfoColumns defines and stores column names for table platform_weibo_account_info.
+type PlatformWeiboAccountInfoColumns struct {
+	WeiboId             string //                                                    
+    TalentId            string // 达人账号id(talent_info表id值)                      
+    PlatformId          string // 平台id,与third_platform_info中的id相同            
+    PlatformName        string // 平台名称(冗余)                                     
+    PlatformIconUrl     string // 平台icon的url(冗余)                                
+    PlatformAccountId   string // 在平台上的账号                                     
+    PlatformNickname    string // 在平台上的昵称                                     
+    HomePageUrl         string // 主页链接                                           
+    FansCount           string // 粉丝数                                             
+    WeiboTotalNum       string // 微博总量                                           
+    IsSupportReporting  string // 是否支持报备                                       
+    IsSupportLive       string // 是否支持直播                                       
+    CanMakeVideo        string // 是否可以制作视频                                   
+    IsAppearInVideo     string // 是否出镜                                           
+    SkilledAt           string // 擅长领域(info_tallent_skilled_area表中的id的数组)  
+    HomePageCaptureUrl  string // 主页截图链接                                       
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)              
+    SubmitDate          string // 提交时间                                           
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)                 
+    ExamineDate         string // 审核日期                                           
+    ExamineFailReason   string // 审核失败原因                                       
+    UpdatedAt           string // 更新时间                                           
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformWeiboAccountInfoColumns holds the columns for table platform_weibo_account_info.
+var platformWeiboAccountInfoColumns = PlatformWeiboAccountInfoColumns{
+	WeiboId:            "weibo_id",               
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            WeiboTotalNum:      "weibo_total_num",        
+            IsSupportReporting: "is_support_reporting",   
+            IsSupportLive:      "is_support_live",        
+            CanMakeVideo:       "can_make_video",         
+            IsAppearInVideo:    "is_appear_in_video",     
+            SkilledAt:          "skilled_at",             
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformWeiboAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformWeiboAccountInfoDao() *PlatformWeiboAccountInfoDao {
+	return &PlatformWeiboAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_weibo_account_info",
+		Columns: platformWeiboAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformWeiboAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformWeiboAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformWeiboAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 101 - 0
app/dao/internal/platform_zhihu_account_info.go

@@ -0,0 +1,101 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// PlatformZhihuAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type PlatformZhihuAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns PlatformZhihuAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// PlatformZhihuAccountInfoColumns defines and stores column names for table platform_zhihu_account_info.
+type PlatformZhihuAccountInfoColumns struct {
+	ZhihuId             string //                                          
+    TalentId            string // 达人账号id(talent_info表的id值)          
+    PlatformId          string // 平台id,与third_platform_info中的id相同  
+    PlatformName        string // 平台名称(冗余)                           
+    PlatformIconUrl     string // 平台icon的url(冗余)                      
+    PlatformAccountId   string // 在平台上的账号                           
+    PlatformNickname    string // 在平台上的昵称                           
+    HomePageUrl         string // 主页链接                                 
+    FansCount           string // 粉丝数                                   
+    GotAgreeCount       string // 被赞同总数                               
+    GotLikeCount        string // 被喜欢总数                               
+    GotCollectCount     string // 被收藏总数                               
+    AnswerCount         string // 回答总数                                 
+    CreativeLevel       string // 创作等级                                 
+    TotalReadPlayCount  string // 总阅读播放量                             
+    HomePageCaptureUrl  string // 主页截图                                 
+    AccountFrom         string // 账号来源(仅B端批量上传的账号需要填写)    
+    SubmitDate          string // 提交时间                                 
+    ExamineFailAdminId  string // 审核失败操作管理员id(user表中的id)       
+    ExamineDate         string // 审核日期                                 
+    ExamineFailReason   string // 审核失败原因                             
+    UpdatedAt           string // 更新时间                                 
+    ExamineSucAdminId   string // 审核成功操作管理员id(user表中的id)
+}
+
+//  platformZhihuAccountInfoColumns holds the columns for table platform_zhihu_account_info.
+var platformZhihuAccountInfoColumns = PlatformZhihuAccountInfoColumns{
+	ZhihuId:            "zhihu_id",               
+            TalentId:           "talent_id",              
+            PlatformId:         "platform_id",            
+            PlatformName:       "platform_name",          
+            PlatformIconUrl:    "platform_icon_url",      
+            PlatformAccountId:  "platform_account_id",    
+            PlatformNickname:   "platform_nickname",      
+            HomePageUrl:        "home_page_url",          
+            FansCount:          "fans_count",             
+            GotAgreeCount:      "got_agree_count",        
+            GotLikeCount:       "got_like_count",         
+            GotCollectCount:    "got_collect_count",      
+            AnswerCount:        "answer_count",           
+            CreativeLevel:      "creative_level",         
+            TotalReadPlayCount: "total_read_play_count",  
+            HomePageCaptureUrl: "home_page_capture_url",  
+            AccountFrom:        "account_from",           
+            SubmitDate:         "submit_date",            
+            ExamineFailAdminId: "examine_fail_admin_id",  
+            ExamineDate:        "examine_date",           
+            ExamineFailReason:  "examine_fail_reason",    
+            UpdatedAt:          "updated_at",             
+            ExamineSucAdminId:  "examine_suc_admin_id",
+}
+
+// NewPlatformZhihuAccountInfoDao creates and returns a new DAO object for table data access.
+func NewPlatformZhihuAccountInfoDao() *PlatformZhihuAccountInfoDao {
+	return &PlatformZhihuAccountInfoDao{
+		Group:   "default",
+		Table:   "platform_zhihu_account_info",
+		Columns: platformZhihuAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *PlatformZhihuAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *PlatformZhihuAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *PlatformZhihuAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 75 - 0
app/dao/internal/product.go

@@ -0,0 +1,75 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// ProductDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ProductDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns ProductColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ProductColumns defines and stores column names for table product.
+type ProductColumns struct {
+	ProductId             string //                                         
+    ProductName           string // 商品名称                                
+    ProductType           string // 商品类型 1:实物 ,2:商品,3:线下     
+    ProductClassify       string // 商品分类id(info_product_classifyh表id)  
+    ProductPrice          string // 商品价格                                
+    ProductSpecification  string // 商品规格                                
+    CreatedAt             string // 创建时间                                
+    CreatPeople           string // 创建人                                  
+    UpdatedAt             string // 更新时间                                
+    UpdatePeople          string // 更新人
+}
+
+//  productColumns holds the columns for table product.
+var productColumns = ProductColumns{
+	ProductId:            "product_id",             
+            ProductName:          "product_name",           
+            ProductType:          "product_type",           
+            ProductClassify:      "product_classify",       
+            ProductPrice:         "product_price",          
+            ProductSpecification: "product_specification",  
+            CreatedAt:            "created_at",             
+            CreatPeople:          "creat_people",           
+            UpdatedAt:            "updated_at",             
+            UpdatePeople:         "update_people",
+}
+
+// NewProductDao creates and returns a new DAO object for table data access.
+func NewProductDao() *ProductDao {
+	return &ProductDao{
+		Group:   "default",
+		Table:   "product",
+		Columns: productColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ProductDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *ProductDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *ProductDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 71 - 0
app/dao/internal/product_photo.go

@@ -0,0 +1,71 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// ProductPhotoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ProductPhotoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns ProductPhotoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ProductPhotoColumns defines and stores column names for table product_photo.
+type ProductPhotoColumns struct {
+	ProductPhotoId  string // 商品链接图主键id                                    
+    ProductId       string // 商品表id                                            
+    Symbol          string // 图片是主图还是详情图标志位 1主图 2轮播图 3,详情图  
+    PhotoUrl        string // 商品图片链接                                        
+    CreatedAt       string // 创建时间                                            
+    CreatPeople     string // 创建人                                              
+    UpdatedAt       string // 更新时间                                            
+    UpdatePeople    string // 更新人
+}
+
+//  productPhotoColumns holds the columns for table product_photo.
+var productPhotoColumns = ProductPhotoColumns{
+	ProductPhotoId: "product_photo_id",  
+            ProductId:      "product_id",        
+            Symbol:         "symbol",            
+            PhotoUrl:       "photo_url",         
+            CreatedAt:      "created_at",        
+            CreatPeople:    "creat_people",      
+            UpdatedAt:      "updated_at",        
+            UpdatePeople:   "update_people",
+}
+
+// NewProductPhotoDao creates and returns a new DAO object for table data access.
+func NewProductPhotoDao() *ProductPhotoDao {
+	return &ProductPhotoDao{
+		Group:   "default",
+		Table:   "product_photo",
+		Columns: productPhotoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ProductPhotoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *ProductPhotoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *ProductPhotoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 63 - 0
app/dao/internal/r_order_compelete_stage_to_type.go

@@ -0,0 +1,63 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// ROrderCompeleteStageToTypeDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ROrderCompeleteStageToTypeDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns ROrderCompeleteStageToTypeColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ROrderCompeleteStageToTypeColumns defines and stores column names for table r_order_compelete_stage_to_type.
+type ROrderCompeleteStageToTypeColumns struct {
+	RId                  string //                                                                       
+    OrderProcedureStage  string // 任务流程的阶段(对应workflow_node_container表中的procedure_stage字段)  
+    OrderProcedureStep   string // 任务流程的步骤(对应workflow_node_container表中的step_in_stage字段)    
+    CompleteType         string // 任务步骤如果存在结束任务的可能,则这里是对应的结束任务的方式
+}
+
+//  rOrderCompeleteStageToTypeColumns holds the columns for table r_order_compelete_stage_to_type.
+var rOrderCompeleteStageToTypeColumns = ROrderCompeleteStageToTypeColumns{
+	RId:                 "r_id",                   
+            OrderProcedureStage: "order_procedure_stage",  
+            OrderProcedureStep:  "order_procedure_step",   
+            CompleteType:        "complete_type",
+}
+
+// NewROrderCompeleteStageToTypeDao creates and returns a new DAO object for table data access.
+func NewROrderCompeleteStageToTypeDao() *ROrderCompeleteStageToTypeDao {
+	return &ROrderCompeleteStageToTypeDao{
+		Group:   "default",
+		Table:   "r_order_compelete_stage_to_type",
+		Columns: rOrderCompeleteStageToTypeColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ROrderCompeleteStageToTypeDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *ROrderCompeleteStageToTypeDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *ROrderCompeleteStageToTypeDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 85 - 0
app/dao/internal/r_talent_platform_table.go

@@ -0,0 +1,85 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// RTalentPlatformTableDao is the manager for logic model data accessing and custom defined data operations functions management.
+type RTalentPlatformTableDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns RTalentPlatformTableColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// RTalentPlatformTableColumns defines and stores column names for table r_talent_platform_table.
+type RTalentPlatformTableColumns struct {
+	RtId            string // 审核表的主键ID                        
+    Tid             string // 达人id(talent_info表中的id)           
+    PId             string // 平台id(info_third_platform表中的id)   
+    PName           string // 平台名称                              
+    PNickname       string // 账号所在平台昵称                      
+    PAccountId      string // 平台对应的ID(达人在所在平台的ID)    
+    FansCount       string // 达人在平台的粉丝数量                  
+    HomePageUrl     string // 达人的主页链接                        
+    ExamineState    string // 审核状态 1待审核 2审核通过 3审核驳回  
+    FailReason      string // 审核驳回原因                          
+    ExamineAdminId  string // 审核操作管理员id                      
+    CreateDate      string // 创建时间                              
+    ExamineDate     string // 审核时间                              
+    DisableDate     string // 下架时间                              
+    Deleted         string // 是否逻辑删除 0否 1是
+}
+
+//  rTalentPlatformTableColumns holds the columns for table r_talent_platform_table.
+var rTalentPlatformTableColumns = RTalentPlatformTableColumns{
+	RtId:           "rt_id",             
+            Tid:            "tid",               
+            PId:            "p_id",              
+            PName:          "p_name",            
+            PNickname:      "p_nickname",        
+            PAccountId:     "p_account_id",      
+            FansCount:      "fans_count",        
+            HomePageUrl:    "home_page_url",     
+            ExamineState:   "examine_state",     
+            FailReason:     "fail_reason",       
+            ExamineAdminId: "examine_admin_id",  
+            CreateDate:     "create_date",       
+            ExamineDate:    "examine_date",      
+            DisableDate:    "disable_date",      
+            Deleted:        "deleted",
+}
+
+// NewRTalentPlatformTableDao creates and returns a new DAO object for table data access.
+func NewRTalentPlatformTableDao() *RTalentPlatformTableDao {
+	return &RTalentPlatformTableDao{
+		Group:   "default",
+		Table:   "r_talent_platform_table",
+		Columns: rTalentPlatformTableColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *RTalentPlatformTableDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *RTalentPlatformTableDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *RTalentPlatformTableDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/talent_delivery_address.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TalentDeliveryAddressDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TalentDeliveryAddressDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TalentDeliveryAddressColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TalentDeliveryAddressColumns defines and stores column names for table talent_delivery_address.
+type TalentDeliveryAddressColumns struct {
+	AddressId     string //                                             
+    RegionCode    string // 区域码,取info_region表中的self_code字段值  
+    DetailAddr    string // 详细地址                                    
+    PhoneNumber   string // 联系电话                                    
+    ReceiverName  string // 收货人名字                                  
+    DefaultTag    string // 是否默认收货地址                            
+    TalentId      string // 达人id(talent_info表中的id)
+}
+
+//  talentDeliveryAddressColumns holds the columns for table talent_delivery_address.
+var talentDeliveryAddressColumns = TalentDeliveryAddressColumns{
+	AddressId:    "address_id",     
+            RegionCode:   "region_code",    
+            DetailAddr:   "detail_addr",    
+            PhoneNumber:  "phone_number",   
+            ReceiverName: "receiver_name",  
+            DefaultTag:   "default_tag",    
+            TalentId:     "talent_id",
+}
+
+// NewTalentDeliveryAddressDao creates and returns a new DAO object for table data access.
+func NewTalentDeliveryAddressDao() *TalentDeliveryAddressDao {
+	return &TalentDeliveryAddressDao{
+		Group:   "default",
+		Table:   "talent_delivery_address",
+		Columns: talentDeliveryAddressColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TalentDeliveryAddressDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TalentDeliveryAddressDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TalentDeliveryAddressDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 93 - 0
app/dao/internal/talent_info.go

@@ -0,0 +1,93 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TalentInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TalentInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TalentInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TalentInfoColumns defines and stores column names for table talent_info.
+type TalentInfoColumns struct {
+	Id                 string //                                           
+    TalentWxOpenid     string // 达人的微信openid                          
+    TalentWxNickname   string // 达人的微信昵称                            
+    TalentWxNumber     string // 达人微信号                                
+    TalentGender       string // 性别,0未知 1男 2女                       
+    TalentPhoneNumber  string // 电话号码                                  
+    TalentAgeBracket   string // 年龄段,取tallent_age_bracket表id         
+    TalentSkinType     string // 肤质,取tallent_skin_type表的id           
+    TalentNationality  string // 国籍,取tallent_nationality表id           
+    VisitStoreRegion   string // 探店区域,取region_info表中的self_code    
+    ApprovalStatus     string // 审核状态 0提交未审核 1审核通过 2审核失败  
+    ApprovalDate       string // 审核时间                                  
+    Enabled            string // 是否上架(激活)                            
+    EnabledDate        string // 上架(激活)时间                            
+    InBlacklist        string // 是否加入黑名单 0否 1是                    
+    CreateDate         string // 创建时间                                  
+    LastLoginDate      string // 最后登录时间                              
+    AliName            string // 支付宝姓名                                
+    AliAccount         string // 支付宝账号
+}
+
+//  talentInfoColumns holds the columns for table talent_info.
+var talentInfoColumns = TalentInfoColumns{
+	Id:                "id",                   
+            TalentWxOpenid:    "talent_wx_openid",     
+            TalentWxNickname:  "talent_wx_nickname",   
+            TalentWxNumber:    "talent_wx_number",     
+            TalentGender:      "talent_gender",        
+            TalentPhoneNumber: "talent_phone_number",  
+            TalentAgeBracket:  "talent_age_bracket",   
+            TalentSkinType:    "talent_skin_type",     
+            TalentNationality: "talent_nationality",   
+            VisitStoreRegion:  "visit_store_region",   
+            ApprovalStatus:    "approval_status",      
+            ApprovalDate:      "approval_date",        
+            Enabled:           "enabled",              
+            EnabledDate:       "enabled_date",         
+            InBlacklist:       "in_blacklist",         
+            CreateDate:        "create_date",          
+            LastLoginDate:     "last_login_date",      
+            AliName:           "ali_name",             
+            AliAccount:        "ali_account",
+}
+
+// NewTalentInfoDao creates and returns a new DAO object for table data access.
+func NewTalentInfoDao() *TalentInfoDao {
+	return &TalentInfoDao{
+		Group:   "default",
+		Table:   "talent_info",
+		Columns: talentInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TalentInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TalentInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TalentInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 65 - 0
app/dao/internal/talent_pay_account_info.go

@@ -0,0 +1,65 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TalentPayAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TalentPayAccountInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TalentPayAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TalentPayAccountInfoColumns defines and stores column names for table talent_pay_account_info.
+type TalentPayAccountInfoColumns struct {
+	Id           string //                              
+    PayPlatform  string // 支付平台,如支付宝           
+    PayAccount   string // 支付账户                     
+    AccountName  string // 账户姓名                     
+    TalentId     string // 达人id(talent_info表中的id)
+}
+
+//  talentPayAccountInfoColumns holds the columns for table talent_pay_account_info.
+var talentPayAccountInfoColumns = TalentPayAccountInfoColumns{
+	Id:          "id",            
+            PayPlatform: "pay_platform",  
+            PayAccount:  "pay_account",   
+            AccountName: "account_name",  
+            TalentId:    "talent_id",
+}
+
+// NewTalentPayAccountInfoDao creates and returns a new DAO object for table data access.
+func NewTalentPayAccountInfoDao() *TalentPayAccountInfoDao {
+	return &TalentPayAccountInfoDao{
+		Group:   "default",
+		Table:   "talent_pay_account_info",
+		Columns: talentPayAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TalentPayAccountInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TalentPayAccountInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TalentPayAccountInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 89 - 0
app/dao/internal/task_base_info.go

@@ -0,0 +1,89 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskBaseInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskBaseInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskBaseInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskBaseInfoColumns defines and stores column names for table task_base_info.
+type TaskBaseInfoColumns struct {
+	TaskId          string // 任务基础信息id                                                                                                                                                                       
+    TaskName        string // 任务名称                                                                                                                                                                             
+    TaskPlatform    string // 任务平台id,取third_platform_info表id                                                                                                                                                 
+    TaskMode        string // 任务模式 1置换任务 2稿费任务 3折扣任务                                                                                                                                               
+    BusinessType    string // 业务类型 1实物 2虚拟 3线下                                                                                                                                                           
+    ContentForm     string // 内容形式 低4位为图片和视频类型,0001原创图片 0010指定图片 0100原创视频 1000指定视频 5~6位为文案类型 010000为原创文案 100000为指定文案 第7位为是否直播01000000为直播00000000为非直播  
+    OtherForm       string // 其他形式 1不限 2仅单品 3仅合辑                                                                                                                                                       
+    StartTime       string // 作品发布时间                                                                                                                                                                         
+    EndTime         string // 作品结束时间                                                                                                                                                                         
+    DeadlineTime    string // 任务报名截至日期                                                                                                                                                                     
+    TaskStatus      string // 任务状态:1待支付(待上线)  2执行中  3已结案                                                                                                                                        
+    TaskCreateFlag  string // 创建任务时提交状态                                                                                                                                                                   
+    BrandId         string // 品牌id                                                                                                                                                                               
+    ProductId       string // 任务商品id                                                                                                                                                                           
+    CreatedAt       string // 创建时间                                                                                                                                                                             
+    OnlineTime      string // 上线时间                                                                                                                                                                             
+    BrandName       string // 品牌名称
+}
+
+//  taskBaseInfoColumns holds the columns for table task_base_info.
+var taskBaseInfoColumns = TaskBaseInfoColumns{
+	TaskId:         "task_id",           
+            TaskName:       "task_name",         
+            TaskPlatform:   "task_platform",     
+            TaskMode:       "task_mode",         
+            BusinessType:   "business_type",     
+            ContentForm:    "content_form",      
+            OtherForm:      "other_form",        
+            StartTime:      "start_time",        
+            EndTime:        "end_time",          
+            DeadlineTime:   "deadline_time",     
+            TaskStatus:     "task_status",       
+            TaskCreateFlag: "task_create_flag",  
+            BrandId:        "brand_id",          
+            ProductId:      "product_id",        
+            CreatedAt:      "created_at",        
+            OnlineTime:     "online_time",       
+            BrandName:      "brand_name",
+}
+
+// NewTaskBaseInfoDao creates and returns a new DAO object for table data access.
+func NewTaskBaseInfoDao() *TaskBaseInfoDao {
+	return &TaskBaseInfoDao{
+		Group:   "default",
+		Table:   "task_base_info",
+		Columns: taskBaseInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskBaseInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskBaseInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskBaseInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 77 - 0
app/dao/internal/task_perform_help_info.go

@@ -0,0 +1,77 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskPerformHelpInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskPerformHelpInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskPerformHelpInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskPerformHelpInfoColumns defines and stores column names for table task_perform_help_info.
+type TaskPerformHelpInfoColumns struct {
+	TphId                string //                       
+    TaskBaseId           string // 关联的任务基本信息id  
+    BrandKeyword         string // 品牌关键词            
+    ProductMerits        string // 产品亮点              
+    AppendTopic          string // 添加话题              
+    CaptureRequirement   string // 拍摄要求              
+    RemainDays           string // 保留时长(天)          
+    OtherPerformRequire  string // 其他执行要求          
+    CaptureReference     string // 拍摄参考              
+    CustomServiceQrcode  string // 客服二维码url         
+    BriefList            string // brief图片urls
+}
+
+//  taskPerformHelpInfoColumns holds the columns for table task_perform_help_info.
+var taskPerformHelpInfoColumns = TaskPerformHelpInfoColumns{
+	TphId:               "tph_id",                 
+            TaskBaseId:          "task_base_id",           
+            BrandKeyword:        "brand_keyword",          
+            ProductMerits:       "product_merits",         
+            AppendTopic:         "append_topic",           
+            CaptureRequirement:  "capture_requirement",    
+            RemainDays:          "remain_days",            
+            OtherPerformRequire: "other_perform_require",  
+            CaptureReference:    "capture_reference",      
+            CustomServiceQrcode: "custom_service_qrcode",  
+            BriefList:           "brief_list",
+}
+
+// NewTaskPerformHelpInfoDao creates and returns a new DAO object for table data access.
+func NewTaskPerformHelpInfoDao() *TaskPerformHelpInfoDao {
+	return &TaskPerformHelpInfoDao{
+		Group:   "default",
+		Table:   "task_perform_help_info",
+		Columns: taskPerformHelpInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskPerformHelpInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskPerformHelpInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskPerformHelpInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 67 - 0
app/dao/internal/task_procedure_article_info.go

@@ -0,0 +1,67 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskProcedureArticleInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskProcedureArticleInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskProcedureArticleInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskProcedureArticleInfoColumns defines and stores column names for table task_procedure_article_info.
+type TaskProcedureArticleInfoColumns struct {
+	TpaId             string //                                     
+    TaskBaseId        string // 任务id(对应task_base_info表id字段)  
+    UploadLimitDay    string // 上传作品天数限制                    
+    UploadReduceRate  string // 上传作品超时扣费比率(*100)          
+    ReviseLimitDay    string // 作品修改天数限制                    
+    ReviseReduceRate  string // 作品修改超时扣费比率(*100)
+}
+
+//  taskProcedureArticleInfoColumns holds the columns for table task_procedure_article_info.
+var taskProcedureArticleInfoColumns = TaskProcedureArticleInfoColumns{
+	TpaId:            "tpa_id",              
+            TaskBaseId:       "task_base_id",        
+            UploadLimitDay:   "upload_limit_day",    
+            UploadReduceRate: "upload_reduce_rate",  
+            ReviseLimitDay:   "revise_limit_day",    
+            ReviseReduceRate: "revise_reduce_rate",
+}
+
+// NewTaskProcedureArticleInfoDao creates and returns a new DAO object for table data access.
+func NewTaskProcedureArticleInfoDao() *TaskProcedureArticleInfoDao {
+	return &TaskProcedureArticleInfoDao{
+		Group:   "default",
+		Table:   "task_procedure_article_info",
+		Columns: taskProcedureArticleInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskProcedureArticleInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskProcedureArticleInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskProcedureArticleInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/task_procedure_buy_samples_info.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskProcedureBuySamplesInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskProcedureBuySamplesInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskProcedureBuySamplesInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskProcedureBuySamplesInfoColumns defines and stores column names for table task_procedure_buy_samples_info.
+type TaskProcedureBuySamplesInfoColumns struct {
+	TpbId             string //                                     
+    TaskBaseId        string // 任务id(对应task_base_info表id字段)  
+    PlatformName      string // 平台对应的名称                      
+    BuySamplesCost    string // 拍单费用                            
+    BuySamplesRefund  string // 拍单退费                            
+    BuySamplesUrl     string // 拍单链接                            
+    SyncLogistics     string // 是否同步物流信息 0不同步 1同步
+}
+
+//  taskProcedureBuySamplesInfoColumns holds the columns for table task_procedure_buy_samples_info.
+var taskProcedureBuySamplesInfoColumns = TaskProcedureBuySamplesInfoColumns{
+	TpbId:            "tpb_id",              
+            TaskBaseId:       "task_base_id",        
+            PlatformName:     "platform_name",       
+            BuySamplesCost:   "buy_samples_cost",    
+            BuySamplesRefund: "buy_samples_refund",  
+            BuySamplesUrl:    "buy_samples_url",     
+            SyncLogistics:    "sync_logistics",
+}
+
+// NewTaskProcedureBuySamplesInfoDao creates and returns a new DAO object for table data access.
+func NewTaskProcedureBuySamplesInfoDao() *TaskProcedureBuySamplesInfoDao {
+	return &TaskProcedureBuySamplesInfoDao{
+		Group:   "default",
+		Table:   "task_procedure_buy_samples_info",
+		Columns: taskProcedureBuySamplesInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskProcedureBuySamplesInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskProcedureBuySamplesInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskProcedureBuySamplesInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 93 - 0
app/dao/internal/task_procedure_decision_condition.go

@@ -0,0 +1,93 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskProcedureDecisionConditionDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskProcedureDecisionConditionDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskProcedureDecisionConditionColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskProcedureDecisionConditionColumns defines and stores column names for table task_procedure_decision_condition.
+type TaskProcedureDecisionConditionColumns struct {
+	TpdId               string //                                                                             
+    TaskBaseId          string // 任务id(对应task_base_info表id字段)                                          
+    BuySamplesType      string // 拍单方式 1样叽拍单 2,不拍单                                                
+    BuySamplesStage     string // 拍单对应的工作流步骤stage(workflow_node_template表procedure_stage字段)      
+    ExamineDraft        string // 是否需要审核初稿 0不审核 1审核                                              
+    ExamineDraftStage   string // 审核初稿对应的工作流步骤stage(workflow_node_template表procedure_stage字段)  
+    ReviewArticle       string // 是否需要审核作品 0不审核 1审核                                              
+    ReviewArticleStage  string // 审核作品对应的工作流步骤stage(workflow_node_template表procedure_stage字段)  
+    IsTestQulity        string // 是否质检目前不可选,值固定为1                                               
+    QuilityTestStage    string // 质检对应的工作流步骤stage(workflow_node_template表procedure_stage字段)      
+    IsTestData          string // 是否进行数据检测,目前不可选,值固定为1                                     
+    DataTestStage       string // 数据质检对应的工作流步骤stage(workflow_node_template表procedure_stage字段)  
+    ReturnSamples       string // 是否返还样品 0不返还 1返还                                                  
+    ReturnSamplesStage  string // 返还样品对应的工作流步骤stage(workflow_node_template表procedure_stage字段)  
+    IsAddTaskFinish     string // 是否添加任务完成步骤,目前固定为1                                           
+    TaskFisnishStage    string // 任务完成对应的工作流步骤stage(workflow_node_template表procedure_stage字段)  
+    BuySamplesCost      string // 拍单费用                                                                    
+    SyncLogistics       string // 是否同步物流信息 1不同步 2同步                                              
+    BuySamplesRefund    string // 拍单退费
+}
+
+//  taskProcedureDecisionConditionColumns holds the columns for table task_procedure_decision_condition.
+var taskProcedureDecisionConditionColumns = TaskProcedureDecisionConditionColumns{
+	TpdId:              "tpd_id",                
+            TaskBaseId:         "task_base_id",          
+            BuySamplesType:     "buy_samples_type",      
+            BuySamplesStage:    "buy_samples_stage",     
+            ExamineDraft:       "examine_draft",         
+            ExamineDraftStage:  "examine_draft_stage",   
+            ReviewArticle:      "review_article",        
+            ReviewArticleStage: "review_article_stage",  
+            IsTestQulity:       "is_test_qulity",        
+            QuilityTestStage:   "quility_test_stage",    
+            IsTestData:         "is_test_data",          
+            DataTestStage:      "data_test_stage",       
+            ReturnSamples:      "return_samples",        
+            ReturnSamplesStage: "return_samples_stage",  
+            IsAddTaskFinish:    "is_add_task_finish",    
+            TaskFisnishStage:   "task_fisnish_stage",    
+            BuySamplesCost:     "buy_samples_cost",      
+            SyncLogistics:      "sync_logistics",        
+            BuySamplesRefund:   "buy_samples_refund",
+}
+
+// NewTaskProcedureDecisionConditionDao creates and returns a new DAO object for table data access.
+func NewTaskProcedureDecisionConditionDao() *TaskProcedureDecisionConditionDao {
+	return &TaskProcedureDecisionConditionDao{
+		Group:   "default",
+		Table:   "task_procedure_decision_condition",
+		Columns: taskProcedureDecisionConditionColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskProcedureDecisionConditionDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskProcedureDecisionConditionDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskProcedureDecisionConditionDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 67 - 0
app/dao/internal/task_procedure_draft_info.go

@@ -0,0 +1,67 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskProcedureDraftInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskProcedureDraftInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskProcedureDraftInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskProcedureDraftInfoColumns defines and stores column names for table task_procedure_draft_info.
+type TaskProcedureDraftInfoColumns struct {
+	TaskPdId          string //                                     
+    TaskBaseId        string // 任务id(对应task_base_info表id字段)  
+    UploadLimitDay    string // 上传初稿天数限制                    
+    UploadReduceRate  string // 上传初稿超时扣费比率(*100)          
+    ReviseLimitDay    string // 修改初稿期限天数限制                
+    ReviseReduceRate  string // 初稿超时扣费比率(*100)
+}
+
+//  taskProcedureDraftInfoColumns holds the columns for table task_procedure_draft_info.
+var taskProcedureDraftInfoColumns = TaskProcedureDraftInfoColumns{
+	TaskPdId:         "task_pd_id",          
+            TaskBaseId:       "task_base_id",        
+            UploadLimitDay:   "upload_limit_day",    
+            UploadReduceRate: "upload_reduce_rate",  
+            ReviseLimitDay:   "revise_limit_day",    
+            ReviseReduceRate: "revise_reduce_rate",
+}
+
+// NewTaskProcedureDraftInfoDao creates and returns a new DAO object for table data access.
+func NewTaskProcedureDraftInfoDao() *TaskProcedureDraftInfoDao {
+	return &TaskProcedureDraftInfoDao{
+		Group:   "default",
+		Table:   "task_procedure_draft_info",
+		Columns: taskProcedureDraftInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskProcedureDraftInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskProcedureDraftInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskProcedureDraftInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 79 - 0
app/dao/internal/task_procedure_quality_data_test_info.go

@@ -0,0 +1,79 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskProcedureQualityDataTestInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskProcedureQualityDataTestInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskProcedureQualityDataTestInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskProcedureQualityDataTestInfoColumns defines and stores column names for table task_procedure_quality_data_test_info.
+type TaskProcedureQualityDataTestInfoColumns struct {
+	TpqId                    string //                                     
+    TaskBaseId               string // 任务id(对应task_base_info表id字段)  
+    QualityTestUrl           string // 质检链接                            
+    QualityTestLimitDay      string // 上传质检连接天数限制                
+    QualityTestReduceRate    string // 上传质检连接超时扣费比率(*100)      
+    QualityReviseLimitDay    string // 修改质检连接天数限制                
+    QualityReviseReduseRate  string // 修改质检连接超时扣费比率(*100)      
+    DataTestUrl              string // 数据检测连接                        
+    DataTestLimitDay         string // 上传数据检测连接天数限制            
+    DataTestReduceRate       string // 上传数据检测连接超时扣费比率(*100)  
+    DataReviceLimitDay       string // 修改数据检测链接天数限制            
+    DataReviceReduceRate     string // 修改数据检测链接超时扣费比率(*100)
+}
+
+//  taskProcedureQualityDataTestInfoColumns holds the columns for table task_procedure_quality_data_test_info.
+var taskProcedureQualityDataTestInfoColumns = TaskProcedureQualityDataTestInfoColumns{
+	TpqId:                   "tpq_id",                      
+            TaskBaseId:              "task_base_id",                
+            QualityTestUrl:          "quality_test_url",            
+            QualityTestLimitDay:     "quality_test_limit_day",      
+            QualityTestReduceRate:   "quality_test_reduce_rate",    
+            QualityReviseLimitDay:   "quality_revise_limit_day",    
+            QualityReviseReduseRate: "quality_revise_reduse_rate",  
+            DataTestUrl:             "data_test_url",               
+            DataTestLimitDay:        "data_test_limit_day",         
+            DataTestReduceRate:      "data_test_reduce_rate",       
+            DataReviceLimitDay:      "data_revice_limit_day",       
+            DataReviceReduceRate:    "data_revice_reduce_rate",
+}
+
+// NewTaskProcedureQualityDataTestInfoDao creates and returns a new DAO object for table data access.
+func NewTaskProcedureQualityDataTestInfoDao() *TaskProcedureQualityDataTestInfoDao {
+	return &TaskProcedureQualityDataTestInfoDao{
+		Group:   "default",
+		Table:   "task_procedure_quality_data_test_info",
+		Columns: taskProcedureQualityDataTestInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskProcedureQualityDataTestInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskProcedureQualityDataTestInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskProcedureQualityDataTestInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/task_recruit_requirements.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskRecruitRequirementsDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskRecruitRequirementsDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskRecruitRequirementsColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskRecruitRequirementsColumns defines and stores column names for table task_recruit_requirements.
+type TaskRecruitRequirementsColumns struct {
+	TrrId             string //                                                                                                                                                                                                                  
+    TaskBaseId        string // 关联的task_base_info中的id                                                                                                                                                                                       
+    TalentSkillsOn    string // 达人擅长领域要求,info_tallent_skilled_area表中的id列表,以逗号分隔    ['不限', '母婴', '美妆护肤', '时尚穿搭', '旅游', '美食', '数码科技', '健康养生', '情感', '宠物', '运动健身', '家居生活', '搞笑', '音乐'],  
+    InteractType      string // 指定互动形式的内容                                                                                                                                                                                               
+    RegionCode        string // 地域码,info_region表中的self_code值                                                                                                                                                                              
+    Gender            string // 限制可接任务的性别,0女 1男 2不限制                                                                                                                                                                               
+    OtherRequirement  string // 其他要求
+}
+
+//  taskRecruitRequirementsColumns holds the columns for table task_recruit_requirements.
+var taskRecruitRequirementsColumns = TaskRecruitRequirementsColumns{
+	TrrId:            "trr_id",             
+            TaskBaseId:       "task_base_id",       
+            TalentSkillsOn:   "talent_skills_on",   
+            InteractType:     "interact_type",      
+            RegionCode:       "region_code",        
+            Gender:           "gender",             
+            OtherRequirement: "other_requirement",
+}
+
+// NewTaskRecruitRequirementsDao creates and returns a new DAO object for table data access.
+func NewTaskRecruitRequirementsDao() *TaskRecruitRequirementsDao {
+	return &TaskRecruitRequirementsDao{
+		Group:   "default",
+		Table:   "task_recruit_requirements",
+		Columns: taskRecruitRequirementsColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskRecruitRequirementsDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskRecruitRequirementsDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskRecruitRequirementsDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 67 - 0
app/dao/internal/task_recruit_talent_level.go

@@ -0,0 +1,67 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskRecruitTalentLevelDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskRecruitTalentLevelDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskRecruitTalentLevelColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskRecruitTalentLevelColumns defines and stores column names for table task_recruit_talent_level.
+type TaskRecruitTalentLevelColumns struct {
+	TrtId            string //                           
+    TaskBaseId       string // 关联的task_base_info的id  
+    FansCountMin     string // 最小粉丝数                
+    FansCountMax     string // 最大粉丝数                
+    NeedTalentCount  string // 任务需要的达人数量        
+    RewardRoyalties  string // 稿费金额
+}
+
+//  taskRecruitTalentLevelColumns holds the columns for table task_recruit_talent_level.
+var taskRecruitTalentLevelColumns = TaskRecruitTalentLevelColumns{
+	TrtId:           "trt_id",             
+            TaskBaseId:      "task_base_id",       
+            FansCountMin:    "fans_count_min",     
+            FansCountMax:    "fans_count_max",     
+            NeedTalentCount: "need_talent_count",  
+            RewardRoyalties: "reward_royalties",
+}
+
+// NewTaskRecruitTalentLevelDao creates and returns a new DAO object for table data access.
+func NewTaskRecruitTalentLevelDao() *TaskRecruitTalentLevelDao {
+	return &TaskRecruitTalentLevelDao{
+		Group:   "default",
+		Table:   "task_recruit_talent_level",
+		Columns: taskRecruitTalentLevelColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskRecruitTalentLevelDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskRecruitTalentLevelDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskRecruitTalentLevelDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 69 - 0
app/dao/internal/task_reward.go

@@ -0,0 +1,69 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskRewardDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskRewardDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskRewardColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskRewardColumns defines and stores column names for table task_reward.
+type TaskRewardColumns struct {
+	RewardId          string //                           
+    IsRewardGoods     string // 是否奖励实物              
+    RewardGoodsInfo   string // 实物奖励信息              
+    IsPaymentArticle  string // 是否获得稿费              
+    PaymentValue      string // 稿费金额描述              
+    OtherRewardInfo   string // 其他奖励信息              
+    TaskBaseId        string // 关联的task_base_info的id
+}
+
+//  taskRewardColumns holds the columns for table task_reward.
+var taskRewardColumns = TaskRewardColumns{
+	RewardId:         "reward_id",           
+            IsRewardGoods:    "is_reward_goods",     
+            RewardGoodsInfo:  "reward_goods_info",   
+            IsPaymentArticle: "is_payment_article",  
+            PaymentValue:     "payment_value",       
+            OtherRewardInfo:  "other_reward_info",   
+            TaskBaseId:       "task_base_id",
+}
+
+// NewTaskRewardDao creates and returns a new DAO object for table data access.
+func NewTaskRewardDao() *TaskRewardDao {
+	return &TaskRewardDao{
+		Group:   "default",
+		Table:   "task_reward",
+		Columns: taskRewardColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskRewardDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskRewardDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskRewardDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 73 - 0
app/dao/internal/task_signup_info.go

@@ -0,0 +1,73 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// TaskSignupInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type TaskSignupInfoDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns TaskSignupInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// TaskSignupInfoColumns defines and stores column names for table task_signup_info.
+type TaskSignupInfoColumns struct {
+	SignupId                string //                                                          
+    TaskId                  string // 任务id                                                   
+    TalentId                string // 达人id                                                   
+    TalentPlatformInfoSnap  string // 达人平台信息快照                                         
+    TalentPersonalInfoSnap  string // 达人个人信息快照                                         
+    TalentPostAddr          string // 收货地址                                                 
+    TaskLevelId             string // 报名选择的招募等级id(task_recruit_talent_level表中的id)  
+    Status                  string // 报名状态 1等待反选 2等待玩家确认 3反选失败               
+    CreateDate              string // 创建时间
+}
+
+//  taskSignupInfoColumns holds the columns for table task_signup_info.
+var taskSignupInfoColumns = TaskSignupInfoColumns{
+	SignupId:               "signup_id",                  
+            TaskId:                 "task_id",                    
+            TalentId:               "talent_id",                  
+            TalentPlatformInfoSnap: "talent_platform_info_snap",  
+            TalentPersonalInfoSnap: "talent_personal_info_snap",  
+            TalentPostAddr:         "talent_post_addr",           
+            TaskLevelId:            "task_level_id",              
+            Status:                 "status",                     
+            CreateDate:             "create_date",
+}
+
+// NewTaskSignupInfoDao creates and returns a new DAO object for table data access.
+func NewTaskSignupInfoDao() *TaskSignupInfoDao {
+	return &TaskSignupInfoDao{
+		Group:   "default",
+		Table:   "task_signup_info",
+		Columns: taskSignupInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *TaskSignupInfoDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *TaskSignupInfoDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *TaskSignupInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 79 - 0
app/dao/internal/user.go

@@ -0,0 +1,79 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// UserDao is the manager for logic model data accessing and custom defined data operations functions management.
+type UserDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns UserColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// UserColumns defines and stores column names for table user.
+type UserColumns struct {
+	Id             string // 用户表id                                 
+    User           string // 用户名id                                 
+    Username       string // 后台用户名                               
+    Password       string // 用户密码                                 
+    RealName       string // 真实姓名                                 
+    Role           string // 角色 1,超级管理员; 2,管理员;3,员工  
+    Phone          string // 绑定手机                                 
+    Email          string // 电子邮件                                 
+    LastLoginTime  string // 最后一次登录时间                         
+    UserState      string // 0,禁用,1,正常                         
+    CreatedAt      string // 创建时间                                 
+    UpdatedAt      string // 更新时间
+}
+
+//  userColumns holds the columns for table user.
+var userColumns = UserColumns{
+	Id:            "id",               
+            User:          "user",             
+            Username:      "username",         
+            Password:      "password",         
+            RealName:      "real_name",        
+            Role:          "role",             
+            Phone:         "phone",            
+            Email:         "email",            
+            LastLoginTime: "last_login_time",  
+            UserState:     "user_state",       
+            CreatedAt:     "created_at",       
+            UpdatedAt:     "updated_at",
+}
+
+// NewUserDao creates and returns a new DAO object for table data access.
+func NewUserDao() *UserDao {
+	return &UserDao{
+		Group:   "default",
+		Table:   "user",
+		Columns: userColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *UserDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *UserDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *UserDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 99 - 0
app/dao/internal/workflow_node_container.go

@@ -0,0 +1,99 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// WorkflowNodeContainerDao is the manager for logic model data accessing and custom defined data operations functions management.
+type WorkflowNodeContainerDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns WorkflowNodeContainerColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// WorkflowNodeContainerColumns defines and stores column names for table workflow_node_container.
+type WorkflowNodeContainerColumns struct {
+	ContainerId          string //                                                                                   
+    NodeNameFirst        string // 首次执行时的节点名,前端显示                                                      
+    NodeNameAfterSecond  string // 第二次之后执行时的节点名                                                          
+    ProcedureStage       string // 订单处理流程阶段,如:拍单阶段、初稿阶段                                          
+    StepInStage          string // 在阶段中的步骤,如提交初稿是初稿阶段的第一步                                      
+    CurExecutionTimes    string // 当前执行次数                                                                      
+    MaxExecutionTimes    string // 最大执行次数                                                                      
+    Tip                  string // 此步骤在达人端的提示                                                              
+    SucNextStep          string // 成功后在此阶段的后续步骤 0不处理 255进行后续阶段 其余数值为本阶段step_in_stage值  
+    FailNextStep         string // 失败的后续步骤,数值同上                                                          
+    State                string // 状态 1未开启 2进行中 3失败 4完成                                                  
+    FailReason           string // 失败原因                                                                          
+    StartDate            string // 开始日期                                                                          
+    CompleteDate         string // 完成日期                                                                          
+    CompleteUserName     string // 完成人名                                                                          
+    LimitDays1           string // 限制天数                                                                          
+    ReduceFeeRatio1      string // 超期扣费比率                                                                      
+    LimitDays2           string // 第二次执行限制天数(修改操作限时)                                                 
+    ReduceFeeRatio2      string // 第二次执行超期扣费率                                                              
+    OperateRoleRestrict  string // 操作角色限制 1后端 2达人                                                          
+    SortId               string // 在一个任务流程中的排序值                                                          
+    OrderId              string // 关联的订单和任务id
+}
+
+//  workflowNodeContainerColumns holds the columns for table workflow_node_container.
+var workflowNodeContainerColumns = WorkflowNodeContainerColumns{
+	ContainerId:         "container_id",            
+            NodeNameFirst:       "node_name_first",         
+            NodeNameAfterSecond: "node_name_after_second",  
+            ProcedureStage:      "procedure_stage",         
+            StepInStage:         "step_in_stage",           
+            CurExecutionTimes:   "cur_execution_times",     
+            MaxExecutionTimes:   "max_execution_times",     
+            Tip:                 "tip",                     
+            SucNextStep:         "suc_next_step",           
+            FailNextStep:        "fail_next_step",          
+            State:               "state",                   
+            FailReason:          "fail_reason",             
+            StartDate:           "start_date",              
+            CompleteDate:        "complete_date",           
+            CompleteUserName:    "complete_user_name",      
+            LimitDays1:          "limit_days_1",            
+            ReduceFeeRatio1:     "reduce_fee_ratio_1",      
+            LimitDays2:          "limit_days_2",            
+            ReduceFeeRatio2:     "reduce_fee_ratio_2",      
+            OperateRoleRestrict: "operate_role_restrict",   
+            SortId:              "sort_id",                 
+            OrderId:             "order_id",
+}
+
+// NewWorkflowNodeContainerDao creates and returns a new DAO object for table data access.
+func NewWorkflowNodeContainerDao() *WorkflowNodeContainerDao {
+	return &WorkflowNodeContainerDao{
+		Group:   "default",
+		Table:   "workflow_node_container",
+		Columns: workflowNodeContainerColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *WorkflowNodeContainerDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *WorkflowNodeContainerDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *WorkflowNodeContainerDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 97 - 0
app/dao/internal/workflow_node_template.go

@@ -0,0 +1,97 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// WorkflowNodeTemplateDao is the manager for logic model data accessing and custom defined data operations functions management.
+type WorkflowNodeTemplateDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns WorkflowNodeTemplateColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// WorkflowNodeTemplateColumns defines and stores column names for table workflow_node_template.
+type WorkflowNodeTemplateColumns struct {
+	TemplateId           string //                                                                                   
+    NodeNameFirst        string // 首次执行时的节点名,前端显示                                                      
+    NodeNameAfterSecond  string // 第二次之后执行时的节点名                                                          
+    ProcedureStage       string // 订单处理流程阶段,如:拍单阶段、初稿阶段                                          
+    StepInStage          string // 在阶段中的步骤,如提交初稿是初稿阶段的第一步                                      
+    CurExecutionTimes    string // 当前执行次数                                                                      
+    MaxExecutionTimes    string // 最大执行次数                                                                      
+    Tip                  string // 此步骤在达人端的提示                                                              
+    SucNextStep          string // 成功后在此阶段的后续步骤 0不处理 255进行后续阶段 其余数值为本阶段step_in_stage值  
+    FailNextStep         string // 失败的后续步骤,数值同上                                                          
+    State                string // 状态 1未开启 2进行中 3成功 4失败                                                  
+    FailReason           string // 失败原因                                                                          
+    StartDate            string // 开启日期                                                                          
+    CompleteDate         string // 完成日期                                                                          
+    CompleteUserName     string // 完成人名                                                                          
+    LimitDays1           string // 此状态限制天数 0不限制                                                            
+    ReduceFeeRatio1      string // 超期扣费比率                                                                      
+    LimitDays2           string // 第二次执行限制天数(修改操作限时)                                                 
+    ReduceFeeRatio2      string // 第二次执行超期扣费率                                                              
+    OperateRoleRestrict  string // 操作角色限制 1后端 2达人                                                          
+    SortId               string //
+}
+
+//  workflowNodeTemplateColumns holds the columns for table workflow_node_template.
+var workflowNodeTemplateColumns = WorkflowNodeTemplateColumns{
+	TemplateId:          "template_id",             
+            NodeNameFirst:       "node_name_first",         
+            NodeNameAfterSecond: "node_name_after_second",  
+            ProcedureStage:      "procedure_stage",         
+            StepInStage:         "step_in_stage",           
+            CurExecutionTimes:   "cur_execution_times",     
+            MaxExecutionTimes:   "max_execution_times",     
+            Tip:                 "tip",                     
+            SucNextStep:         "suc_next_step",           
+            FailNextStep:        "fail_next_step",          
+            State:               "state",                   
+            FailReason:          "fail_reason",             
+            StartDate:           "start_date",              
+            CompleteDate:        "complete_date",           
+            CompleteUserName:    "complete_user_name",      
+            LimitDays1:          "limit_days_1",            
+            ReduceFeeRatio1:     "reduce_fee_ratio_1",      
+            LimitDays2:          "limit_days_2",            
+            ReduceFeeRatio2:     "reduce_fee_ratio_2",      
+            OperateRoleRestrict: "operate_role_restrict",   
+            SortId:              "sort_id",
+}
+
+// NewWorkflowNodeTemplateDao creates and returns a new DAO object for table data access.
+func NewWorkflowNodeTemplateDao() *WorkflowNodeTemplateDao {
+	return &WorkflowNodeTemplateDao{
+		Group:   "default",
+		Table:   "workflow_node_template",
+		Columns: workflowNodeTemplateColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *WorkflowNodeTemplateDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *WorkflowNodeTemplateDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *WorkflowNodeTemplateDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 83 - 0
app/dao/internal/wx_pay_order.go

@@ -0,0 +1,83 @@
+// ==========================================================================
+// Code generated by GoFrame CLI tool. DO NOT EDIT.
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/database/gdb"
+	"github.com/gogf/gf/frame/g"
+)
+
+// WxPayOrderDao is the manager for logic model data accessing and custom defined data operations functions management.
+type WxPayOrderDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns WxPayOrderColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// WxPayOrderColumns defines and stores column names for table wx_pay_order.
+type WxPayOrderColumns struct {
+	OrderId                    string //                   
+    OutTradeNo                 string // 本平台的订单号    
+    WxOrderNo                  string // 微信产生的订单号  
+    PayAmount                  string // 支付金额          
+    TaskName                   string // 任务名称          
+    PayReason                  string // 支付用途 1拍单    
+    TalentId                   string // 达人id            
+    TalentWxNickname           string // 达人微信昵称      
+    TalentPlatformAccountName  string // 达人平台账号昵称  
+    TaskId                     string // 任务id            
+    TaskPlatform               string // 任务的社媒平台id  
+    Success                    string // 是否成功          
+    CreateAt                   string // 订单生成时间      
+    Desc                       string // 描述
+}
+
+//  wxPayOrderColumns holds the columns for table wx_pay_order.
+var wxPayOrderColumns = WxPayOrderColumns{
+	OrderId:                   "order_id",                      
+            OutTradeNo:                "out_trade_no",                  
+            WxOrderNo:                 "wx_order_no",                   
+            PayAmount:                 "pay_amount",                    
+            TaskName:                  "task_name",                     
+            PayReason:                 "pay_reason",                    
+            TalentId:                  "talent_id",                     
+            TalentWxNickname:          "talent_wx_nickname",            
+            TalentPlatformAccountName: "talent_platform_account_name",  
+            TaskId:                    "task_id",                       
+            TaskPlatform:              "task_platform",                 
+            Success:                   "success",                       
+            CreateAt:                  "create_at",                     
+            Desc:                      "desc",
+}
+
+// NewWxPayOrderDao creates and returns a new DAO object for table data access.
+func NewWxPayOrderDao() *WxPayOrderDao {
+	return &WxPayOrderDao{
+		Group:   "default",
+		Table:   "wx_pay_order",
+		Columns: wxPayOrderColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *WxPayOrderDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *WxPayOrderDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *WxPayOrderDao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 24 - 0
app/dao/order_answer.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderAnswerDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderAnswerDao struct {
+	*internal.OrderAnswerDao
+}
+
+var (
+	// OrderAnswer is globally public accessible object for table order_answer operations.
+	OrderAnswer = orderAnswerDao{
+		internal.NewOrderAnswerDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_article_review.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderArticleReviewDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderArticleReviewDao struct {
+	*internal.OrderArticleReviewDao
+}
+
+var (
+	// OrderArticleReview is globally public accessible object for table order_article_review operations.
+	OrderArticleReview = orderArticleReviewDao{
+		internal.NewOrderArticleReviewDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_data_quality.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderDataQualityDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderDataQualityDao struct {
+	*internal.OrderDataQualityDao
+}
+
+var (
+	// OrderDataQuality is globally public accessible object for table order_data_quality operations.
+	OrderDataQuality = orderDataQualityDao{
+		internal.NewOrderDataQualityDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_data_review.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderDataReviewDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderDataReviewDao struct {
+	*internal.OrderDataReviewDao
+}
+
+var (
+	// OrderDataReview is globally public accessible object for table order_data_review operations.
+	OrderDataReview = orderDataReviewDao{
+		internal.NewOrderDataReviewDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_delivery_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderDeliveryInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderDeliveryInfoDao struct {
+	*internal.OrderDeliveryInfoDao
+}
+
+var (
+	// OrderDeliveryInfo is globally public accessible object for table order_delivery_info operations.
+	OrderDeliveryInfo = orderDeliveryInfoDao{
+		internal.NewOrderDeliveryInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_draft_review.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderDraftReviewDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderDraftReviewDao struct {
+	*internal.OrderDraftReviewDao
+}
+
+var (
+	// OrderDraftReview is globally public accessible object for table order_draft_review operations.
+	OrderDraftReview = orderDraftReviewDao{
+		internal.NewOrderDraftReviewDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderInfoDao struct {
+	*internal.OrderInfoDao
+}
+
+var (
+	// OrderInfo is globally public accessible object for table order_info operations.
+	OrderInfo = orderInfoDao{
+		internal.NewOrderInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_link_quality.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderLinkQualityDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderLinkQualityDao struct {
+	*internal.OrderLinkQualityDao
+}
+
+var (
+	// OrderLinkQuality is globally public accessible object for table order_link_quality operations.
+	OrderLinkQuality = orderLinkQualityDao{
+		internal.NewOrderLinkQualityDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/order_status_record.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// orderStatusRecordDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type orderStatusRecordDao struct {
+	*internal.OrderStatusRecordDao
+}
+
+var (
+	// OrderStatusRecord is globally public accessible object for table order_status_record operations.
+	OrderStatusRecord = orderStatusRecordDao{
+		internal.NewOrderStatusRecordDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_bilibili_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformBilibiliAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformBilibiliAccountInfoDao struct {
+	*internal.PlatformBilibiliAccountInfoDao
+}
+
+var (
+	// PlatformBilibiliAccountInfo is globally public accessible object for table platform_bilibili_account_info operations.
+	PlatformBilibiliAccountInfo = platformBilibiliAccountInfoDao{
+		internal.NewPlatformBilibiliAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_dianping_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformDianpingAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformDianpingAccountInfoDao struct {
+	*internal.PlatformDianpingAccountInfoDao
+}
+
+var (
+	// PlatformDianpingAccountInfo is globally public accessible object for table platform_dianping_account_info operations.
+	PlatformDianpingAccountInfo = platformDianpingAccountInfoDao{
+		internal.NewPlatformDianpingAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_kuaishou_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformKuaishouAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformKuaishouAccountInfoDao struct {
+	*internal.PlatformKuaishouAccountInfoDao
+}
+
+var (
+	// PlatformKuaishouAccountInfo is globally public accessible object for table platform_kuaishou_account_info operations.
+	PlatformKuaishouAccountInfo = platformKuaishouAccountInfoDao{
+		internal.NewPlatformKuaishouAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_little_red_book_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformLittleRedBookAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformLittleRedBookAccountInfoDao struct {
+	*internal.PlatformLittleRedBookAccountInfoDao
+}
+
+var (
+	// PlatformLittleRedBookAccountInfo is globally public accessible object for table platform_little_red_book_account_info operations.
+	PlatformLittleRedBookAccountInfo = platformLittleRedBookAccountInfoDao{
+		internal.NewPlatformLittleRedBookAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_tiktok_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformTiktokAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformTiktokAccountInfoDao struct {
+	*internal.PlatformTiktokAccountInfoDao
+}
+
+var (
+	// PlatformTiktokAccountInfo is globally public accessible object for table platform_tiktok_account_info operations.
+	PlatformTiktokAccountInfo = platformTiktokAccountInfoDao{
+		internal.NewPlatformTiktokAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_weibo_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformWeiboAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformWeiboAccountInfoDao struct {
+	*internal.PlatformWeiboAccountInfoDao
+}
+
+var (
+	// PlatformWeiboAccountInfo is globally public accessible object for table platform_weibo_account_info operations.
+	PlatformWeiboAccountInfo = platformWeiboAccountInfoDao{
+		internal.NewPlatformWeiboAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/platform_zhihu_account_info.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// platformZhihuAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type platformZhihuAccountInfoDao struct {
+	*internal.PlatformZhihuAccountInfoDao
+}
+
+var (
+	// PlatformZhihuAccountInfo is globally public accessible object for table platform_zhihu_account_info operations.
+	PlatformZhihuAccountInfo = platformZhihuAccountInfoDao{
+		internal.NewPlatformZhihuAccountInfoDao(),
+	}
+)
+
+// Fill with you ideas below.

+ 24 - 0
app/dao/product.go

@@ -0,0 +1,24 @@
+// =================================================================================
+// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
+// =================================================================================
+
+package dao
+
+import (
+	"youngmini_server/app/dao/internal"
+)
+
+// productDao is the manager for logic model data accessing and custom defined data operations functions management. 
+// You can define custom methods on it to extend its functionality as you wish.
+type productDao struct {
+	*internal.ProductDao
+}
+
+var (
+	// Product is globally public accessible object for table product operations.
+	Product = productDao{
+		internal.NewProductDao(),
+	}
+)
+
+// Fill with you ideas below.

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini