assignment_service.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package assignment
  2. import (
  3. "database/sql"
  4. "github.com/gogf/gf/frame/g"
  5. "github.com/gogf/gf/net/ghttp"
  6. "github.com/gogf/gf/os/gtime"
  7. "youngmini_server/app/dao"
  8. "youngmini_server/app/model/youngee_talent_model"
  9. "youngmini_server/app/system/message"
  10. "youngmini_server/app/system/sectask"
  11. "youngmini_server/app/system/sectasklog"
  12. "youngmini_server/app/system/selection"
  13. "youngmini_server/app/utils"
  14. )
  15. var service = new(assignmentService)
  16. type assignmentService struct {
  17. }
  18. func (s *assignmentService) Add(r *ghttp.Request, req *AddAssignmentReq) (res sql.Result, err error) {
  19. tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
  20. if err != nil {
  21. return nil, err
  22. }
  23. res, err = dao.YounggeeAssignmentInfo.Ctx(r.GetCtx()).Insert(req)
  24. if err != nil {
  25. return nil, err
  26. }
  27. // 2. 更新任务阶段 上传截图,
  28. updateStageReq := sectask.UpdateStageReq{
  29. TaskId: req.TaskId,
  30. TaskStage: 9, //任务状态变成待结算9
  31. AssignmentStatus: 2, //作业上传状态变成2(已添加)
  32. RewardStage: 1, //上传截图,变成待领悬赏
  33. }
  34. SecTaskInfo := &youngee_talent_model.SecTaskInfoDetail{}
  35. _, err = g.DB().Model(SecTaskInfo).Data(g.Map{
  36. "task_stage": updateStageReq.TaskStage,
  37. "assignment_status": updateStageReq.AssignmentStatus,
  38. "reward_stage": updateStageReq.RewardStage,
  39. }).Where("task_id =? ", req.TaskId).Update()
  40. //err = sectask.UpdateStageAndStatus(r.Context(), &updateStageReq)
  41. if err != nil {
  42. return nil, err
  43. }
  44. // 3. 插入日志
  45. addSecTaskLogReq := sectasklog.AddSecTaskLogReq{
  46. TaskId: req.TaskId,
  47. Content: "上传作业",
  48. LogAt: gtime.Now(),
  49. }
  50. err = sectasklog.Add(r.Context(), addSecTaskLogReq)
  51. if err != nil {
  52. return nil, err
  53. }
  54. //4. 插入消息
  55. // 查询选品项目信息
  56. selectionInfo, err := selection.GetDetailByTaskId(r.Context(), req.TaskId)
  57. if err != nil {
  58. return nil, err
  59. }
  60. addMessageReq := message.AddMessageReq{
  61. MessageId: 29,
  62. MessageType: 2,
  63. CreatedAt: gtime.Now(),
  64. TalentId: tid,
  65. ProjectName: selectionInfo.SelectionName,
  66. IsReaded: 0,
  67. IsDeleted: 0,
  68. }
  69. // 插入消息
  70. err = message.Add(r.Context(), addMessageReq)
  71. if err != nil {
  72. return nil, err
  73. }
  74. return
  75. }
  76. func (s *assignmentService) List(r *ghttp.Request) (res ListAssignmentRes, err error) {
  77. sortCondition := string(dao.YounggeeAssignmentInfo.Columns.SubmitAt + " ASC")
  78. whereCondition := g.Map{
  79. dao.YounggeeAssignmentInfo.Columns.IsReview: 1,
  80. }
  81. err = dao.YounggeeAssignmentInfo.Ctx(r.GetCtx()).Where(whereCondition).Order(sortCondition).Scan(&res.AssignmentList)
  82. if err != nil {
  83. return
  84. }
  85. return
  86. }