plat_schedule.go 1.7 KB

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