talent_info.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. package youngee_talent_service
  2. import (
  3. "fmt"
  4. "youngmini_server/app/dao"
  5. "youngmini_server/app/model/youngee_talent_model"
  6. "youngmini_server/app/utils"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/gogf/gf/net/ghttp"
  9. )
  10. func OnPostTalentInfo(r *ghttp.Request) *TalentHttpResult {
  11. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  12. if err != nil {
  13. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  14. }
  15. var infos *youngee_talent_model.TalentSelfInputInfo
  16. err = r.ParseForm(&infos)
  17. if err != nil {
  18. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  19. }
  20. infos.IsBindInfo = 1
  21. _, err = g.DB().Model(dao.YoungeeTalentInfo.Table).Update(infos, "id", tid)
  22. if err != nil {
  23. return &TalentHttpResult{Code: -4, Msg: "update failed"}
  24. }
  25. return &TalentHttpResult{Code: 0, Msg: "success"}
  26. }
  27. func IsSecCollection(r *ghttp.Request) *TalentHttpResult {
  28. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  29. if err != nil {
  30. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  31. }
  32. selectionId := r.GetQueryString("selection_id")
  33. collectionInfo := []youngee_talent_model.SelectionCollection{}
  34. err = g.DB().Model("younggee_selection_collect_info").Where("selection_id=? and talent_id = ?", selectionId, tid).Scan(&collectionInfo)
  35. if err != nil {
  36. return &TalentHttpResult{Code: -1, Msg: err.Error()}
  37. }
  38. //已被收藏
  39. if len(collectionInfo) != 0 && collectionInfo[0].Deleted == 0 { //有数据 且 没取消收藏
  40. return &TalentHttpResult{Code: 0, Msg: "此选品已被收藏", Data: 0}
  41. } else {
  42. return &TalentHttpResult{Code: 0, Msg: "此选品没有被收藏", Data: 1} //没数据 或 有数据但取消了收藏
  43. }
  44. //返回的data作为收藏接口的is_collect字段传入
  45. }
  46. func OnUpdateTalentInfo(r *ghttp.Request) *TalentHttpResult {
  47. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  48. if err != nil {
  49. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  50. }
  51. var infos *youngee_talent_model.TalentSelfInputInfo
  52. err = r.ParseForm(&infos)
  53. fmt.Println("头像地址---->:", infos.Avatar)
  54. if err != nil {
  55. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  56. }
  57. _, err = g.DB().Model(dao.YoungeeTalentInfo.Table).Data(g.Map{"talent_wx_nickname": infos.TalentWxNickname, "avatar": infos.Avatar}).Where("id = ?", tid).Update()
  58. if err != nil {
  59. return &TalentHttpResult{Code: -4, Msg: "update failed"}
  60. }
  61. return &TalentHttpResult{Code: 0, Msg: "success"}
  62. }
  63. func UpdateTalentName(r *ghttp.Request) *TalentHttpResult {
  64. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  65. if err != nil {
  66. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  67. }
  68. var infos *youngee_talent_model.UpdateNameReq
  69. err = r.ParseForm(&infos)
  70. if err != nil {
  71. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  72. }
  73. _, err = g.DB().Model(dao.YoungeeTalentInfo.Table).Data(g.Map{"talent_nickname": infos.TalentNickname}).Where("id = ?", tid).Update()
  74. if err != nil {
  75. return &TalentHttpResult{Code: -4, Msg: "update failed"}
  76. }
  77. return &TalentHttpResult{Code: 0, Msg: "success"}
  78. }
  79. func UpdateTalentWxnum(r *ghttp.Request) *TalentHttpResult {
  80. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  81. if err != nil {
  82. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  83. }
  84. var infos *youngee_talent_model.UpdateWxNameReq
  85. err = r.ParseForm(&infos)
  86. if err != nil {
  87. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  88. }
  89. _, err = g.DB().Model("youngee_talent_info").Data(g.Map{"wx_num": infos.WxNum}).Where("id = ?", tid).Update()
  90. if err != nil {
  91. return &TalentHttpResult{Code: -4, Msg: "update failed"}
  92. }
  93. return &TalentHttpResult{Code: 0, Msg: "success"}
  94. }
  95. func GetTalentInfo(r *ghttp.Request) *TalentHttpResult {
  96. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  97. if err != nil {
  98. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  99. }
  100. talentInfo := youngee_talent_model.TalentInfo{} //结构体实例化
  101. err = g.DB().Model("youngee_talent_info").WithAll().Where("id", tid).Scan(&talentInfo)
  102. if err != nil {
  103. return &TalentHttpResult{Code: -2, Msg: "Get talent info failed"}
  104. }
  105. return &TalentHttpResult{Code: 0, Msg: "success", Data: talentInfo}
  106. }
  107. // // 查询任务数量、young之团数量、选品任务数量
  108. //
  109. // func GetMyInfoNum(r *ghttp.Request) *TalentHttpResult {
  110. // tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  111. // if err != nil {
  112. // return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  113. // }
  114. // talentInfoNum := &youngee_talent_model.TalentInfoNum{}
  115. // // 查询任务相关数量
  116. // var endTaskStageList = [3]int{3, 5, 16}
  117. //
  118. // //种草
  119. // fmt.Println("1")
  120. // talentInfoNum.AllTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id=?", tid).Count()
  121. // fmt.Println("talentInfoNum.AllTaskNum111", talentInfoNum.AllTaskNum)
  122. // if err != nil {
  123. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  124. // }
  125. // talentInfoNum.ApplyTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage = 1", tid).Count()
  126. // if err != nil {
  127. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  128. // }
  129. // talentInfoNum.ExeTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14", tid).Count()
  130. // if err != nil {
  131. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  132. // }
  133. // talentInfoNum.EndTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage in (?)", tid, endTaskStageList).Count()
  134. // if err != nil {
  135. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  136. // }
  137. // talentInfoNum.ToDealNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage = 15", tid).Count()
  138. // if err != nil {
  139. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  140. // }
  141. //
  142. // //带货任务相关数量
  143. // fmt.Println("2")
  144. // talentInfoNum.AllSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ?", tid).Count()
  145. // if err != nil {
  146. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  147. // }
  148. // talentInfoNum.GetSampleSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and free_stage in (3,4, 5)", tid).Count()
  149. // if err != nil {
  150. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  151. // }
  152. // talentInfoNum.ExeSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and sale_num_all > 0", tid).Count()
  153. // if err != nil {
  154. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  155. // }
  156. // talentInfoNum.EndSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and task_ddl < NOW() ", tid).Count()
  157. // if err != nil {
  158. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  159. // }
  160. // talentInfoNum.InSampleProcessNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and free_stage = 1 ", tid).Count()
  161. // if err != nil {
  162. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  163. // }
  164. // talentInfoNum.ToGetRewardNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and reward_stage = 1 ", tid).Count()
  165. // if err != nil {
  166. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  167. // }
  168. // talentInfoNum.GetRewardNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and reward_stage = 2 ", tid).Count()
  169. // if err != nil {
  170. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  171. // }
  172. // //本地生活
  173. // fmt.Println("3")
  174. // talentInfoNum.AllTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id=?", tid).Count()
  175. // if err != nil {
  176. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  177. // }
  178. // talentInfoNum.ApplyTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage = 1", tid).Count()
  179. // if err != nil {
  180. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  181. // }
  182. // talentInfoNum.ToBookLocalNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage = 4", tid).Count()
  183. // if err != nil {
  184. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  185. // }
  186. // talentInfoNum.ExeTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14", tid).Count()
  187. // if err != nil {
  188. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  189. // }
  190. // talentInfoNum.ToDealLocalNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14", tid).Count()
  191. // if err != nil {
  192. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  193. // }
  194. // talentInfoNum.EndTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage in (?)", tid, endTaskStageList).Count()
  195. // if err != nil {
  196. // return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  197. // }
  198. //
  199. // return &TalentHttpResult{Code: 0, Msg: "success1", Data: &talentInfoNum}
  200. // }
  201. func GetMyInfoNum(r *ghttp.Request) *TalentHttpResult {
  202. // 获取 talentId
  203. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  204. if err != nil {
  205. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  206. }
  207. taskType := r.GetInt("task_type", 0)
  208. if taskType == 0 {
  209. return &TalentHttpResult{Code: -1, Msg: "task_type is null"}
  210. }
  211. // 初始化 talentInfoNum
  212. talentInfoNum := &youngee_talent_model.TalentInfoNum{
  213. TaskCountNum: &youngee_talent_model.TaskCountNum{},
  214. SecTaskCountNum: &youngee_talent_model.SecTaskCountNum{},
  215. LocalTaskCountNum: &youngee_talent_model.LocalTaskCountNum{},
  216. }
  217. // 查询任务相关数量
  218. var endTaskStageList = [3]int{3, 5, 16}
  219. // 种草任务相关数量
  220. fmt.Println("1")
  221. talentInfoNum.TaskCountNum.AllTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id=? AND project_type = ? ", tid, taskType).Count()
  222. if err != nil {
  223. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  224. }
  225. talentInfoNum.TaskCountNum.ApplyTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage = 1 AND project_type = ? ", tid, taskType).Count()
  226. if err != nil {
  227. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  228. }
  229. talentInfoNum.TaskCountNum.ExeTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14 and project_type = ? ", tid, taskType).Count()
  230. if err != nil {
  231. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  232. }
  233. talentInfoNum.TaskCountNum.EndTaskNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage in (?) and project_type = ? ", tid, endTaskStageList, taskType).Count()
  234. if err != nil {
  235. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  236. }
  237. talentInfoNum.TaskCountNum.ToDealNum, err = g.DB().Model("youngee_task_info").Where("talent_id = ? and task_stage = 15 and project_type = ?", tid, taskType).Count()
  238. if err != nil {
  239. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  240. }
  241. // 带货任务相关数量
  242. fmt.Println("2")
  243. talentInfoNum.SecTaskCountNum.AllSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ?", tid).Count()
  244. if err != nil {
  245. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  246. }
  247. talentInfoNum.SecTaskCountNum.GetSampleSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and free_stage in (3,4, 5)", tid).Count()
  248. if err != nil {
  249. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  250. }
  251. talentInfoNum.SecTaskCountNum.ExeSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and sale_num_all > 0", tid).Count()
  252. if err != nil {
  253. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  254. }
  255. talentInfoNum.SecTaskCountNum.EndSecTaskNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and task_ddl < NOW() ", tid).Count()
  256. if err != nil {
  257. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  258. }
  259. talentInfoNum.SecTaskCountNum.InSampleProcessNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and free_stage = 1 ", tid).Count()
  260. if err != nil {
  261. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  262. }
  263. talentInfoNum.SecTaskCountNum.ToGetRewardNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and reward_stage = 1 ", tid).Count()
  264. if err != nil {
  265. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  266. }
  267. talentInfoNum.SecTaskCountNum.GetRewardNum, err = g.DB().Model("younggee_sec_task_info").Where("talent_id = ? and reward_stage = 2 ", tid).Count()
  268. if err != nil {
  269. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  270. }
  271. // 本地生活任务相关数量
  272. fmt.Println("3")
  273. talentInfoNum.LocalTaskCountNum.AllLocalTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id=? and local_type = ?", tid, taskType).Count()
  274. if err != nil {
  275. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  276. }
  277. talentInfoNum.LocalTaskCountNum.ApplyLocalTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage = 1 and local_type = ?", tid, taskType).Count()
  278. if err != nil {
  279. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  280. }
  281. talentInfoNum.LocalTaskCountNum.ToBookLocalNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage = 4 and local_type = ?", tid, taskType).Count()
  282. if err != nil {
  283. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  284. }
  285. talentInfoNum.LocalTaskCountNum.ExeLocalTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14 and local_type = ?", tid, taskType).Count()
  286. if err != nil {
  287. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  288. }
  289. talentInfoNum.LocalTaskCountNum.ToDealLocalNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage >= 4 and task_stage <= 14 and local_type = ?", tid, taskType).Count()
  290. if err != nil {
  291. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  292. }
  293. talentInfoNum.LocalTaskCountNum.EndLocalTaskNum, err = g.DB().Model("youngee_local_task_info").Where("talent_id = ? and task_stage in (?) and local_type = ?", tid, endTaskStageList, taskType).Count()
  294. if err != nil {
  295. return &TalentHttpResult{Code: -2, Msg: "Get task num failed"}
  296. }
  297. // 返回填充好的 talentInfoNum
  298. return &TalentHttpResult{Code: 0, Msg: "success1", Data: talentInfoNum}
  299. }
  300. func AddTalentSkill(r *ghttp.Request) *TalentHttpResult {
  301. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  302. if err != nil {
  303. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  304. }
  305. skills := r.GetQueryString("skills", "")
  306. openId := r.GetQueryString("open_id")
  307. _, err = g.DB().Model("platform_kuaishou_user_info").Where("open_id=? and talent_id=?", openId, tid).Data(g.Map{"skill": skills}).Update()
  308. if err != nil {
  309. return &TalentHttpResult{Code: -1, Msg: "Update talent info failed"}
  310. }
  311. return &TalentHttpResult{Code: 0, Msg: "success", Data: skills}
  312. }