|
|
@@ -61,7 +61,7 @@ func Accomplish(action models.Action) { |
|
|
|
actions = append(actions, models.Action{ |
|
|
|
ID: action.ID, |
|
|
|
OpType: models.ActionDatasetRecommended, |
|
|
|
ActUserID: action.UserID, |
|
|
|
ActUserID: action.ActUserID, |
|
|
|
UserID: user.ID, |
|
|
|
RepoID: action.RepoID, |
|
|
|
Content: action.Content, |
|
|
@@ -85,7 +85,11 @@ func accomplish(action models.Action, taskType models.TaskType) error { |
|
|
|
log.Error("PANIC:%v", combinedErr) |
|
|
|
} |
|
|
|
}() |
|
|
|
log.Info("accomplish start. actionId=%d userId= %d", action.ID, action.UserID) |
|
|
|
userId := action.UserID |
|
|
|
if !isUserAvailable(userId) { |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
//get task config |
|
|
|
config, err := GetTaskConfig(string(taskType)) |
|
|
@@ -127,7 +131,7 @@ func accomplish(action models.Action, taskType models.TaskType) error { |
|
|
|
Type: models.GetRewardTypeInstance(config.AwardType), |
|
|
|
}, |
|
|
|
TargetUserId: userId, |
|
|
|
RequestId: fmt.Sprint(action.ID), |
|
|
|
RequestId: fmt.Sprintf("%d_%d", action.ID, userId), |
|
|
|
OperateType: models.OperateTypeIncrease, |
|
|
|
RejectPolicy: models.FillUp, |
|
|
|
}) |
|
|
@@ -143,3 +147,17 @@ func isLimited(userId int64, config *models.TaskConfig, rejectPolicy models.Limi |
|
|
|
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 |
|
|
|
} |