duty.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package duty
  2. import (
  3. "dashoo.cn/micro_libary/db"
  4. "dashoo.cn/modi_webapi/app/common"
  5. "dashoo.cn/modi_webapi/app/model/duty"
  6. "database/sql"
  7. "github.com/gogf/gf/errors/gerror"
  8. "github.com/gogf/gf/os/gtime"
  9. )
  10. // DutyService 值班定义
  11. type DutyService struct {
  12. db.ServiceBase
  13. }
  14. // 初始化DutyService
  15. func NewDutyService(tenant string) (DutyService, error) {
  16. var service DutyService
  17. err := service.Init(tenant, duty.Table)
  18. return service, err
  19. }
  20. // 分页查询值班表
  21. func (s DutyService) GetPageList(param *duty.SelectPageReq) (list []*duty.Entity, total int, err error) {
  22. model := s.DB.Table(duty.Table)
  23. if param != nil {
  24. if param.Title != "" {
  25. model = model.Where("Title like ?", "%"+param.Title+"%")
  26. }
  27. if param.Year != 0 {
  28. model = model.Where("Year", param.Year)
  29. }
  30. if param.Term != 0 {
  31. model = model.Where("Term", param.Term)
  32. }
  33. }
  34. // 查询总数
  35. total, err = model.Where("isDel", 0).Count()
  36. if err != nil {
  37. return nil, -1, gerror.New("读取行数失败")
  38. }
  39. // 排序
  40. orderby := "Id asc" // 默认排序
  41. // 列表查询
  42. model = model.Page(int(param.Common.Page.Current), int(param.Common.Page.PagesSize)).Order(orderby)
  43. var result []*duty.Entity
  44. err = model.Struct(&result)
  45. // 如果未查到列表返回空
  46. if err == sql.ErrNoRows {
  47. return nil, 0, nil
  48. }
  49. return result, total, err
  50. }
  51. // 新增
  52. func (s DutyService) Add(param *duty.Entity) (id int64, err error) {
  53. param.CreatedTime = gtime.Now()
  54. if result, err := s.SafeModel.Insert(param); err != nil {
  55. return 0, err
  56. } else {
  57. id, _ = result.LastInsertId()
  58. }
  59. return id, nil
  60. }
  61. // 获取详情
  62. func (s DutyService) GetDutyById(id int) (res *duty.Entity, err error) {
  63. model := s.SafeModel.Where("Id", id).Where("isDel", 0)
  64. var result *duty.Entity
  65. err = model.Struct(&result)
  66. return result, nil
  67. }
  68. // 删除
  69. func (s DutyService) DeleteById(Ids *common.DeleteIdsReq, param *common.DeleteUpdReq) error {
  70. //设置更新时间
  71. param.UpdatedTime = gtime.Now()
  72. // 修改删除状态
  73. param.IsDel = 1
  74. if _, err := s.SafeModel.WherePri(Ids).Update(param); err != nil {
  75. return err
  76. }
  77. return nil
  78. }
  79. // 更新
  80. func (s DutyService) Save(param *duty.Entity) (*duty.Entity, error) {
  81. duty, err := s.GetDutyById(param.Id)
  82. if err != nil {
  83. return nil, err
  84. }
  85. // 设置更新时间
  86. param.UpdatedTime = gtime.Now()
  87. if _, err = s.SafeModel.Where(param.Id).Update(param); err != nil {
  88. return nil, err
  89. }
  90. return duty, nil
  91. }