|
- package models
-
- import (
- "code.gitea.io/gitea/modules/timeutil"
- "time"
- )
-
- type TaskAccomplishLog struct {
- ID int64 `xorm:"pk autoincr"`
- ConfigId int64 `xorm:"NOT NULL"`
- TaskCode string `xorm:"NOT NULL"`
- UserId int64 `xorm:"INDEX NOT NULL"`
- ActionId int64
- CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
- }
-
- type PeriodResult struct {
- StartTime time.Time
- EndTime time.Time
- LeftTime time.Duration
- }
-
- func getTaskAccomplishLog(tl *TaskAccomplishLog) (*TaskAccomplishLog, error) {
- has, err := x.Get(tl)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, ErrRecordNotExist{}
- }
- return tl, nil
- }
-
- func CountTaskAccomplishLogInTaskPeriod(taskCode string, userId int64, period *PeriodResult) (int64, error) {
- if period == nil {
- return x.Where("task_code = ? and user_id = ?", taskCode, userId).Count(&TaskAccomplishLog{})
- } else {
- return x.Where("task_code = ? and user_id = ? and created_unix >= ? and created_unix < ? ", taskCode, userId, period.StartTime.Unix(), period.EndTime.Unix()).Count(&TaskAccomplishLog{})
- }
-
- }
-
- func InsertTaskAccomplishLog(tl *TaskAccomplishLog) (int64, error) {
- return x.Insert(tl)
- }
|