task_logistics.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package youngee_task_service
  2. import (
  3. "youngmini_server/app/dao"
  4. "youngmini_server/app/model"
  5. "youngmini_server/app/model/youngee_talent_model"
  6. "youngmini_server/app/utils"
  7. "github.com/gogf/gf/encoding/gjson"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/net/ghttp"
  10. )
  11. // 修改达人收货地址
  12. func OnUpdateLogisticsAddress(r *ghttp.Request) *TalentHttpResult {
  13. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  14. if err != nil {
  15. return &TalentHttpResult{Code: -1, Msg: "Update talent address failed"}
  16. }
  17. var modifyReq *youngee_talent_model.TaskLogisticsAddress
  18. err = r.ParseForm(&modifyReq)
  19. if err != nil {
  20. return &TalentHttpResult{Code: -2, Msg: "params error"}
  21. }
  22. address := model.YoungeeTalentDeliveryAddress{
  23. TalentId: tid,
  24. RegionCode: modifyReq.RegionCode,
  25. DetailAddr: modifyReq.DetailAddr,
  26. PhoneNumber: modifyReq.PhoneNumber,
  27. ReceiverName: modifyReq.ReceiverName,
  28. }
  29. // 生成收货地址快照
  30. addrSnap, err := gjson.Encode(address)
  31. if err != nil {
  32. return &TalentHttpResult{Code: -3, Msg: "encode delivery address snap failed"}
  33. }
  34. _, err = g.DB().Model(dao.YoungeeTaskInfo.Table).Data("talent_post_addr_snap", addrSnap).Where("task_id = ?", modifyReq.TaskId).Update()
  35. if err != nil {
  36. return &TalentHttpResult{Code: -4, Msg: "update failed"}
  37. }
  38. return &TalentHttpResult{Code: 0, Msg: "success"}
  39. }
  40. // 获取物流信息
  41. func GetTaskLogisticsInfo(r *ghttp.Request) *TalentHttpResult {
  42. taskId := r.GetQueryInt("task_id", -1)
  43. var logistics *model.YoungeeTaskLogistics
  44. err := g.Model(dao.YoungeeTaskLogistics.Table).Where("task_id = ?", taskId).Scan(&logistics)
  45. if err != nil {
  46. return &TalentHttpResult{Code: -1, Msg: "Get logistics info failed"}
  47. }
  48. return &TalentHttpResult{Code: 0, Msg: "success", Data: logistics}
  49. }