finish.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package service
  2. import (
  3. "context"
  4. "youngee_b_api/db"
  5. "youngee_b_api/model/gorm_model"
  6. "youngee_b_api/model/http_model"
  7. "youngee_b_api/pack"
  8. "github.com/sirupsen/logrus"
  9. )
  10. var Finish *finish
  11. type finish struct {
  12. }
  13. // FinishOpinion 在上传脚本表上提交修改意见
  14. func (*finish) GetFinishData(ctx context.Context, request http_model.GetFinishDataRequest) (*http_model.GetFinishData, error) {
  15. finishRecruitStrategyList, err := db.GetFinishData(ctx, request.ProjectId)
  16. if err != nil {
  17. logrus.WithContext(ctx).Errorf("[Finish service] call CreateFinish error,err:%+v", err)
  18. return nil, err
  19. }
  20. defaultMap := map[int64]int64{}
  21. for _, recruitStrategy := range finishRecruitStrategyList {
  22. var TerminateNumber int64
  23. tx := db.GetReadDB(ctx).Debug().Model(gorm_model.YoungeeTaskInfo{}).
  24. Where("project_id = ? and strategy_id = ? and task_status = 2", recruitStrategy.ProjectID, int(recruitStrategy.StrategyID))
  25. err = tx.Where("complete_status = 4").Count(&TerminateNumber).Error
  26. if err != nil {
  27. logrus.WithContext(ctx).Errorf("[Finish service] error query mysql total, err:%+v", err)
  28. return nil, err
  29. }
  30. defaultMap[recruitStrategy.StrategyID] = TerminateNumber
  31. }
  32. res := new(http_model.GetFinishData)
  33. res.FinishRecruitStrategy = pack.MGormRecruitStrategyListToHttpGetFinishDataInfoList(finishRecruitStrategyList,defaultMap)
  34. return res, nil
  35. }