From 7132468b86778694b83388dd4feac306bc434197 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 17 Jun 2021 20:16:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=EF=BC=9A=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=BB=84=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gm-server/app/controller/activity.ts | 14 ++++++++++++++ gm-server/app/router.ts | 3 ++- gm-server/app/service/Activity.ts | 17 +++++++++++++++++ shared/consts/constModules/sysConst.ts | 2 +- shared/consts/statusCode.ts | 1 + shared/db/ActivityGroupType.ts | 16 ++++++++++++++++ 6 files changed, 51 insertions(+), 2 deletions(-) diff --git a/gm-server/app/controller/activity.ts b/gm-server/app/controller/activity.ts index 73767b4f2..811b592dd 100644 --- a/gm-server/app/controller/activity.ts +++ b/gm-server/app/controller/activity.ts @@ -40,6 +40,20 @@ export default class ActivityController extends Controller { return } + public async updateActivityGroupType() { + const { ctx } = this; + const { groupType, groupTypeName, activityTypes } = ctx.request.body; + ctx.body = await ctx.service.activity.updateActivityGroupType(groupType, groupTypeName, activityTypes); + return + } + + public async deleteActivityGroupType() { + const { ctx } = this; + const { groupType } = ctx.request.body; + ctx.body = await ctx.service.activity.deleteActivityGroupType(groupType); + return + } + public async updateActivityGroupName() { const { ctx } = this; const { groupId, groupName } = ctx.request.body; diff --git a/gm-server/app/router.ts b/gm-server/app/router.ts index e5792d5e7..597511977 100644 --- a/gm-server/app/router.ts +++ b/gm-server/app/router.ts @@ -67,5 +67,6 @@ export default (app: Application) => { router.post('/api/activity/creategroup', tokenParser, controller.activity.createGroup); router.post('/api/activity/deletegroup', tokenParser, controller.activity.deleteGroup); router.post('/api/activity/getactivitygrouptypelist', controller.activity.getActivityGroupTypeList); - + router.post('/api/activity/saveactivitygrouptypelist', controller.activity.updateActivityGroupType); + router.post('/api/activity/deleteactivitygrouptype', controller.activity.deleteActivityGroupType); }; diff --git a/gm-server/app/service/Activity.ts b/gm-server/app/service/Activity.ts index f6cca5788..c60e7246f 100644 --- a/gm-server/app/service/Activity.ts +++ b/gm-server/app/service/Activity.ts @@ -197,4 +197,21 @@ export default class Activity extends Service { }); } + public async updateActivityGroupType(groupType: number|string, groupTypeName: string, activityTypes: number[]) { + const { ctx } = this; + let result; + if(groupType == 'new') { + result = await ActivityGroupTypeModel.createActivityGroupType(groupTypeName, activityTypes); + } else if (typeof groupType == 'number') { + result = await ActivityGroupTypeModel.updateActivityGroupType(groupType, groupTypeName, activityTypes); + } + if(!result) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND); + return ctx.service.utils.resResult(STATUS.SUCCESS); + } + + public async deleteActivityGroupType(groupType: number) { + const { ctx } = this; + await ActivityGroupTypeModel.deleteActivityGroupType(groupType); + return ctx.service.utils.resResult(STATUS.SUCCESS); + } } diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 04b4b2a60..b6b444673 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -39,7 +39,7 @@ export const COUNTER = { SERVER_GROUP: { name: 'group', def: 1 }, SERVER_BY_TYPE: { name: 'serverby', def: 1 }, SERVER: { name: 'server', def: 1 }, - ACTIVITY_GROUP_TYPE: { name: 'actgrptype', def: 0 } + ACTIVITY_GROUP_TYPE: { name: 'actgrptype', def: 1 } }; export const DEFAULT_HEROES = [19, 53, 46, 40, 22, 56, 32, 28, 18]; diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index 56eec27c5..74d00f826 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -382,6 +382,7 @@ export const STATUS = { GM_CAN_NOT_EDIT_ACT: { code: 60016, simStr: '活动期间不可编辑活动' }, GM_STATEGY_NOT_FOUND: { code: 60017, simStr: '未找到该策略' }, GM_SERVER_NOT_FOUND: { code: 60018, simStr: '未找到该服' }, + GM_ACTIVITY_GROUP_TYPE_NOT_FOUND: { code: 60019, simStr: '未找到活动组类型' }, // 支付相关状态 70000 - 79999 NO_PRODUCT_ID: { code: 70001, simStr: '无效商品' }, NO_PAY_TYPE: { code: 70002, simStr: '无效支付类型' }, diff --git a/shared/db/ActivityGroupType.ts b/shared/db/ActivityGroupType.ts index 16eb6c0d2..65f397a9c 100644 --- a/shared/db/ActivityGroupType.ts +++ b/shared/db/ActivityGroupType.ts @@ -38,6 +38,22 @@ export default class Activity_GroupType extends BaseModel { return result; } + public static async updateActivityGroupType(groupType: number, groupTypeName: string, types: number[], uid = 1) { + let activityTypes = types.map((value, index) => { + return { index: index + 1, activityType: value }; + }); + + let result: ActivityGroupTypeInter = await ActivityGroupTypeModel.findOneAndUpdate({ groupType }, { + $set: { groupTypeName, activityTypes, updatedBy: uid } + }, { new: true }).lean(); + return result; + } + + public static async deleteActivityGroupType(groupType: number) { + let result = await ActivityGroupTypeModel.deleteMany({ groupType }); + return result; + } + private static getSearchObj(form: { groupType?: number, groupTypeName?: string }) { let searchObj = {}; if(form.groupType != undefined) searchObj['groupType'] = form.groupType;