@@ -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 | |||||
} |