后台:活动组类型
This commit is contained in:
@@ -54,6 +54,13 @@ export default class ActivityController extends Controller {
|
||||
return
|
||||
}
|
||||
|
||||
public async saveGroupTypeToActivityGroup() {
|
||||
const { ctx } = this;
|
||||
const { groupId, groupType } = ctx.request.body;
|
||||
ctx.body = await ctx.service.activity.saveGroupTypeToActivityGroup(groupId, groupType);
|
||||
return
|
||||
}
|
||||
|
||||
public async updateActivityGroupName() {
|
||||
const { ctx } = this;
|
||||
const { groupId, groupName } = ctx.request.body;
|
||||
|
||||
@@ -69,4 +69,5 @@ export default (app: Application) => {
|
||||
router.post('/api/activity/getactivitygrouptypelist', controller.activity.getActivityGroupTypeList);
|
||||
router.post('/api/activity/saveactivitygrouptypelist', controller.activity.updateActivityGroupType);
|
||||
router.post('/api/activity/deleteactivitygrouptype', controller.activity.deleteActivityGroupType);
|
||||
router.post('/api/activity/saveactivitygrouptype', controller.activity.saveGroupTypeToActivityGroup);
|
||||
};
|
||||
|
||||
@@ -111,7 +111,7 @@ export default class Activity extends Service {
|
||||
public async updateActivityGroupName(groupId: number, groupName: string) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
await ActivityGroupModel.updateGroupName(groupId, groupName, ctx.user?.uid);
|
||||
await ActivityGroupModel.updateGroup(groupId, {groupName}, ctx.user?.uid);
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
@@ -124,6 +124,23 @@ export default class Activity extends Service {
|
||||
public async saveActivitiesToGroup(groupId: number, activityIds: number[]) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
|
||||
if(!activityGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_NOT_FOUND);
|
||||
if(activityGroup.type != 0) {
|
||||
let activityGroupType = await ActivityGroupTypeModel.findByGroupType(activityGroup.type);
|
||||
if(!activityGroupType) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
let dic = activityGroupType.activityTypes;
|
||||
let activities = await ActivityModel.findActivityByIds(activityIds);
|
||||
for(let { type } of activities) {
|
||||
let index = dic.findIndex(cur => cur.activityType == type);
|
||||
if(index == -1) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_NOT_FIT_GROUP_TYPE);
|
||||
} else {
|
||||
dic.splice(index, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await ActivityGroupModel.setActivitiesToGroupData(groupId, activityIds, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
@@ -214,4 +231,12 @@ export default class Activity extends Service {
|
||||
await ActivityGroupTypeModel.deleteActivityGroupType(groupType);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async saveGroupTypeToActivityGroup(groupId: number, groupType: number) {
|
||||
const { ctx } = this;
|
||||
let groupTypeObj = await ActivityGroupTypeModel.findByGroupType(groupType);
|
||||
if(!groupTypeObj) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
await ActivityGroupModel.updateGroup(groupId, { type: groupType }, ctx.user?.uid);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user