| @@ -3,6 +3,7 @@ package models | |||||
| import ( | import ( | ||||
| "code.gitea.io/gitea/modules/log" | "code.gitea.io/gitea/modules/log" | ||||
| "code.gitea.io/gitea/modules/timeutil" | "code.gitea.io/gitea/modules/timeutil" | ||||
| "fmt" | |||||
| "strconv" | "strconv" | ||||
| "strings" | "strings" | ||||
| "xorm.io/builder" | "xorm.io/builder" | ||||
| @@ -130,21 +131,27 @@ func (l RewardRecordShowList) loadAction() error { | |||||
| return nil | return nil | ||||
| } | } | ||||
| actionIds := make([]int64, 0) | actionIds := make([]int64, 0) | ||||
| actionIdMap := make(map[int64]*RewardOperateRecordShow, 0) | |||||
| for _, r := range l { | for _, r := range l { | ||||
| if r.SourceType != SourceTypeAccomplishTask.Name() { | if r.SourceType != SourceTypeAccomplishTask.Name() { | ||||
| continue | continue | ||||
| } | } | ||||
| i, _ := strconv.ParseInt(r.SourceId, 10, 64) | i, _ := strconv.ParseInt(r.SourceId, 10, 64) | ||||
| actionIds = append(actionIds, i) | actionIds = append(actionIds, i) | ||||
| actionIdMap[i] = r | |||||
| } | } | ||||
| actions, err := GetActionByIds(actionIds) | actions, err := GetActionByIds(actionIds) | ||||
| if err != nil { | if err != nil { | ||||
| return err | return err | ||||
| } | } | ||||
| actionIdMap := make(map[string]*Action, 0) | |||||
| for _, v := range actions { | for _, v := range actions { | ||||
| actionIdMap[v.ID].Action = v.ToShow() | |||||
| actionIdMap[fmt.Sprint(v.ID)] = v | |||||
| } | |||||
| for i, r := range l { | |||||
| act := actionIdMap[r.SourceId] | |||||
| if act != nil { | |||||
| l[i].Action = act.ToShow() | |||||
| } | |||||
| } | } | ||||
| return nil | return nil | ||||
| } | } | ||||
| @@ -3101,9 +3101,9 @@ task_gputrainjob=`创建了CPU/GPU类型训练任务 <a href="%s/cloudbrain/trai | |||||
| task_c2netnputrainjob=`创建了NPU类型训练任务 <a href="%s/grampus/train-job/%s">%s</a>` | task_c2netnputrainjob=`创建了NPU类型训练任务 <a href="%s/grampus/train-job/%s">%s</a>` | ||||
| task_c2netgputrainjob=`创建了CPU/GPU类型训练任务 <a href="%s/grampus/train-job/%s">%s</a>` | task_c2netgputrainjob=`创建了CPU/GPU类型训练任务 <a href="%s/grampus/train-job/%s">%s</a>` | ||||
| binded_wechat=绑定微信 | binded_wechat=绑定微信 | ||||
| dataset_recommended=`创建的数据集<a href="%s/datasets">%s</a>被设置为推荐数据集` | |||||
| create_image=`提交了镜像<span style="font-weight:bold;">%s</span>` | |||||
| image_recommended=`提交的镜像<span style="font-weight:bold;">%s</span>被设置为推荐镜像` | |||||
| dataset_recommended=`创建的数据集 <a href="%s/datasets">%s</a> 被设置为推荐数据集` | |||||
| create_image=`提交了镜像 <span style="font-weight:bold;">%s</span>` | |||||
| image_recommended=`提交的镜像 <span style="font-weight:bold;">%s</span> 被设置为推荐镜像` | |||||
| update_user_avatar=更新了头像 | update_user_avatar=更新了头像 | ||||
| [tool] | [tool] | ||||
| @@ -61,7 +61,7 @@ func Accomplish(action models.Action) { | |||||
| actions = append(actions, models.Action{ | actions = append(actions, models.Action{ | ||||
| ID: action.ID, | ID: action.ID, | ||||
| OpType: models.ActionDatasetRecommended, | OpType: models.ActionDatasetRecommended, | ||||
| ActUserID: action.UserID, | |||||
| ActUserID: action.ActUserID, | |||||
| UserID: user.ID, | UserID: user.ID, | ||||
| RepoID: action.RepoID, | RepoID: action.RepoID, | ||||
| Content: action.Content, | Content: action.Content, | ||||
| @@ -85,7 +85,11 @@ func accomplish(action models.Action, taskType models.TaskType) error { | |||||
| log.Error("PANIC:%v", combinedErr) | log.Error("PANIC:%v", combinedErr) | ||||
| } | } | ||||
| }() | }() | ||||
| log.Info("accomplish start. actionId=%d userId= %d", action.ID, action.UserID) | |||||
| userId := action.UserID | userId := action.UserID | ||||
| if !isUserAvailable(userId) { | |||||
| return nil | |||||
| } | |||||
| //get task config | //get task config | ||||
| config, err := GetTaskConfig(string(taskType)) | config, err := GetTaskConfig(string(taskType)) | ||||
| @@ -127,7 +131,7 @@ func accomplish(action models.Action, taskType models.TaskType) error { | |||||
| Type: models.GetRewardTypeInstance(config.AwardType), | Type: models.GetRewardTypeInstance(config.AwardType), | ||||
| }, | }, | ||||
| TargetUserId: userId, | TargetUserId: userId, | ||||
| RequestId: fmt.Sprint(action.ID), | |||||
| RequestId: fmt.Sprintf("%d_%d", action.ID, userId), | |||||
| OperateType: models.OperateTypeIncrease, | OperateType: models.OperateTypeIncrease, | ||||
| RejectPolicy: models.FillUp, | RejectPolicy: models.FillUp, | ||||
| }) | }) | ||||
| @@ -143,3 +147,17 @@ func isLimited(userId int64, config *models.TaskConfig, rejectPolicy models.Limi | |||||
| return false | return false | ||||
| } | } | ||||
| func isUserAvailable(userId int64) bool { | |||||
| if userId < 1 { | |||||
| return false | |||||
| } | |||||
| user, err := models.GetUserByID(userId) | |||||
| if err != nil || user == nil { | |||||
| return false | |||||
| } | |||||
| if user.IsOrganization() { | |||||
| return false | |||||
| } | |||||
| return true | |||||
| } | |||||