diff --git a/gm-server/app/controller/activity.ts b/gm-server/app/controller/activity.ts index 07f5f4191..33d92bc60 100644 --- a/gm-server/app/controller/activity.ts +++ b/gm-server/app/controller/activity.ts @@ -52,6 +52,12 @@ export default class ActivityController extends Controller { return } + public async createDefaultActivityGroupType() { + const { ctx } = this; + ctx.body = await ctx.service.activity.createDefaultActivityGroupType(); + return + } + public async createGroup() { const { ctx } = this; ctx.body = await ctx.service.activity.createGroup(); diff --git a/gm-server/app/controller/game.ts b/gm-server/app/controller/game.ts index b9a512a5c..3ef5cbd81 100644 --- a/gm-server/app/controller/game.ts +++ b/gm-server/app/controller/game.ts @@ -9,6 +9,14 @@ export default class GameController extends Controller { return } + public async createRegion() { + const { ctx } = this; + + const { values } = ctx.request.body; + ctx.body = await ctx.service.game.createRegion(values); + return + } + public async getRegionStategy() { const { ctx } = this; const { id } = ctx.request.body; diff --git a/gm-server/app/router.ts b/gm-server/app/router.ts index 29b02ea60..ae5e6f0da 100644 --- a/gm-server/app/router.ts +++ b/gm-server/app/router.ts @@ -45,6 +45,7 @@ export default (app: Application) => { router.get('/api/users/getgiftcodedetailfile/:id/:filename', controller.users.getGiftCodeDetailFile); router.post('/api/game/getregions', tokenParser, controller.game.getRegions); + router.post('/api/game/createregion', controller.game.createRegion); router.post('/api/game/getservers', tokenParser, controller.game.getServers); router.post('/api/game/getregionstategy', tokenParser, controller.game.getRegionStategy); router.post('/api/game/getwhitelist', tokenParser, controller.game.getWhiteList); @@ -77,6 +78,7 @@ export default (app: Application) => { router.post('/api/activity/getallactivitygrouptypes', tokenParser, controller.activity.getAllActivityGroupTypes); router.post('/api/activity/saveactivitygrouptypelist', tokenParser, controller.activity.updateActivityGroupType); router.post('/api/activity/deleteactivitygrouptype', tokenParser, controller.activity.deleteActivityGroupType); + router.post('/api/activity/createdefaultactivitygrouptype', controller.activity.createDefaultActivityGroupType) router.post('/api/activity/getactivitytaskpoint', tokenParser, controller.activity.getActivityTaskPoint); router.post('/api/activity/createtasktoactivity', tokenParser, controller.activity.createTaskToActivity); router.post('/api/activity/updateactivitytaskpoint', tokenParser, controller.activity.updateActivityTaskPoint); diff --git a/gm-server/app/service/Activity.ts b/gm-server/app/service/Activity.ts index 01ce56615..bc01d4595 100644 --- a/gm-server/app/service/Activity.ts +++ b/gm-server/app/service/Activity.ts @@ -147,6 +147,12 @@ export default class Activity extends Service { return ctx.service.utils.resResult(STATUS.SUCCESS); } + public async createDefaultActivityGroupType() { + const { ctx } = this; + await ActivityGroupTypeModel.createDefaultActivityGroupType(ctx.user?.uid); + return ctx.service.utils.resResult(STATUS.SUCCESS); + } + 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); diff --git a/gm-server/app/service/Game.ts b/gm-server/app/service/Game.ts index fbb8f5b89..625cabb73 100644 --- a/gm-server/app/service/Game.ts +++ b/gm-server/app/service/Game.ts @@ -17,6 +17,7 @@ import { WhiteListModel } from '@db/RegionWhiteList'; import { RoleModel } from '@db/Role'; import { SearchMarqueeParam } from '@domain/backEndField/search'; import { DicServerName } from '@pubUtils/dictionary/DicServerName'; +import { CreateRegionParam } from '@domain/backEndField/params'; /** * Test Service @@ -32,6 +33,17 @@ export default class Game extends Service { }); } + public async createRegion(values: CreateRegionParam) { + const { ctx } = this; + let param = new CreateRegionParam(values); + + if(!param.checkParams()) return this.ctx.service.utils.resResult(STATUS.WRONG_PARMS); + let region = await RegionModel.createNewRegion(param, ctx.user?.uid) + return ctx.service.utils.resResult(STATUS.SUCCESS, { + region + }); + } + public async getServers() { const { ctx } = this; diff --git a/shared/db/ActivityGroupType.ts b/shared/db/ActivityGroupType.ts index 3e2ff126c..f85797b9c 100644 --- a/shared/db/ActivityGroupType.ts +++ b/shared/db/ActivityGroupType.ts @@ -31,6 +31,13 @@ export default class Activity_GroupType extends BaseModel { return result; } + public static async createDefaultActivityGroupType(uid = 1) { + let result: ActivityGroupTypeInter = await ActivityGroupTypeModel.findOneAndUpdate({ groupType: 0 }, { + $setOnInsert: { groupTypeName: "常规类型", activityTypes: [], createdBy: uid }, $set: { updatedBy: uid } + }, { new: true, upsert: true }).lean(); + return result; + } + public static async createActivityGroupType(groupTypeName: string, types: number[], uid = 1) { let activityTypes = types.map((value, index) => { return { index: index + 1, activityType: value }; diff --git a/shared/domain/backEndField/params.ts b/shared/domain/backEndField/params.ts index 6fcc203eb..ba14f3c6d 100644 --- a/shared/domain/backEndField/params.ts +++ b/shared/domain/backEndField/params.ts @@ -118,6 +118,29 @@ export class UpdateRegionParams { } } +export class CreateRegionParam { + name: string = ''; // 大区名 + prefix: string = ''; // 区名前缀 + remark: string = ''; + env: string = ''; // 环境变量 + gmLink: string; // 对应后台链接 + gameHost: string; // 长链接 + gmPort: number; // 后台使用的connector端口 + + constructor(obj: any) { + for(let key in obj) { + this[key] = obj[key]; + } + } + + checkParams() { + if(!this.name || !this.prefix || !this.env || !this.gmLink || !this.gameHost || !this.gmPort || !isNumber(this.gmPort) ) { + return false + } + return true; + } +} + export class CreateServerParam { env: string = ''; openTime: number = 0;