|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package models
-
- import (
- "code.gitea.io/gitea/modules/timeutil"
- "fmt"
- )
-
- type RewardSourceType string
-
- const (
- SourceTypeAccomplishTask RewardSourceType = "ACCOMPLISH_TASK"
- SourceTypeAdminOperate RewardSourceType = "ADMIN_OPERATE"
- SourceTypeRunCloudbrainTask RewardSourceType = "RUN_CLOUBRAIN_TASK"
- )
-
- func (r *RewardSourceType) String() string {
- return fmt.Sprint(r)
- }
-
- type RewardType string
-
- const (
- RewardTypePoint RewardType = "POINT"
- )
-
- func (r *RewardType) String() string {
- return fmt.Sprint(r)
- }
-
- const (
- OperateTypeIncrease = "INCREASE_POINT"
- OperateTypeDecrease = "DECREASE_POINT"
- )
-
- const (
- OperateStatusOperating = "OPERATING"
- OperateStatusSucceeded = "SUCCEEDED"
- OperateStatusFailed = "FAILED"
- )
-
- type RewardOperateRecord struct {
- ID int64 `xorm:"pk autoincr"`
- UserId int64 `xorm:"INDEX NOT NULL"`
- Amount int64 `xorm:"NOT NULL"`
- RewardType string `xorm:"NOT NULL"`
- SourceType string `xorm:"NOT NULL"`
- SourceId string `xorm:"INDEX NOT NULL"`
- RequestId string `xorm:"INDEX NOT NULL"`
- OperateType string `xorm:"NOT NULL"`
- CycleIntervalSeconds int64 `xorm:"NOT NULL default 0"`
- Status string `xorm:"NOT NULL"`
- Remark string
- CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
- UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
- }
-
- func getPointOperateRecord(tl *RewardOperateRecord) (*RewardOperateRecord, error) {
- has, err := x.Get(tl)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, ErrRecordNotExist{}
- }
- return tl, nil
- }
-
- func GetPointOperateRecordBySourceTypeAndRequestId(sourceType, requestId string) (*RewardOperateRecord, error) {
- t := &RewardOperateRecord{
- SourceType: sourceType,
- RequestId: requestId,
- }
- return getPointOperateRecord(t)
- }
-
- func InsertAwardOperateRecord(tl *RewardOperateRecord) (int64, error) {
- return x.Insert(tl)
- }
-
- func UpdateAwardOperateRecordStatus(sourceType, requestId, oldStatus, newStatus string) (int64, error) {
- r := &RewardOperateRecord{
- Status: newStatus,
- }
- return x.Cols("status").Where("source_type=? and requestId=? and status=?", sourceType, requestId, oldStatus).Update(r)
- }
|