Ohio-HYF 3 years ago
commit
984e3a9ad8
100 changed files with 7531 additions and 0 deletions
  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. 69 0
      app/api/youngee_talent_api/talent_auth_get_api.go
  22. 80 0
      app/api/youngee_talent_api/talent_auth_post_api.go
  23. 44 0
      app/api/youngee_talent_api/talent_get_api.go
  24. 31 0
      app/api/youngee_talent_api/talent_post_api.go
  25. 61 0
      app/dao/backstage_dao/brand_dao.go
  26. 115 0
      app/dao/backstage_dao/product_dao.go
  27. 106 0
      app/dao/backstage_dao/user_dao.go
  28. 24 0
      app/dao/bobocoin_deduct_record.go
  29. 24 0
      app/dao/bobocoin_income_record.go
  30. 24 0
      app/dao/bobocoin_withdrawal_record.go
  31. 24 0
      app/dao/brand.go
  32. 24 0
      app/dao/enterprise.go
  33. 24 0
      app/dao/expert.go
  34. 24 0
      app/dao/info_product_classify.go
  35. 24 0
      app/dao/info_region.go
  36. 24 0
      app/dao/info_talent_age_bracket.go
  37. 24 0
      app/dao/info_talent_skilled_area.go
  38. 24 0
      app/dao/info_talent_skin_type.go
  39. 24 0
      app/dao/info_third_platform.go
  40. 73 0
      app/dao/internal/bobocoin_deduct_record.go
  41. 69 0
      app/dao/internal/bobocoin_income_record.go
  42. 75 0
      app/dao/internal/bobocoin_withdrawal_record.go
  43. 77 0
      app/dao/internal/brand.go
  44. 73 0
      app/dao/internal/enterprise.go
  45. 69 0
      app/dao/internal/expert.go
  46. 59 0
      app/dao/internal/info_product_classify.go
  47. 65 0
      app/dao/internal/info_region.go
  48. 59 0
      app/dao/internal/info_talent_age_bracket.go
  49. 59 0
      app/dao/internal/info_talent_skilled_area.go
  50. 59 0
      app/dao/internal/info_talent_skin_type.go
  51. 63 0
      app/dao/internal/info_third_platform.go
  52. 63 0
      app/dao/internal/order_answer.go
  53. 69 0
      app/dao/internal/order_article_review.go
  54. 75 0
      app/dao/internal/order_data_quality.go
  55. 77 0
      app/dao/internal/order_data_review.go
  56. 79 0
      app/dao/internal/order_delivery_info.go
  57. 69 0
      app/dao/internal/order_draft_review.go
  58. 95 0
      app/dao/internal/order_info.go
  59. 71 0
      app/dao/internal/order_link_quality.go
  60. 71 0
      app/dao/internal/order_status_record.go
  61. 95 0
      app/dao/internal/platform_bilibili_account_info.go
  62. 97 0
      app/dao/internal/platform_dianping_account_info.go
  63. 99 0
      app/dao/internal/platform_kuaishou_account_info.go
  64. 103 0
      app/dao/internal/platform_little_red_book_account_info.go
  65. 105 0
      app/dao/internal/platform_tiktok_account_info.go
  66. 101 0
      app/dao/internal/platform_weibo_account_info.go
  67. 101 0
      app/dao/internal/platform_zhihu_account_info.go
  68. 75 0
      app/dao/internal/product.go
  69. 71 0
      app/dao/internal/product_photo.go
  70. 87 0
      app/dao/internal/project_info.go
  71. 65 0
      app/dao/internal/project_photo.go
  72. 63 0
      app/dao/internal/r_order_compelete_stage_to_type.go
  73. 85 0
      app/dao/internal/r_talent_platform_table.go
  74. 71 0
      app/dao/internal/recruit_strategy.go
  75. 69 0
      app/dao/internal/talent_delivery_address.go
  76. 93 0
      app/dao/internal/talent_info.go
  77. 65 0
      app/dao/internal/talent_pay_account_info.go
  78. 89 0
      app/dao/internal/task_base_info.go
  79. 77 0
      app/dao/internal/task_perform_help_info.go
  80. 67 0
      app/dao/internal/task_procedure_article_info.go
  81. 69 0
      app/dao/internal/task_procedure_buy_samples_info.go
  82. 93 0
      app/dao/internal/task_procedure_decision_condition.go
  83. 67 0
      app/dao/internal/task_procedure_draft_info.go
  84. 79 0
      app/dao/internal/task_procedure_quality_data_test_info.go
  85. 69 0
      app/dao/internal/task_recruit_requirements.go
  86. 67 0
      app/dao/internal/task_recruit_talent_level.go
  87. 69 0
      app/dao/internal/task_reward.go
  88. 73 0
      app/dao/internal/task_signup_info.go
  89. 79 0
      app/dao/internal/user.go
  90. 99 0
      app/dao/internal/workflow_node_container.go
  91. 97 0
      app/dao/internal/workflow_node_template.go
  92. 83 0
      app/dao/internal/wx_pay_order.go
  93. 79 0
      app/dao/internal/youngee_platform_account_info.go
  94. 71 0
      app/dao/internal/youngee_talent_delivery_address.go
  95. 101 0
      app/dao/internal/youngee_talent_info.go
  96. 83 0
      app/dao/internal/youngee_task_info.go
  97. 77 0
      app/dao/internal/younggee_product.go
  98. 67 0
      app/dao/internal/younggee_product_photo.go
  99. 79 0
      app/dao/internal/younggee_user.go
  100. 24 0
      app/dao/order_answer.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")
