plat_schedule.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package plat
  2. import (
  3. "context"
  4. "strings"
  5. "dashoo.cn/opms_libary/myerrors"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/gogf/gf/util/gconv"
  8. "dashoo.cn/micro/app/dao/plat"
  9. model "dashoo.cn/micro/app/model/plat"
  10. "dashoo.cn/micro/app/service"
  11. )
  12. type scheduleService struct {
  13. *service.ContextService
  14. Dao *plat.PlatScheduleDao
  15. }
  16. func NewScheduleService(ctx context.Context) (svc *scheduleService, err error) {
  17. svc = new(scheduleService)
  18. if svc.ContextService, err = svc.Init(ctx); err != nil {
  19. return nil, err
  20. }
  21. svc.Dao = plat.NewPlatScheduleDao(svc.Tenant)
  22. return svc, nil
  23. }
  24. //GetList 日程列表
  25. func (s *scheduleService) GetList(req *model.ScheduleSearchReq) (total int, scheduleList []*model.GetScheduleRes, err error) {
  26. Model := s.Dao.M
  27. Model = Model.Where("user_id = ", s.GetCxtUserId())
  28. if req.SchDate != nil {
  29. schDate := gconv.String(req.SchDate)
  30. begin := strings.Split(schDate, " ")[0] + " 00:00:00"
  31. end := strings.Split(schDate, " ")[0] + " 23:59:59"
  32. Model = Model.Where("sch_date >= ? AND sch_date <= ? ", begin, end)
  33. }
  34. total, err = Model.Count()
  35. if err != nil {
  36. g.Log().Error(err)
  37. err = myerrors.DbError("获取总行数失败。")
  38. return
  39. }
  40. err = Model.Page(req.GetPage()).Order("id desc").Scan(&scheduleList)
  41. if err != nil {
  42. g.Log().Error(err)
  43. return
  44. }
  45. return
  46. }
  47. //Create 创建日程信息
  48. func (s *scheduleService) Create(req *model.AddScheduleSeq) (insertId int64, err error) {
  49. schedule := new(model.PlatSchedule)
  50. if err = gconv.Struct(req, schedule); err != nil {
  51. return
  52. }
  53. service.SetCreatedInfo(schedule, s.GetCxtUserId(), s.GetCxtUserName())
  54. schedule.UserId = s.GetCxtUserId()
  55. schedule.UserName = s.GetCxtUserName()
  56. insertId, err = s.Dao.InsertAndGetId(schedule)
  57. if err != nil {
  58. g.Log().Error(err)
  59. return 0, err
  60. }
  61. return
  62. }