后台:任务对应活动

This commit is contained in:
luying
2021-06-30 18:21:50 +08:00
parent b151ba9fce
commit d4998891e3
6 changed files with 108 additions and 5 deletions

View File

@@ -109,5 +109,32 @@ export default class ActivityController extends Controller {
return
}
public async getActivityTaskPoint() {
const { ctx } = this;
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
ctx.body = await ctx.service.activity.getActivityTaskPoint(page, pageSize, sortField, sortOrder, form);
return
}
public async createTaskToActivity() {
const { ctx } = this;
const { taskType, activityId } = ctx.request.body;
ctx.body = await ctx.service.activity.createTaskToActivity(taskType, activityId);
return
}
public async updateActivityTaskPoint() {
const { ctx } = this;
const { taskType, taskId, activityId, point } = ctx.request.body;
ctx.body = await ctx.service.activity.updateActivityTaskPoint(taskType, taskId, activityId, point);
return
}
public async delActivityTaskPoint() {
const { ctx } = this;
const { taskType, taskId, activityId } = ctx.request.body;
ctx.body = await ctx.service.activity.delActivityTaskPoint(taskType, taskId, activityId);
return
}
}

View File

@@ -72,6 +72,10 @@ export default (app: Application) => {
router.post('/api/activity/deleteactivitygrouptype', controller.activity.deleteActivityGroupType);
router.post('/api/activity/saveactivitygrouptype', controller.activity.saveGroupTypeToActivityGroup);
router.post('/api/activity/getgroupdatabyid', controller.activity.getGroupDataById);
router.post('/api/activity/getactivitytaskpoint', controller.activity.getActivityTaskPoint);
router.post('/api/activity/createtasktoactivity', controller.activity.createTaskToActivity);
router.post('/api/activity/updateactivitytaskpoint', controller.activity.updateActivityTaskPoint);
router.post('/api/activity/delactivitytaskpoint', controller.activity.delActivityTaskPoint);
router.post('/api/mail/getgmmaillist', controller.mail.getGMMailList);
router.post('/api/mail/updategmmail', controller.mail.updateGMMail);

View File

@@ -6,6 +6,8 @@ import { ServerlistModel } from '@db/Serverlist';
import { GMUserType } from '@db/GMUser';
import { SignInData } from '@domain/activityField/signInField';
import { ActivityGroupTypeModel } from '@db/ActivityGroupType';
import { ActivityTaskPointModel } from '@db/ActivityTaskPoint';
import { gameData } from '@pubUtils/data';
/**
* Test Service
@@ -38,7 +40,7 @@ export default class Activity extends Service {
if(activity.type == ACTIVITY_TYPE.SIGN_IN || activity.type == ACTIVITY_TYPE.SIGN_IN_VIP) {
// 签到活动的不显示期内也可以编辑
let signInObj = new SignInData(activity);
let signInObj = new SignInData(activity, 0);
if(signInObj.beginTime < now.getTime() && signInObj.endTime > now.getTime() ) {
return this.ctx.service.utils.resResult(STATUS.GM_CAN_NOT_EDIT_ACT);
}
@@ -296,5 +298,38 @@ export default class Activity extends Service {
data: { groupId, groupType: type, activities }
});
}
public async getActivityTaskPoint(page: number, pageSize: number, sortField: string, sortOrder: string, form: {taskType?: number, taskId?: number, activityId?: number}) {
const { ctx } = this;
const list = await ActivityTaskPointModel.findByCondition(page, pageSize, sortField, sortOrder, form);
const total = await ActivityTaskPointModel.countByCondition(form);
return ctx.service.utils.resResult(STATUS.SUCCESS, {
list, total
});
}
public async createTaskToActivity(taskType: number, activityId: number) {
const { ctx } = this;
let dicTask = gameData.tasks.get(taskType);
if(!dicTask) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
for(let [id, dic] of dicTask) {
await ActivityTaskPointModel.createDataIfNotExist(taskType, id, activityId, dic['point']||0, ctx.user?.uid);
}
return ctx.service.utils.resResult(STATUS.SUCCESS);
}
public async updateActivityTaskPoint(taskType: number, taskId: number, activityId: number, point: number) {
const { ctx } = this;
let result = await ActivityTaskPointModel.updateData(taskType, taskId, activityId, point, ctx.user?.uid);
if(!result) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
return ctx.service.utils.resResult(STATUS.SUCCESS);
}
public async delActivityTaskPoint(taskType: number, taskId: number, activityId: number) {
const { ctx } = this;
await ActivityTaskPointModel.deleteData(taskType, taskId, activityId);
return ctx.service.utils.resResult(STATUS.SUCCESS);
}
}