assignment_service.go 2.2 KB

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