talent_account.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 GetTalentAccount(r *ghttp.Request) *TalentHttpResult {
  11. //达人id获取
  12. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  13. //定义除了youngee_platform_account_info表结构外额外还有info_third_platform的结构体(用表连接)
  14. if err != nil {
  15. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  16. }
  17. //查找给定达人id之后,该达人绑定了几个平台的账号
  18. res, err := g.DB().Model("youngee_platform_account_info").All("talent_id", tid)
  19. fmt.Println("该账号社媒平台绑定结果为__________:", res)
  20. if err != nil {
  21. return &TalentHttpResult{Code: -2, Msg: "query database error"}
  22. }
  23. if res == nil {
  24. return &TalentHttpResult{Code: -3, Msg: "未绑定任何平台"}
  25. }
  26. return &TalentHttpResult{Code: 0, Msg: "success", Data: res}
  27. }
  28. func OnAddTalentAccount(r *ghttp.Request) *TalentHttpResult {
  29. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  30. if err != nil {
  31. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  32. }
  33. account := youngee_talent_model.PlatformAccountInfo{}
  34. err = r.ParseForm(&account)
  35. if err != nil {
  36. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  37. }
  38. // 将达人id存入结构体
  39. account.TalentId = tid
  40. // 插入达人账号信息
  41. _, err = g.Model(dao.YoungeePlatformAccountInfo.Table).Insert(account)
  42. if err != nil {
  43. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  44. }
  45. // 修改talent表字段is_bind_account值为1
  46. _, err = g.Model(dao.YoungeeTalentInfo.Table).Data("is_bind_account=1").Where("id", tid).Update()
  47. if err != nil {
  48. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  49. }
  50. return &TalentHttpResult{Code: 0, Msg: "success"}
  51. }
  52. func OnUpdateTalentAccount(r *ghttp.Request) *TalentHttpResult {
  53. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  54. if err != nil {
  55. return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
  56. }
  57. account := youngee_talent_model.PlatformAccountInfo{}
  58. err = r.ParseForm(&account)
  59. if err != nil {
  60. return &TalentHttpResult{Code: -2, Msg: err.Error()}
  61. }
  62. account.TalentId = tid
  63. _, err = g.DB().Model(dao.YoungeePlatformAccountInfo.Table).Update(account, "account_id = ? and talent_id = ?", account.AccountId, tid)
  64. if err != nil {
  65. return &TalentHttpResult{Code: -3, Msg: "update failed"}
  66. }
  67. return &TalentHttpResult{Code: 0, Msg: "success"}
  68. }