+	}
+}

+ 69 - 0
app/api/youngee_talent_api/talent_auth_get_api.go

@@ -0,0 +1,69 @@
+package youngeetalentapi
+
+import (
+	"youngmini_server/app/service/youngee_talent_service"
+
+	"github.com/gogf/gf/net/ghttp"
+)
+
+var TalentAuthGetApi = talentAuthGetApi{}
+
+type talentAuthGetApi struct{}
+
+// 获取单个项目详情
+func (*talentAuthGetApi) GetProjectDetail(r *ghttp.Request) {
+	res := youngee_talent_service.GetProjectDetail(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetTalentInfo 获取达人信息
+// youngee_talent_info、youngee_task_info
+func (*talentAuthGetApi) GetTalentInfo(r *ghttp.Request) {
+	res := youngee_talent_service.GetTalentInfo(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetTalentAddress 获取达人收货地址
+// youngee_talent_delivery_address
+func (*talentAuthGetApi) GetTalentAddress(r *ghttp.Request) {
+	res := youngee_talent_service.GetTalentAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetTalentAddress 获取单个达人收货地址详情
+// youngee_talent_delivery_address
+func (*talentAuthGetApi) GetSingleAddress(r *ghttp.Request) {
+	res := youngee_talent_service.GetSingleAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetTalentAddress 获取达人社媒账号
+// youngee_platform_account_info
+func (*talentAuthGetApi) GetTalentAccount(r *ghttp.Request) {
+	res := youngee_talent_service.GetTalentAccount(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+func (*talentAuthGetApi) IsLogin(r *ghttp.Request) {
+	res := youngee_talent_service.IsLogin(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 80 - 0
app/api/youngee_talent_api/talent_auth_post_api.go

@@ -0,0 +1,80 @@
+package youngeetalentapi
+
+import (
+	"youngmini_server/app/service/youngee_talent_service"
+
+	"github.com/gogf/gf/net/ghttp"
+)
+
+var TalentAuthPostApi = talentAuthPostApi{}
+
+type talentAuthPostApi struct{}
+
+// TalentInfo 提交达人个人资料
+func (*talentAuthPostApi) TalentInfo(r *ghttp.Request) {
+	res := youngee_talent_service.OnPostTalentInfo(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// AddTalentAddress 添加达人收货地址
+// youngee_talent_delivery_address
+func (*talentAuthPostApi) AddTalentAddress(r *ghttp.Request) {
+	res := youngee_talent_service.OnAddTalentAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// UpdateTalentAddress 修改达人收货地址
+// youngee_talent_delivery_address
+func (*talentAuthPostApi) UpdateTalentAddress(r *ghttp.Request) {
+	res := youngee_talent_service.OnUpdateTalentAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// ChangeDefaultDeliveryAddr 修改默认收货地址
+func (*talentAuthPostApi) ChangeDefaultDeliveryAddr(r *ghttp.Request) {
+	res := youngee_talent_service.SetDefaultDeliveryAddr(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// DeleteTalentAddress 删除达人收货地址
+// youngee_talent_delivery_address
+func (*talentAuthPostApi) DeleteTalentAddress(r *ghttp.Request) {
+	res := youngee_talent_service.OnDeleteTalentAddress(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// AddTalentAccount 添加达人社媒账号
+// youngee_platform_account_info
+func (*talentAuthPostApi) AddTalentAccount(r *ghttp.Request) {
+	res := youngee_talent_service.OnAddTalentAccount(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// UpdateTalentAccount 修改达人社媒账号
+// youngee_platform_account_info
+func (*talentAuthPostApi) UpdateTalentAccount(r *ghttp.Request) {
+	res := youngee_talent_service.OnUpdateTalentAccount(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 44 - 0
app/api/youngee_talent_api/talent_get_api.go

@@ -0,0 +1,44 @@
+package youngeetalentapi
+
+import (
+	"youngmini_server/app/service/youngee_talent_service"
+
+	"github.com/gogf/gf/net/ghttp"
+)
+
+var TalentGetApi = talentGetApi{}
+
+type talentGetApi struct {
+}
+
+// ListProject godoc
+// @BasePath		 /talent/g
+// @Summary      GetProjectList
+// @Description  GetProjectListInfo
+// @Tags         Project
+// @Accept       json
+// @Produce      json
+// @Param        idx    		query     int  		true		"index of page"
+// @Param        cnt    		query     int  		true  	"size of page"
+// @Param        platform 	query     string	false		"search by platform"
+// @Param        mode    		query     string  false		"search by mode"
+// @Success      200  {object}   youngee_talent_model.ProjectInfoList
+// @Router       /talent/g/get-project-list [get]
+func (*talentGetApi) GetProjectList(r *ghttp.Request) {
+	res := youngee_talent_service.GetProjectInfoList(r)
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetInfoTables 获取所有信息表
+func (*talentGetApi) GetInfoTables(r *ghttp.Request) {
+	res := youngee_talent_service.GetInfoTables()
+
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}

+ 31 - 0
app/api/youngee_talent_api/talent_post_api.go

@@ -0,0 +1,31 @@
+package youngeetalentapi
+
+import (
+	"youngmini_server/app/service/youngee_talent_service"
+
+	"github.com/gogf/gf/net/ghttp"
+)
+
+var TalentPostApi = talentPostApi{}
+
+type talentPostApi struct {
+}
+
+// Login 达人端登录
+func (*talentPostApi) Login(r *ghttp.Request) {
+	// 向微信服务端校验登录凭证
+	res := youngee_talent_service.WxLogin(r)
+	err := r.Response.WriteJson(res)
+	if err != nil {
+		panic("write response error")
+	}
+}
+
+// GetQrcode 获取微信分享二维码
+func (*talentPostApi) GetQrcode(r *ghttp.Request) {
+	res := youngee_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/enterprise.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"
+)
+
+// enterpriseDao 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 enterpriseDao struct {
+	*internal.EnterpriseDao
+}
+
+var (
+	// Enterprise is globally public accessible object for table enterprise operations.
+	Enterprise = enterpriseDao{
+		internal.NewEnterpriseDao(),
+	}
+)
+
+// 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)
+}

+ 73 - 0
app/dao/internal/enterprise.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"
+)
+
+// EnterpriseDao is the manager for logic model data accessing and custom defined data operations functions management.
+type EnterpriseDao 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 EnterpriseColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// EnterpriseColumns defines and stores column names for table enterprise.
+type EnterpriseColumns struct {
+	EnterpriseId     string // 企业id
+	Industry         string // 行业,1-14分别代表能源、化工、材料、机械设备/军工、企业服务/造纸印刷、运输设备、旅游酒店、媒体/信息通信服务、批发/零售、消费品、卫生保健/医疗、金融、建材/建筑/房地产、公共事业
+	BusinessName     string // 公司或组织名称
+	UserId           string // 对应用户id
+	Balance          string // 账户余额
+	FrozenBalance    string // 冻结余额
+	AvailableBalance string // 可用余额
+	CreatedAt        string // 创建时间
+	UpdatedAt        string // 更新时间
+}
+
+//  enterpriseColumns holds the columns for table enterprise.
+var enterpriseColumns = EnterpriseColumns{
+	EnterpriseId:     "enterprise_id",
+	Industry:         "industry",
+	BusinessName:     "business_name",
+	UserId:           "user_id",
+	Balance:          "balance",
+	FrozenBalance:    "frozen_balance",
+	AvailableBalance: "available_balance",
+	CreatedAt:        "created_at",
+	UpdatedAt:        "updated_at",
+}
+
+// NewEnterpriseDao creates and returns a new DAO object for table data access.
+func NewEnterpriseDao() *EnterpriseDao {
+	return &EnterpriseDao{
+		Group:   "default",
+		Table:   "enterprise",
+		Columns: enterpriseColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *EnterpriseDao) 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 *EnterpriseDao) 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 *EnterpriseDao) 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)
+}

+ 87 - 0
app/dao/internal/project_info.go

@@ -0,0 +1,87 @@
+// ==========================================================================
+// 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"
+)
+
+// ProjectInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ProjectInfoDao 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 ProjectInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ProjectInfoColumns defines and stores column names for table project_info.
+type ProjectInfoColumns struct {
+	ProjectId       string // 项目id
+	ProjectName     string // 项目名称
+	ProjectStatus   string // 项目状态,1-10分别代表创建中、待审核、审核通过、招募中、招募完毕、待支付、已支付、失效、执行中、已结案
+	ProjectType     string // 项目类型,1代表全流程项目,2代表专项项目
+	ProjectPlatform string // 项目平台,1-7分别代表小红书、抖音、微博、快手、b站、大众点评、知乎
+	ProjectForm     string // 项目形式,1-4分别代表实体商品寄拍、虚拟产品测评、线下探店打卡、素材微原创
+	TalentType      string // 达人类型
+	RecruitDdl      string // 招募截止时间
+	ContentType     string // 内容形式,1代表图文,2代表视频
+	ProjectDetail   string // 项目详情
+	ApplyNum        string // 报名人数
+	RecruitNum      string // 已招募人数
+	EnterpriseId    string // 所属企业id
+	ProductId       string // 关联商品id
+	CreatedAt       string // 创建时间
+	UpdatedAt       string // 修改时间
+}
+
+//  projectInfoColumns holds the columns for table project_info.
+var projectInfoColumns = ProjectInfoColumns{
+	ProjectId:       "project_id",
+	ProjectName:     "project_name",
+	ProjectStatus:   "project_status",
+	ProjectType:     "project_type",
+	ProjectPlatform: "project_platform",
+	ProjectForm:     "project_form",
+	TalentType:      "talent_type",
+	RecruitDdl:      "recruit_ddl",
+	ContentType:     "content_type",
+	ProjectDetail:   "project_detail",
+	ApplyNum:        "apply_num",
+	RecruitNum:      "recruit_num",
+	EnterpriseId:    "enterprise_id",
+	ProductId:       "product_id",
+	CreatedAt:       "created_at",
+	UpdatedAt:       "updated_at",
+}
+
+// NewProjectInfoDao creates and returns a new DAO object for table data access.
+func NewProjectInfoDao() *ProjectInfoDao {
+	return &ProjectInfoDao{
+		Group:   "default",
+		Table:   "project_info",
+		Columns: projectInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ProjectInfoDao) 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 *ProjectInfoDao) 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 *ProjectInfoDao) 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/project_photo.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"
+)
+
+// ProjectPhotoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type ProjectPhotoDao 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 ProjectPhotoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// ProjectPhotoColumns defines and stores column names for table project_photo.
+type ProjectPhotoColumns struct {
+	ProjectPhotoId string // 项目图片id
+	PhotoUrl       string // 图片url
+	PhotoUid       string //
+	ProjectId      string // 所属项目id
+	CreatedAt      string // 创建时间
+}
+
+//  projectPhotoColumns holds the columns for table project_photo.
+var projectPhotoColumns = ProjectPhotoColumns{
+	ProjectPhotoId: "project_photo_id",
+	PhotoUrl:       "photo_url",
+	PhotoUid:       "photo_uid",
+	ProjectId:      "project_id",
+	CreatedAt:      "created_at",
+}
+
+// NewProjectPhotoDao creates and returns a new DAO object for table data access.
+func NewProjectPhotoDao() *ProjectPhotoDao {
+	return &ProjectPhotoDao{
+		Group:   "default",
+		Table:   "project_photo",
+		Columns: projectPhotoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *ProjectPhotoDao) 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 *ProjectPhotoDao) 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 *ProjectPhotoDao) 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)
+}

+ 71 - 0
app/dao/internal/recruit_strategy.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"
+)
+
+// RecruitStrategyDao is the manager for logic model data accessing and custom defined data operations functions management.
+type RecruitStrategyDao 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 RecruitStrategyColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// RecruitStrategyColumns defines and stores column names for table recruit_strategy.
+type RecruitStrategyColumns struct {
+	RecruitStrategyId string // 招募策略id
+	FeeForm           string // 稿费形式,1-3分别代表产品置换、固定稿费、自报价
+	StrategyId        string // 策略id
+	FollowersLow      string // 达人粉丝数下限
+	FollowersUp       string // 达人粉丝数上限
+	RecruitNumber     string // 招募数量
+	Offer             string // 报价
+	ProjectId         string // 所属项目id
+}
+
+//  recruitStrategyColumns holds the columns for table recruit_strategy.
+var recruitStrategyColumns = RecruitStrategyColumns{
+	RecruitStrategyId: "recruit_strategy_id",
+	FeeForm:           "fee_form",
+	StrategyId:        "strategy_id",
+	FollowersLow:      "followers_low",
+	FollowersUp:       "followers_up",
+	RecruitNumber:     "recruit_number",
+	Offer:             "offer",
+	ProjectId:         "project_id",
+}
+
+// NewRecruitStrategyDao creates and returns a new DAO object for table data access.
+func NewRecruitStrategyDao() *RecruitStrategyDao {
+	return &RecruitStrategyDao{
+		Group:   "default",
+		Table:   "recruit_strategy",
+		Columns: recruitStrategyColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *RecruitStrategyDao) 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 *RecruitStrategyDao) 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 *RecruitStrategyDao) 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 // 账号
+	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)
+}

+ 79 - 0
app/dao/internal/youngee_platform_account_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"
+)
+
+// YoungeePlatformAccountInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YoungeePlatformAccountInfoDao 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 YoungeePlatformAccountInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YoungeePlatformAccountInfoColumns defines and stores column names for table youngee_platform_account_info.
+type YoungeePlatformAccountInfoColumns struct {
+	AccountId          string //
+	TalentId           string // 达人账号id(youngee_talent_info表id值)
+	PlatformId         string // 平台id,与third_platform_info中的id相同
+	PlatformNickname   string // 在平台上的昵称
+	HomePageUrl        string // 主页链接
+	FansCount          string // 粉丝数
+	HomePageCaptureUrl string // 主页截图链接
+	BindDate           string // 绑定时间
+	Deleted            string // 是否被解绑
+	UpdatedAt          string // 更新时间
+	UpdatedPerson      string // 更新人,0代表本人,1代表管理员
+	UpdatedAdminId     string // 上一次更新的管理员id
+}
+
+//  youngeePlatformAccountInfoColumns holds the columns for table youngee_platform_account_info.
+var youngeePlatformAccountInfoColumns = YoungeePlatformAccountInfoColumns{
+	AccountId:          "account_id",
+	TalentId:           "talent_id",
+	PlatformId:         "platform_id",
+	PlatformNickname:   "platform_nickname",
+	HomePageUrl:        "home_page_url",
+	FansCount:          "fans_count",
+	HomePageCaptureUrl: "home_page_capture_url",
+	BindDate:           "bind_date",
+	Deleted:            "deleted",
+	UpdatedAt:          "updated_at",
+	UpdatedPerson:      "updated_person",
+	UpdatedAdminId:     "updated_admin_id",
+}
+
+// NewYoungeePlatformAccountInfoDao creates and returns a new DAO object for table data access.
+func NewYoungeePlatformAccountInfoDao() *YoungeePlatformAccountInfoDao {
+	return &YoungeePlatformAccountInfoDao{
+		Group:   "default",
+		Table:   "youngee_platform_account_info",
+		Columns: youngeePlatformAccountInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YoungeePlatformAccountInfoDao) 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 *YoungeePlatformAccountInfoDao) 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 *YoungeePlatformAccountInfoDao) 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/youngee_talent_delivery_address.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"
+)
+
+// YoungeeTalentDeliveryAddressDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YoungeeTalentDeliveryAddressDao 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 YoungeeTalentDeliveryAddressColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YoungeeTalentDeliveryAddressColumns defines and stores column names for table youngee_talent_delivery_address.
+type YoungeeTalentDeliveryAddressColumns struct {
+	AddressId    string //
+	TalentId     string // 达人id(youngee_talent_info表中的id)
+	RegionCode   string // 区域码,取info_region表中的self_code字段值
+	DetailAddr   string // 详细地址
+	PhoneNumber  string // 联系电话
+	ReceiverName string // 收货人名字
+	DefaultTag   string // 是否默认收货地址
+	MailCode     string // 邮政编码
+}
+
+//  youngeeTalentDeliveryAddressColumns holds the columns for table youngee_talent_delivery_address.
+var youngeeTalentDeliveryAddressColumns = YoungeeTalentDeliveryAddressColumns{
+	AddressId:    "address_id",
+	TalentId:     "talent_id",
+	RegionCode:   "region_code",
+	DetailAddr:   "detail_addr",
+	PhoneNumber:  "phone_number",
+	ReceiverName: "receiver_name",
+	DefaultTag:   "default_tag",
+	MailCode:     "mail_code",
+}
+
+// NewYoungeeTalentDeliveryAddressDao creates and returns a new DAO object for table data access.
+func NewYoungeeTalentDeliveryAddressDao() *YoungeeTalentDeliveryAddressDao {
+	return &YoungeeTalentDeliveryAddressDao{
+		Group:   "default",
+		Table:   "youngee_talent_delivery_address",
+		Columns: youngeeTalentDeliveryAddressColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YoungeeTalentDeliveryAddressDao) 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 *YoungeeTalentDeliveryAddressDao) 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 *YoungeeTalentDeliveryAddressDao) 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/youngee_talent_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"
+)
+
+// YoungeeTalentInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YoungeeTalentInfoDao 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 YoungeeTalentInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YoungeeTalentInfoColumns defines and stores column names for table youngee_talent_info.
+type YoungeeTalentInfoColumns struct {
+	Id                string // 达人id
+	TalentWxOpenid    string // 达人的微信openid
+	TalentWxNickname  string // 达人的微信昵称
+	TalentWxNumber    string // 达人微信号
+	Income            string // 收益总数
+	Withdrawing       string // 提现中金额
+	Canwithdraw       string // 可提现金额
+	Withdrawed        string // 已提现金额
+	TalentGender      string // 性别,0未知 1男 2女
+	TalentPhoneNumber string // 电话号码
+	TalentAgeBracket  string // 年龄段,取tallent_age_bracket表id
+	TalentNationality string // 国籍,取tallent_nationality表id
+	VisitStoreRegion  string // 探店区域,取region_info表中的self_code
+	IsBindInfo        string // 是否填写个人资料
+	IsBindLocation    string // 是否绑定收货地址
+	IsBindBank        string // 是否绑定银行账户信息
+	InBlacklist       string // 是否加入黑名单 0否 1是
+	TaskAll           string // 任务总数
+	TaskApply         string // 报名任务数量
+	TaskExecute       string // 执行中任务数量
+	TaskEnd           string // 结束任务数量
+	CreateDate        string // 创建时间
+	LastLoginDate     string // 最后登录时间
+}
+
+//  youngeeTalentInfoColumns holds the columns for table youngee_talent_info.
+var youngeeTalentInfoColumns = YoungeeTalentInfoColumns{
+	Id:                "id",
+	TalentWxOpenid:    "talent_wx_openid",
+	TalentWxNickname:  "talent_wx_nickname",
+	TalentWxNumber:    "talent_wx_number",
+	Income:            "income",
+	Withdrawing:       "withdrawing",
+	Canwithdraw:       "canwithdraw",
+	Withdrawed:        "withdrawed",
+	TalentGender:      "talent_gender",
+	TalentPhoneNumber: "talent_phone_number",
+	TalentAgeBracket:  "talent_age_bracket",
+	TalentNationality: "talent_nationality",
+	VisitStoreRegion:  "visit_store_region",
+	IsBindInfo:        "is_bind_info",
+	IsBindLocation:    "is_bind_location",
+	IsBindBank:        "is_bind_bank",
+	InBlacklist:       "in_blacklist",
+	TaskAll:           "task_all",
+	TaskApply:         "task_apply",
+	TaskExecute:       "task_execute",
+	TaskEnd:           "task_end",
+	CreateDate:        "create_date",
+	LastLoginDate:     "last_login_date",
+}
+
+// NewYoungeeTalentInfoDao creates and returns a new DAO object for table data access.
+func NewYoungeeTalentInfoDao() *YoungeeTalentInfoDao {
+	return &YoungeeTalentInfoDao{
+		Group:   "default",
+		Table:   "youngee_talent_info",
+		Columns: youngeeTalentInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YoungeeTalentInfoDao) 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 *YoungeeTalentInfoDao) 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 *YoungeeTalentInfoDao) 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/youngee_task_info.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"
+)
+
+// YoungeeTaskInfoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YoungeeTaskInfoDao 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 YoungeeTaskInfoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YoungeeTaskInfoColumns defines and stores column names for table youngee_task_info.
+type YoungeeTaskInfoColumns struct {
+	TaskId                 string // 任务id
+	ProjectId              string // 项目id
+	TalentId               string // 达人id
+	TalentPlatformInfoSnap string // 达人平台信息快照
+	TalentPersonalInfoSnap string // 达人个人信息快照
+	TalentPostAddrSnap     string // 收货地址快照
+	StrategyId             string // 报名选择的招募策略id
+	TaskReward             string // 任务奖励金额
+	SettleAmount           string // 待结算金额(任务奖励扣除违规扣款)
+	TaskStatus             string // 任务状态
+	CreateDate             string // 创建时间
+	SelectDate             string // 反选时间
+	CompleteStatus         string // 结束方式 1未结束 2正常结束 3反选失败 4被解约
+	CompleteDate           string // 结束时间
+}
+
+//  youngeeTaskInfoColumns holds the columns for table youngee_task_info.
+var youngeeTaskInfoColumns = YoungeeTaskInfoColumns{
+	TaskId:                 "task_id",
+	ProjectId:              "project_id",
+	TalentId:               "talent_id",
+	TalentPlatformInfoSnap: "talent_platform_info_snap",
+	TalentPersonalInfoSnap: "talent_personal_info_snap",
+	TalentPostAddrSnap:     "talent_post_addr_snap",
+	StrategyId:             "strategy_id",
+	TaskReward:             "task_reward",
+	SettleAmount:           "settle_amount",
+	TaskStatus:             "task_status",
+	CreateDate:             "create_date",
+	SelectDate:             "select_date",
+	CompleteStatus:         "complete_status",
+	CompleteDate:           "complete_date",
+}
+
+// NewYoungeeTaskInfoDao creates and returns a new DAO object for table data access.
+func NewYoungeeTaskInfoDao() *YoungeeTaskInfoDao {
+	return &YoungeeTaskInfoDao{
+		Group:   "default",
+		Table:   "youngee_task_info",
+		Columns: youngeeTaskInfoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YoungeeTaskInfoDao) 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 *YoungeeTaskInfoDao) 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 *YoungeeTaskInfoDao) 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/younggee_product.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"
+)
+
+// YounggeeProductDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YounggeeProductDao 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 YounggeeProductColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YounggeeProductColumns defines and stores column names for table younggee_product.
+type YounggeeProductColumns struct {
+	ProductId     string // 商品id
+	ProductName   string // 商品名称
+	ProductType   string // 商品类型
+	ShopAddress   string // 店铺地址,商品类型为线下品牌时需填写
+	ProductPrice  string // 商品价值
+	ProductDetail string //
+	ProductUrl    string // 商品链接,可为电商网址、公司官网、大众点评的店铺地址等可以说明商品信息或者品牌信息的线上地址;
+	EnterpriseId  string // 所属企业id
+	CreatedAt     string // 创建时间
+	UpdatedAt     string // 更新时间
+	BrandName     string //
+}
+
+//  younggeeProductColumns holds the columns for table younggee_product.
+var younggeeProductColumns = YounggeeProductColumns{
+	ProductId:     "product_id",
+	ProductName:   "product_name",
+	ProductType:   "product_type",
+	ShopAddress:   "shop_address",
+	ProductPrice:  "product_price",
+	ProductDetail: "product_detail",
+	ProductUrl:    "product_url",
+	EnterpriseId:  "enterprise_id",
+	CreatedAt:     "created_at",
+	UpdatedAt:     "updated_at",
+	BrandName:     "brand_name",
+}
+
+// NewYounggeeProductDao creates and returns a new DAO object for table data access.
+func NewYounggeeProductDao() *YounggeeProductDao {
+	return &YounggeeProductDao{
+		Group:   "default",
+		Table:   "younggee_product",
+		Columns: younggeeProductColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YounggeeProductDao) 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 *YounggeeProductDao) 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 *YounggeeProductDao) 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/younggee_product_photo.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"
+)
+
+// YounggeeProductPhotoDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YounggeeProductPhotoDao 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 YounggeeProductPhotoColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YounggeeProductPhotoColumns defines and stores column names for table younggee_product_photo.
+type YounggeeProductPhotoColumns struct {
+	ProductPhotoId string // 商品图片id
+	ProductId      string // 所属商品id
+	Symbol         string // 图片为主图或详情图标志位,1为主图,2为详情图,3为视频
+	PhotoUrl       string // 图片或视频url
+	PhotoUid       string //
+	CreatedAt      string // 创建时间
+}
+
+//  younggeeProductPhotoColumns holds the columns for table younggee_product_photo.
+var younggeeProductPhotoColumns = YounggeeProductPhotoColumns{
+	ProductPhotoId: "product_photo_id",
+	ProductId:      "product_id",
+	Symbol:         "symbol",
+	PhotoUrl:       "photo_url",
+	PhotoUid:       "photo_uid",
+	CreatedAt:      "created_at",
+}
+
+// NewYounggeeProductPhotoDao creates and returns a new DAO object for table data access.
+func NewYounggeeProductPhotoDao() *YounggeeProductPhotoDao {
+	return &YounggeeProductPhotoDao{
+		Group:   "default",
+		Table:   "younggee_product_photo",
+		Columns: younggeeProductPhotoColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YounggeeProductPhotoDao) 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 *YounggeeProductPhotoDao) 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 *YounggeeProductPhotoDao) 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/younggee_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"
+)
+
+// YounggeeUserDao is the manager for logic model data accessing and custom defined data operations functions management.
+type YounggeeUserDao 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 YounggeeUserColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// YounggeeUserColumns defines and stores column names for table younggee_user.
+type YounggeeUserColumns struct {
+	Id            string // 用户表id
+	User          string // 账号
+	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 // 更新时间
+}
+
+//  younggeeUserColumns holds the columns for table younggee_user.
+var younggeeUserColumns = YounggeeUserColumns{
+	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",
+}
+
+// NewYounggeeUserDao creates and returns a new DAO object for table data access.
+func NewYounggeeUserDao() *YounggeeUserDao {
+	return &YounggeeUserDao{
+		Group:   "default",
+		Table:   "younggee_user",
+		Columns: younggeeUserColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *YounggeeUserDao) 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 *YounggeeUserDao) 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 *YounggeeUserDao) 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.

Some files were not shown because too many files changed in this diff