diff --git a/models/reward_operate_record.go b/models/reward_operate_record.go
index f201be646..d9114d166 100644
--- a/models/reward_operate_record.go
+++ b/models/reward_operate_record.go
@@ -249,22 +249,23 @@ type AdminRewardOperateReq struct {
}
type RewardOperateRecordShow struct {
- SerialNo string
- Status string
- OperateType string
- SourceId string
- Amount int64
- LossAmount int64
- BalanceAfter int64
- Remark string
- SourceType string
- UserName string
- LastOperateDate timeutil.TimeStamp
- UnitPrice int64
- SuccessCount int
- Action *ActionShow
- Cloudbrain *CloudbrainShow
- AdminLog *RewardAdminLogShow
+ SerialNo string
+ Status string
+ OperateType string
+ SourceId string
+ Amount int64
+ LossAmount int64
+ BalanceAfter int64
+ Remark string
+ SourceType string
+ SourceTemplateId string
+ UserName string
+ LastOperateDate timeutil.TimeStamp
+ UnitPrice int64
+ SuccessCount int
+ Action *ActionShow
+ Cloudbrain *CloudbrainShow
+ AdminLog *RewardAdminLogShow
}
func getPointOperateRecord(tl *RewardOperateRecord) (*RewardOperateRecord, error) {
@@ -419,7 +420,7 @@ func GetRewardRecordShowList(opts *RewardRecordListOpts) (RewardRecordShowList,
r := make([]*RewardOperateRecordShow, 0)
err = x.Table("reward_operate_record").Cols("reward_operate_record.source_id", "reward_operate_record.serial_no",
"reward_operate_record.status", "reward_operate_record.operate_type", "reward_operate_record.amount",
- "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type",
+ "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type", "reward_operate_record.source_template_id",
"reward_operate_record.last_operate_unix as last_operate_date").
Where(cond).Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).OrderBy(string(opts.OrderBy)).Find(&r)
@@ -441,7 +442,7 @@ func GetAdminRewardRecordShowList(opts *RewardRecordListOpts) (RewardRecordShowL
case OperateTypeIncrease:
err = x.Table("reward_operate_record").Cols("reward_operate_record.source_id", "reward_operate_record.serial_no",
"reward_operate_record.status", "reward_operate_record.operate_type", "reward_operate_record.amount",
- "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type",
+ "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type", "reward_operate_record.source_template_id",
"reward_operate_record.last_operate_unix as last_operate_date", "public.user.name as user_name",
"point_account_log.balance_after").
Join("LEFT", "public.user", "reward_operate_record.user_id = public.user.id").
@@ -450,7 +451,7 @@ func GetAdminRewardRecordShowList(opts *RewardRecordListOpts) (RewardRecordShowL
case OperateTypeDecrease:
err = x.Table("reward_operate_record").Cols("reward_operate_record.source_id", "reward_operate_record.serial_no",
"reward_operate_record.status", "reward_operate_record.operate_type", "reward_operate_record.amount",
- "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type",
+ "reward_operate_record.loss_amount", "reward_operate_record.remark", "reward_operate_record.source_type", "reward_operate_record.source_template_id",
"reward_operate_record.last_operate_unix as last_operate_date", "public.user.name as user_name",
"reward_periodic_task.amount as unit_price", "reward_periodic_task.success_count").
Join("LEFT", "public.user", "reward_operate_record.user_id = public.user.id").
diff --git a/web_src/vuepages/langs/config/en-US.js b/web_src/vuepages/langs/config/en-US.js
index 9258d1656..bcd1cfe43 100644
--- a/web_src/vuepages/langs/config/en-US.js
+++ b/web_src/vuepages/langs/config/en-US.js
@@ -54,6 +54,7 @@ const en = {
taskName: 'Task Name',
createdRepository: 'created repository ',
+ repositoryWasDel: 'repository was deleted',
openedIssue: 'opened issue ',
createdPullRequest: 'created pull request ',
commentedOnIssue: 'commented on issue ',
diff --git a/web_src/vuepages/langs/config/zh-CN.js b/web_src/vuepages/langs/config/zh-CN.js
index c9d9f7a8c..5b8e800d8 100644
--- a/web_src/vuepages/langs/config/zh-CN.js
+++ b/web_src/vuepages/langs/config/zh-CN.js
@@ -54,6 +54,7 @@ const zh = {
taskName: '任务名称',
createdRepository: '创建了项目',
+ repositoryWasDel: '项目已删除',
openedIssue: '创建了任务',
createdPullRequest: '创建了合并请求',
commentedOnIssue: '评论了任务',
diff --git a/web_src/vuepages/pages/reward/point/utils.js b/web_src/vuepages/pages/reward/point/utils.js
index 4d0f359a3..800fd64e2 100644
--- a/web_src/vuepages/pages/reward/point/utils.js
+++ b/web_src/vuepages/pages/reward/point/utils.js
@@ -25,7 +25,7 @@ const getJobType = (key) => {
};
const getJobTypeLink = (record, type) => {
- let link = type === 'INCREASE' ? record.Action.RepoLink : '/' + record.Cloudbrain.RepoFullName;
+ let link = type === 'INCREASE' ? record.Action?.RepoLink : '/' + record.Cloudbrain?.RepoFullName;
const cloudbrain = type === 'INCREASE' ? record.Action?.Cloudbrain : record.Cloudbrain;
switch (cloudbrain?.JobType) {
case 'DEBUG':
@@ -61,7 +61,7 @@ const renderSpecStr = (spec, showPoint) => {
var gpuMemStr = spec.GPUMemGiB != 0 ? `${i18n.t('resourcesManagement.gpuMem')}: ${spec.GPUMemGiB}GB, ` : '';
var sharedMemStr = spec.ShareMemGiB != 0 ? `, ${i18n.t('resourcesManagement.shareMem')}: ${spec.ShareMemGiB}GB` : '';
var workServerNum = spec.workServerNumber;
- var workServerNumStr = showPoint && workServerNum != 1 && spec.UnitPrice != 0 ? '*' + workServerNum + i18n.t('resourcesManagement.node') : '';
+ var workServerNumStr = showPoint && workServerNum != 1 && spec.UnitPrice != 0 ? '*' + workServerNum + i18n.t('resourcesManagement.node') : '';
var pointStr = showPoint ? `, ${spec.UnitPrice == 0 ? i18n.t('resourcesManagement.free') : spec.UnitPrice + i18n.t('resourcesManagement.point_hr') + workServerNumStr}` : '';
var specStr = `${ngpu}, CPU: ${spec.CpuCores}, ${gpuMemStr}${i18n.t('resourcesManagement.mem')}: ${spec.MemGiB}GB${sharedMemStr}${pointStr}`;
return specStr;
@@ -79,7 +79,7 @@ export const getRewardPointRecordInfo = (record) => {
duration: record?.Cloudbrain?.Duration || '--',
taskName: record?.Cloudbrain?.DisplayJobName || '--',
taskId: record?.Cloudbrain?.ID,
- action: record?.Action?.TaskType ? getPointAction(record.Action.TaskType) : '--',
+ action: record?.SourceTemplateId ? getPointAction(record.SourceTemplateId) : '--',
remark: record.Remark,
amount: record.Amount,
};
@@ -91,33 +91,41 @@ export const getRewardPointRecordInfo = (record) => {
record.Action.Cloudbrain.oJobType = 'MODELSAFETY';
record.Action.Cloudbrain.JobType = 'BENCHMARK';
}
- switch (record?.Action?.TaskType) {
+ switch (record?.SourceTemplateId) {
case 'CreatePublicRepo': // 创建公开项目 - 创建了项目OpenI/aiforge
- out.remark = `${i18n.t('createdRepository')}${record.Action.ShortRepoFullDisplayName}`;
+ out.remark = record.Action ? `${i18n.t('createdRepository')}${record.Action.ShortRepoFullDisplayName}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'CreateIssue': // 每日提出任务 - 创建了任务PCL-Platform.Intelligence/AISynergy#19
- out.remark = `${i18n.t('openedIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`;
+ out.remark = record.Action ? `${i18n.t('openedIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'CreatePullRequest': // 每日提出PR - 创建了合并请求OpenI/aiforge#1
- out.remark = `${i18n.t('createdPullRequest')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`;
+ out.remark = record.Action ? `${i18n.t('createdPullRequest')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'CommentIssue': // 发表评论 - 评论了任务PCL-Platform.Intelligence/AISynergy#19
- out.remark = `${i18n.t('commentedOnIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`;
+ out.remark = record.Action ? `${i18n.t('commentedOnIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'UploadAttachment': // 上传数据集文件 - 上传了数据集文件MMISTData.zip
- out.remark = `${i18n.t('uploadDataset')}${record.Action.RefName}`;
+ out.remark = record.Action ? `${i18n.t('uploadDataset')}${record.Action?.RefName}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'CreateNewModelTask': // 导入新模型 - 导入了新模型resnet50_qx7l
- out.remark = `${i18n.t('createdNewModel')}${record.Action.RefName}`;
+ out.remark = record.Action ? `${i18n.t('createdNewModel')}${record.Action?.RefName}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'BindWechat': // 完成微信扫码验证 - 首次绑定微信奖励
out.remark = `${i18n.t('firstBindingWechatRewards')}`;
break;
case 'CreateCloudbrainTask': // 每日运行云脑任务 - 创建了(CPU/GPU/NPU)类型(调试/训练/推理/评测)任务tangl202204131431995
- out.remark = `${i18n.t('created')}${record.Action?.Cloudbrain?.ComputeResource}${i18n.t('type')}${getJobType(record.Action?.Cloudbrain?.JobType)} ${record.Action.RefName}`;
+ out.remark = record.Action ? `${i18n.t('created')}${record.Action?.Cloudbrain?.ComputeResource}${i18n.t('type')}${getJobType(record.Action?.Cloudbrain?.JobType)} ${record.Action.RefName}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'DatasetRecommended': // 数据集被平台推荐 - 数据集XXX被设置为推荐数据集
- out.remark = `${i18n.t('dataset')}${record.Action.Content && record.Action.Content.split('|')[1]}${i18n.t('setAsRecommendedDataset')}`;
+ out.remark = record.Action ? `${i18n.t('dataset')}${record.Action.Content && record.Action.Content.split('|')[1]}${i18n.t('setAsRecommendedDataset')}`
+ : `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
break;
case 'CreateImage': // 提交新公开镜像 - 提交了镜像jiangxiang_ceshi_tang03
out.remark = `${i18n.t('committedImage')}${record.Action.Content && record.Action.Content.split('|')[1]}`;
@@ -129,33 +137,37 @@ export const getRewardPointRecordInfo = (record) => {
out.remark = `${i18n.t('updatedAvatar')}`;
break;
case 'PushCommits': // 每日commit - 推送了xxxx分支的代码到OpenI/aiforge
- const opType = record.Action.OpType;
- if (opType == 5) {
- const words = record.Action.RefName.split('/');
- const branch = words[words.length - 1];
- out.remark = `${i18n.t('pushedBranch', {
- branch: `${branch}`
- })}${record.Action.ShortRepoFullDisplayName}`;
- } else if (opType == 9) {
- const words = record.Action.RefName.split('/');
- const tag = words[words.length - 1];
- out.remark = `${i18n.t('pushedTag', {
- tag: `${tag}`
- })}${record.Action.ShortRepoFullDisplayName}`;
- } else if (opType == 16) {
- const words = record.Action.RefName.split('/');
- const tag = words[words.length - 1];
- out.remark = `${i18n.t('deleteTag', {
- repo: `${record.Action.ShortRepoFullDisplayName}`,
- tag: tag,
- })}`;
- } else if (opType == 17) {
- const words = record.Action.RefName.split('/');
- const branch = words[words.length - 1];
- out.remark = `${i18n.t('deleteBranch', {
- repo: `${record.Action.ShortRepoFullDisplayName}`,
- branch: branch,
- })}`;
+ if (record?.Action) {
+ const opType = record.Action.OpType;
+ if (opType == 5) {
+ const words = record.Action.RefName.split('/');
+ const branch = words[words.length - 1];
+ out.remark = `${i18n.t('pushedBranch', {
+ branch: `${branch}`
+ })}${record.Action.ShortRepoFullDisplayName}`;
+ } else if (opType == 9) {
+ const words = record.Action.RefName.split('/');
+ const tag = words[words.length - 1];
+ out.remark = `${i18n.t('pushedTag', {
+ tag: `${tag}`
+ })}${record.Action.ShortRepoFullDisplayName}`;
+ } else if (opType == 16) {
+ const words = record.Action.RefName.split('/');
+ const tag = words[words.length - 1];
+ out.remark = `${i18n.t('deleteTag', {
+ repo: `${record.Action.ShortRepoFullDisplayName}`,
+ tag: tag,
+ })}`;
+ } else if (opType == 17) {
+ const words = record.Action.RefName.split('/');
+ const branch = words[words.length - 1];
+ out.remark = `${i18n.t('deleteBranch', {
+ repo: `${record.Action.ShortRepoFullDisplayName}`,
+ branch: branch,
+ })}`;
+ }
+ } else {
+ out.remark = `${getPointAction(record.SourceTemplateId)}(${i18n.t('repositoryWasDel')})`;
}
break;
default:
@@ -174,7 +186,11 @@ export const getRewardPointRecordInfo = (record) => {
} else if (record.SourceType === 'ACCOMPLISH_TASK') {
//
} else if (record.SourceType === 'RUN_CLOUDBRAIN_TASK') {
- out.taskName = `${record?.Cloudbrain?.DisplayJobName}`;
+ if (!record.Cloudbrain?.RepoFullName) {
+ out.taskName = `${record?.Cloudbrain?.DisplayJobName}(${i18n.t('repositoryWasDel')})`;
+ } else {
+ out.taskName = `${record?.Cloudbrain?.DisplayJobName}`;
+ }
const resourceSpec = record?.Cloudbrain?.ResourceSpec;
if (resourceSpec) {
resourceSpec.workServerNumber = record?.Cloudbrain?.WorkServerNumber || 1;