| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package repository
- import (
- "wails-app/internal/dao"
- "wails-app/internal/global"
- )
- type ShiftRepository struct{}
- func (r *ShiftRepository) Create(record *dao.ShiftRecord) error {
- return global.GVA_DB.Create(record).Error
- }
- func (r *ShiftRepository) Update(record *dao.ShiftRecord) error {
- return global.GVA_DB.Save(record).Error
- }
- func (r *ShiftRepository) GetActive(operatorID uint) (*dao.ShiftRecord, error) {
- var s dao.ShiftRecord
- err := global.GVA_DB.Where("operator_id = ? AND status = ?", operatorID, "active").First(&s).Error
- if err != nil {
- return nil, err
- }
- return &s, nil
- }
- type ShiftListQuery struct {
- Page int `form:"page"`
- PageSize int `form:"page_size"`
- }
- func (r *ShiftRepository) List(q ShiftListQuery, operatorID uint) ([]dao.ShiftRecord, int64, error) {
- db := global.GVA_DB.Model(&dao.ShiftRecord{}).Where("operator_id = ?", operatorID)
- var total int64
- db.Count(&total)
- if q.Page <= 0 {
- q.Page = 1
- }
- if q.PageSize <= 0 {
- q.PageSize = 10
- }
- var list []dao.ShiftRecord
- err := db.Order("id DESC").Offset((q.Page - 1) * q.PageSize).Limit(q.PageSize).Find(&list).Error
- return list, total, err
- }
|