后台:权限
This commit is contained in:
@@ -18,6 +18,7 @@ import * as routeUtil from './app/util/routeUtil';
|
||||
import { preload } from './preload';
|
||||
import { globalFilter } from'./app/servers/connector/filter/global';
|
||||
import { guildAuthFilter } from'./app/servers/guild/filter/guildAuthFilter';
|
||||
import { tokenFilter } from'./app/servers/gm/filter/tokenFilter';
|
||||
import { connectRedis } from './app/pubUtils/redis';
|
||||
import * as timeTaskService from './app/services/timeTaskService';
|
||||
import * as redlockCacheService from './app/services/redlockCacheService';
|
||||
@@ -125,6 +126,10 @@ app.configure(ALL_ENVS, 'guild', function () {
|
||||
app.filter(guildAuthFilter(app));
|
||||
})
|
||||
|
||||
app.configure(ALL_ENVS, 'gm', function () {
|
||||
app.filter(tokenFilter(app));
|
||||
});
|
||||
|
||||
app.configure(ALL_ENVS, 'systimer', function () {
|
||||
app.event.on('start_all', async (servers) => {
|
||||
await redisService.initAllRank();
|
||||
|
||||
22
game-server/app/servers/gm/filter/tokenFilter.ts
Normal file
22
game-server/app/servers/gm/filter/tokenFilter.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import {Application, RouteRecord, FrontendOrBackendSession, HandlerCallback } from "pinus";
|
||||
|
||||
export function tokenFilter(app: Application) {
|
||||
return new Filter(app);
|
||||
}
|
||||
|
||||
var Filter = function(this: any, app: Application) {
|
||||
this.app = app;
|
||||
};
|
||||
|
||||
Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, next: HandlerCallback) {
|
||||
const uid = session.get('uid');
|
||||
let route = routeRecord.route;
|
||||
console.log('********uid', uid, route);
|
||||
|
||||
|
||||
next(null);
|
||||
};
|
||||
|
||||
Filter.prototype.after = function (err: Error, routeRecord: RouteRecord, msg: any, session: FrontendOrBackendSession, resp: any, next: HandlerCallback) {
|
||||
next(err);
|
||||
};
|
||||
@@ -128,14 +128,6 @@ export class GmHandler {
|
||||
}
|
||||
}
|
||||
|
||||
async createMarquee(msg: { startTime: number, endTime: number, interval: number, content: string }, session: BackendSession) {
|
||||
const { startTime, endTime, interval, content } = msg;
|
||||
let marquee = await MarqueeModel.createData({ timeType: 2, startTime, endTime, interval, content });
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
code: marquee.code
|
||||
});
|
||||
}
|
||||
|
||||
async updateActivity(msg: { activityId: number|string, groupId: number, beginTime: number, endTime: number, type: number, data: string, timeType: number, days: number, delayDay: number, interval: number }, session: BackendSession) {
|
||||
const { activityId, groupId, beginTime, endTime, type, data, timeType = 3, days = 0, delayDay = 0, interval = 0 } = msg;
|
||||
const uid = session.get('uid');
|
||||
|
||||
@@ -14,23 +14,6 @@ export default class ActivityController extends Controller {
|
||||
ctx.body = await ctx.service.activity.getAllActivities();
|
||||
}
|
||||
|
||||
// public async updateActivity() {
|
||||
// const { ctx } = this;
|
||||
// const { activityId, groupId, beginTime, endTime, type, data } = ctx.request.body;
|
||||
// let checkActivity = await ctx.service.activity.checkActivityEditable(activityId);
|
||||
// if(checkActivity) return ctx.body = checkActivity;
|
||||
// return ctx.body = await ctx.service.activity.updateActivity(activityId, groupId, beginTime, endTime, type, data);
|
||||
// }
|
||||
|
||||
public async deleteActivity() {
|
||||
const { ctx } = this;
|
||||
const { activityId } = ctx.request.body;
|
||||
let checkActivity = await ctx.service.activity.checkActivityEditable(activityId);
|
||||
if(checkActivity) return ctx.body = checkActivity;
|
||||
ctx.body = await ctx.service.activity.deleteActivity(activityId);
|
||||
|
||||
}
|
||||
|
||||
public async getActivityGroupList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, form: { serverId, current, groupId} } = ctx.request.body;
|
||||
@@ -69,20 +52,6 @@ export default class ActivityController extends Controller {
|
||||
return
|
||||
}
|
||||
|
||||
public async getGroupDataById() {
|
||||
const { ctx } = this;
|
||||
const { groupId } = ctx.request.body;
|
||||
ctx.body = await ctx.service.activity.getGroupDataById(groupId);
|
||||
return
|
||||
}
|
||||
|
||||
public async updateActivityGroup() {
|
||||
const { ctx } = this;
|
||||
const { groupId, groupName, activities, serverIds, type } = ctx.request.body;
|
||||
ctx.body = await ctx.service.activity.updateActivityGroup(groupId, groupName, activities, serverIds, type);
|
||||
return
|
||||
}
|
||||
|
||||
public async createGroup() {
|
||||
const { ctx } = this;
|
||||
ctx.body = await ctx.service.activity.createGroup();
|
||||
|
||||
@@ -2,20 +2,6 @@ import { Controller } from 'egg';
|
||||
|
||||
export default class GameController extends Controller {
|
||||
|
||||
// public async getServerListByEnv() {
|
||||
// const { ctx } = this;
|
||||
// ctx.body = await ctx.service.game.getServerListByEnv();
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async getServerList() {
|
||||
// const { ctx } = this;
|
||||
// const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
// ctx.body = await ctx.service.game.getServerList(page, pageSize, sortField, sortOrder, form);
|
||||
// return
|
||||
// }
|
||||
|
||||
public async getRegions() {
|
||||
const { ctx } = this;
|
||||
|
||||
@@ -78,64 +64,6 @@ export default class GameController extends Controller {
|
||||
return
|
||||
}
|
||||
|
||||
// public async getMaintenanceList() {
|
||||
// const { ctx } = this;
|
||||
// const {page, pageSize, sortField, sortOrder, form} = ctx.request.body;
|
||||
|
||||
// ctx.body = await ctx.service.game.getMaintenanceList(page, pageSize, sortField, sortOrder, form);
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async updateMaintenance() {
|
||||
// const { ctx } = this;
|
||||
// const {values, marquee, notice, mail} = ctx.request.body;
|
||||
|
||||
// let goods = [];
|
||||
// try{
|
||||
// goods = JSON.parse(mail.goods);
|
||||
// } catch(e) {
|
||||
// ctx.body = ctx.service.utils.resResult(STATUS.GM_JSON_FORMAT_ERR);
|
||||
// return
|
||||
// }
|
||||
|
||||
// ctx.body = await ctx.service.game.updateMaintenance(
|
||||
// {...values, startTime: new Date(values.startTime)},
|
||||
// {...marquee, startTime: new Date(marquee.startTime), endTime: new Date(marquee.endTime)},
|
||||
// {...notice, showStartTime: new Date(notice.showStartTime), showEndTime: new Date(notice.showEndTime), startTime: new Date(notice.startTime), endTime: new Date(notice.endTime)},
|
||||
// {...mail, goods});
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async getServerStategyList() {
|
||||
// const { ctx } = this;
|
||||
// const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
// ctx.body = await ctx.service.game.getServerStategyList(page, pageSize, sortField, sortOrder, form);
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async updateServerStategy() {
|
||||
// const { ctx } = this;
|
||||
// const { values } = ctx.request.body;
|
||||
|
||||
// ctx.body = await ctx.service.game.updateServerStategy(values);
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async createNewServer() {
|
||||
// const { ctx } = this;
|
||||
// const { name, openTime, serverType, stategyId } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.game.createNewServer(name, openTime, serverType, stategyId);
|
||||
// return
|
||||
// }
|
||||
|
||||
// public async updateServer() {
|
||||
// const { ctx } = this;
|
||||
// const { id, name, groupName, serverStatus, } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.game.updateServer(id, name, groupName, serverStatus);
|
||||
// return
|
||||
// }
|
||||
|
||||
public async getNoticeList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
@@ -18,12 +18,6 @@ export default class GmController extends Controller {
|
||||
ctx.body = await ctx.service.gmUser.getApiList();
|
||||
}
|
||||
|
||||
public async saveApi() {
|
||||
const { ctx } = this;
|
||||
const {api, name} = ctx.request.body;
|
||||
ctx.body = await ctx.service.gmUser.saveApi(api, name);
|
||||
}
|
||||
|
||||
public async getGroupList() {
|
||||
const { ctx } = this;
|
||||
ctx.body = await ctx.service.gmUser.getGroupList();
|
||||
@@ -49,7 +43,7 @@ export default class GmController extends Controller {
|
||||
|
||||
public async saveGmGroupToUser() {
|
||||
const { ctx } = this;
|
||||
const {uid, groups} = ctx.request.body;
|
||||
ctx.body = await ctx.service.gmUser.saveGmGroupToUser(uid, groups);
|
||||
const {uid, group, env} = ctx.request.body;
|
||||
ctx.body = await ctx.service.gmUser.saveGmGroupToUser(uid, group, env);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { Controller } from 'egg';
|
||||
import { STATUS } from '@consts';
|
||||
|
||||
export default class LoginController extends Controller {
|
||||
|
||||
@@ -19,26 +18,4 @@ export default class LoginController extends Controller {
|
||||
const {uid, password} = ctx.request.body;
|
||||
ctx.body = await ctx.service.gmUser.changeMyPass(uid, password);
|
||||
}
|
||||
|
||||
public async getMenu() {
|
||||
const { ctx } = this;
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
"list": [
|
||||
{
|
||||
path: '/test',
|
||||
authority: ['admin'],
|
||||
routes: [
|
||||
{
|
||||
path: '/test/create-role',
|
||||
authority: ['admin'],
|
||||
},
|
||||
{
|
||||
path: '/test/create-data',
|
||||
authority: ['admin'],
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,11 +60,4 @@ export default class MailController extends Controller {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
public async getGMMailRecords() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
ctx.body = await ctx.service.mail.getGMMailRecords(page, pageSize, sortField, sortOrder, form);
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,11 +8,11 @@ export default class UserController extends Controller {
|
||||
ctx.body = await ctx.service.users.getuserlist(page, pageSize, sortField, sortOrder, form);
|
||||
}
|
||||
|
||||
public async createRole() {
|
||||
const { ctx } = this;
|
||||
const { uid, roleName, serverId } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.createRole(uid, serverId, roleName);
|
||||
}
|
||||
// public async createRole() {
|
||||
// const { ctx } = this;
|
||||
// const { uid, roleName, serverId } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.createRole(uid, serverId, roleName);
|
||||
// }
|
||||
|
||||
// public async addAuth() {
|
||||
// const { ctx } = this;
|
||||
@@ -43,13 +43,6 @@ export default class UserController extends Controller {
|
||||
const { roleId, warId } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setWarRecord(roleId, warId);
|
||||
}
|
||||
|
||||
|
||||
public async getPveDefense() {
|
||||
const { ctx } = this;
|
||||
const { roleId } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.getPvpDefense(roleId);
|
||||
}
|
||||
|
||||
public async getHeroList() {
|
||||
const { ctx } = this;
|
||||
@@ -63,34 +56,22 @@ export default class UserController extends Controller {
|
||||
ctx.body = await ctx.service.users.deleteHero(roleId, parseInt(hid));
|
||||
}
|
||||
|
||||
public async setHeroLv() {
|
||||
const { ctx } = this;
|
||||
const { selectedRowKeys: roleIdAndHids, lv } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setHeroLv(roleIdAndHids, lv);
|
||||
}
|
||||
|
||||
public async setHeroParam() {
|
||||
const { ctx } = this;
|
||||
const { selectedRowKeys: roleIdAndHids, star, colorStar, quality } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setHeroParam(roleIdAndHids, star, colorStar, quality);
|
||||
}
|
||||
|
||||
public async setHeroJob() {
|
||||
const { ctx } = this;
|
||||
const { selectedRowKeys: roleIdAndHids, job } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setHeroJob(roleIdAndHids, job);
|
||||
}
|
||||
|
||||
// public async saveHeroToDefense() {
|
||||
// public async setHeroLv() {
|
||||
// const { ctx } = this;
|
||||
// const { roleId, roleName, hid } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.saveHeroToDefense(roleId, roleName, hid);
|
||||
// const { selectedRowKeys: roleIdAndHids, lv } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.setHeroLv(roleIdAndHids, lv);
|
||||
// }
|
||||
|
||||
// public async removeHeroFromDefense() {
|
||||
// public async setHeroParam() {
|
||||
// const { ctx } = this;
|
||||
// const { roleId, hid } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.removeHeroFromDefense(roleId, hid);
|
||||
// const { selectedRowKeys: roleIdAndHids, star, colorStar, quality } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.setHeroParam(roleIdAndHids, star, colorStar, quality);
|
||||
// }
|
||||
|
||||
// public async setHeroJob() {
|
||||
// const { ctx } = this;
|
||||
// const { selectedRowKeys: roleIdAndHids, job } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.setHeroJob(roleIdAndHids, job);
|
||||
// }
|
||||
|
||||
public async getEquipList() {
|
||||
@@ -129,11 +110,11 @@ export default class UserController extends Controller {
|
||||
ctx.body = await ctx.service.users.deleteItem(roleIdAndIds);
|
||||
}
|
||||
|
||||
public async setItemCount() {
|
||||
const { ctx } = this;
|
||||
const { selectedRowKeys: roleIdAndIds, count } = ctx.request.body;
|
||||
ctx.body = await ctx.service.users.setItemCount(roleIdAndIds, count);
|
||||
}
|
||||
// public async setItemCount() {
|
||||
// const { ctx } = this;
|
||||
// const { selectedRowKeys: roleIdAndIds, count } = ctx.request.body;
|
||||
// ctx.body = await ctx.service.users.setItemCount(roleIdAndIds, count);
|
||||
// }
|
||||
|
||||
public async getGiftCodeList() {
|
||||
const { ctx } = this;
|
||||
|
||||
@@ -2,8 +2,8 @@ import { GMUserModel } from '@db/GMUser';
|
||||
import { GMUserGroupModel } from '@db/GMUserGroup'
|
||||
import { GMGroupModel } from '@db/GMGroup'
|
||||
import { GMRecordModel } from '@db/GMRecord'
|
||||
import { ApiModel } from '@db/Api';
|
||||
import { STATUS } from '@consts';
|
||||
import { gameData } from '@pubUtils/data';
|
||||
|
||||
module.exports = () => {
|
||||
return async function tokenParser(ctx, next) {
|
||||
@@ -20,26 +20,28 @@ module.exports = () => {
|
||||
return;
|
||||
}
|
||||
const url = ctx.request.url;
|
||||
let apiResult = await ApiModel.getApi(url);
|
||||
if(!apiResult) {
|
||||
let dicApi = gameData.apiByUrl.get(url);
|
||||
if(!dicApi) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_MISS_API);
|
||||
return;
|
||||
}
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||
let flag = 0;
|
||||
for(let userGroup of userGroups) {
|
||||
let { groupId } = userGroup;
|
||||
let group = await GMGroupModel.getGroupById(groupId);
|
||||
if(group) {
|
||||
if(group.apis.includes(apiResult.apiId)) {
|
||||
flag = 1; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(flag != 1) {
|
||||
let userGroup = await GMUserGroupModel.getUserGroupByUid(user.uid);
|
||||
if(!userGroup) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_NO_AUTHORITY_GET);
|
||||
return;
|
||||
return
|
||||
}
|
||||
let group = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
|
||||
if(!group) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_NO_AUTHORITY_GET);
|
||||
return
|
||||
}
|
||||
|
||||
if(!group.apis.includes(0) && !group.apis.includes(dicApi.id)) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_NO_AUTHORITY_GET);
|
||||
return
|
||||
}
|
||||
|
||||
ctx.user = user;
|
||||
await next();
|
||||
if(ctx.request.method == "POST") {
|
||||
|
||||
@@ -7,116 +7,91 @@ export default (app: Application) => {
|
||||
router.get('/api', controller.home.index);
|
||||
router.post('/api/login/account', controller.login.login);
|
||||
router.post('/api/login/changeMyPass', tokenParser, controller.login.changeMyPass);
|
||||
router.post('/api/get_route', controller.login.getMenu);
|
||||
router.post('/api/currentUser', tokenParser, controller.login.currentUser);
|
||||
router.post('/api/upload/hotupdate', tokenParser, controller.upload.upload);
|
||||
router.post('/api/upload/uploadjson', tokenParser, controller.upload.uploadJson);
|
||||
router.post('/api/upload/reloadresource', tokenParser, controller.upload.reloadResource);
|
||||
|
||||
router.post('/api/gmaccount/getgmlist', tokenParser, controller.gmaccount.getGmList);
|
||||
router.post('/api/gmaccount/createaccount',tokenParser, controller.gmaccount.createGmAccount);
|
||||
router.post('/api/gmaccount/savegmgrouptouser',tokenParser, controller.gmaccount.saveGmGroupToUser);
|
||||
router.post('/api/gmaccount/getgrouplist',tokenParser, controller.gmaccount.getGroupList);
|
||||
router.post('/api/gmaccount/getapilist',tokenParser, controller.gmaccount.getApiList);
|
||||
router.post('/api/gmaccount/saveapi',tokenParser, controller.gmaccount.saveApi);
|
||||
router.post('/api/gmaccount/creategmgroup',tokenParser, controller.gmaccount.createGmGroup);
|
||||
router.post('/api/gmaccount/savegmgroup',tokenParser, controller.gmaccount.saveGmGroup);
|
||||
router.post('/api/gmaccount/saveapitogroup',tokenParser, controller.gmaccount.saveGmApiToGroup);
|
||||
router.post('/api/gmaccount/createaccount', tokenParser,controller.gmaccount.createGmAccount);
|
||||
router.post('/api/gmaccount/savegmgrouptouser', tokenParser,controller.gmaccount.saveGmGroupToUser);
|
||||
router.post('/api/gmaccount/getgrouplist', tokenParser,controller.gmaccount.getGroupList);
|
||||
router.post('/api/gmaccount/getapilist', tokenParser,controller.gmaccount.getApiList);
|
||||
router.post('/api/gmaccount/creategmgroup', tokenParser,controller.gmaccount.createGmGroup);
|
||||
router.post('/api/gmaccount/savegmgroup', tokenParser,controller.gmaccount.saveGmGroup);
|
||||
router.post('/api/gmaccount/saveapitogroup', tokenParser,controller.gmaccount.saveGmApiToGroup);
|
||||
|
||||
|
||||
router.post('/api/users/getuserlist',tokenParser, controller.users.getuserlist);
|
||||
// router.post('/api/users/createrole',tokenParser, controller.users.createRole);
|
||||
// router.post('/api/users/addauth', tokenParser, controller.users.addAuth);
|
||||
router.post('/api/users/getuserlist', tokenParser,controller.users.getuserlist);
|
||||
router.post('/api/users/fixsms', tokenParser, controller.users.fixSms);
|
||||
router.post('/api/users/getrolelist',tokenParser, controller.users.getrolelist);
|
||||
router.post('/api/users/deleterole',tokenParser, controller.users.deleteRole);
|
||||
router.post('/api/users/setwar', controller.users.setWar);
|
||||
router.post('/api/users/getpvpdefense',tokenParser, controller.users.getPveDefense);
|
||||
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);
|
||||
router.post('/api/users/getrolelist', tokenParser,controller.users.getrolelist);
|
||||
router.post('/api/users/deleterole', tokenParser,controller.users.deleteRole);
|
||||
router.post('/api/users/setwar', tokenParser, controller.users.setWar);
|
||||
router.post('/api/users/getherolist', tokenParser,controller.users.getHeroList);
|
||||
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
||||
// router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
||||
// router.post('/api/users/setheroparam', controller.users.setHeroParam);
|
||||
// router.post('/api/users/setherojob', controller.users.setHeroJob);
|
||||
// router.post('/api/users/saveherotodefense',tokenParser, controller.users.saveHeroToDefense);
|
||||
// router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||
router.post('/api/users/getitemlist', tokenParser, controller.users.getItemList);
|
||||
router.post('/api/users/getguildlist', controller.users.getGuildList);
|
||||
router.post('/api/users/getmembersbyguildcode', controller.users.getMembersByGuildCode);
|
||||
router.post('/api/users/getguildlist', tokenParser, controller.users.getGuildList);
|
||||
router.post('/api/users/getmembersbyguildcode', tokenParser, controller.users.getMembersByGuildCode);
|
||||
router.post('/api/users/deleteequip', tokenParser, controller.users.deleteEquip);
|
||||
router.post('/api/users/deleteitem', tokenParser, controller.users.deleteItem);
|
||||
router.post('/api/users/setitemcount', tokenParser, controller.users.setItemCount);
|
||||
router.post('/api/users/getgiftcodelist', controller.users.getGiftCodeList);
|
||||
router.post('/api/users/createandgenerategift', controller.users.createAndGenerateGift)
|
||||
router.post('/api/users/updategiftcode', controller.users.updateGiftCode);
|
||||
router.post('/api/users/generategiftcode', controller.users.generateGiftCode);
|
||||
router.post('/api/users/cancelgiftCode', controller.users.cancelGiftCode);
|
||||
router.post('/api/users/getgiftcodedetaillist', controller.users.getGiftCodeDetailList);
|
||||
router.post('/api/users/getgiftcodelist', tokenParser, controller.users.getGiftCodeList);
|
||||
router.post('/api/users/createandgenerategift', tokenParser, controller.users.createAndGenerateGift)
|
||||
router.post('/api/users/updategiftcode', tokenParser, controller.users.updateGiftCode);
|
||||
router.post('/api/users/generategiftcode', tokenParser, controller.users.generateGiftCode);
|
||||
router.post('/api/users/cancelgiftCode', tokenParser, controller.users.cancelGiftCode);
|
||||
router.post('/api/users/getgiftcodedetaillist', tokenParser, controller.users.getGiftCodeDetailList);
|
||||
router.get('/api/users/getgiftcodedetailfile/:id/:filename', controller.users.getGiftCodeDetailFile);
|
||||
|
||||
// router.post('/api/game/getserverlistbyenv', tokenParser, controller.game.getServerListByEnv);
|
||||
// router.post('/api/game/getserverlist', controller.game.getServerList);
|
||||
router.post('/api/game/getregions', controller.game.getRegions);
|
||||
router.post('/api/game/getservers', controller.game.getServers);
|
||||
router.post('/api/game/getregionstategy', controller.game.getRegionStategy);
|
||||
router.post('/api/game/getwhitelist', controller.game.getWhiteList);
|
||||
router.post('/api/game/updatewhitelist', controller.game.updateWhiteList);
|
||||
router.post('/api/game/deletewhitelist', controller.game.deleteWhiteList);
|
||||
router.post('/api/game/stopserverregister', controller.game.stopServerRegister);
|
||||
router.post('/api/game/swicthserverstatus', controller.game.switchServerStatus);
|
||||
router.post('/api/game/getregions', tokenParser, controller.game.getRegions);
|
||||
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);
|
||||
router.post('/api/game/updatewhitelist', tokenParser, controller.game.updateWhiteList);
|
||||
router.post('/api/game/deletewhitelist', tokenParser, controller.game.deleteWhiteList);
|
||||
router.post('/api/game/stopserverregister', tokenParser, controller.game.stopServerRegister);
|
||||
router.post('/api/game/swicthserverstatus', tokenParser, controller.game.switchServerStatus);
|
||||
|
||||
// router.post('/api/game/getmaintenancelist', controller.game.getMaintenanceList);
|
||||
// router.post('/api/game/updatemaintenance', controller.game.updateMaintenance);
|
||||
router.post('/api/dic/getdicgoods', tokenParser, controller.game.getDicGoods);
|
||||
router.post('/api/dic/getdichero', tokenParser, controller.game.getDicHero);
|
||||
router.post('/api/dic/getdicrmb', tokenParser, controller.game.getDicRMB);
|
||||
router.post('/api/dic/getdicactivitytype', tokenParser, controller.game.getDicActivityType);
|
||||
router.post('/api/dic/getdictasktype', tokenParser, controller.game.getDicTaskType);
|
||||
router.post('/api/dic/getservername', tokenParser, controller.game.getServerName)
|
||||
|
||||
router.post('/api/game/getdicgoods', tokenParser, controller.game.getDicGoods);
|
||||
router.post('/api/game/getdichero', tokenParser, controller.game.getDicHero);
|
||||
router.post('/api/game/getdicrmb', tokenParser, controller.game.getDicRMB);
|
||||
router.post('/api/game/getdicactivitytype', tokenParser, controller.game.getDicActivityType);
|
||||
router.post('/api/game/getdictasktype', tokenParser, controller.game.getDicTaskType);
|
||||
router.post('/api/game/getservername', controller.game.getServerName)
|
||||
|
||||
// router.post('/api/game/getserverstategylist', controller.game.getServerStategyList);
|
||||
// router.post('/api/game/updateserverstategy', controller.game.updateServerStategy);
|
||||
// router.post('/api/game/createnewserver', controller.game.createNewServer);
|
||||
// router.post('/api/game/updateserver', controller.game.updateServer);
|
||||
router.post('/api/game/getnoticelist', controller.game.getNoticeList);
|
||||
router.post('/api/game/updatenotice', controller.game.updateNotice);
|
||||
router.post('/api/game/delnotice', controller.game.delNotice);
|
||||
router.post('/api/game/getmarqueelist', controller.game.getMarqueeList);
|
||||
router.post('/api/game/updatemarquee', controller.game.updateMarquee);
|
||||
router.post('/api/game/getaccuse', controller.game.getAccuse);
|
||||
router.post('/api/game/getnoticelist', tokenParser, controller.game.getNoticeList);
|
||||
router.post('/api/game/updatenotice', tokenParser, controller.game.updateNotice);
|
||||
router.post('/api/game/delnotice', tokenParser, controller.game.delNotice);
|
||||
router.post('/api/game/getmarqueelist', tokenParser, controller.game.getMarqueeList);
|
||||
router.post('/api/game/updatemarquee', tokenParser, controller.game.updateMarquee);
|
||||
router.post('/api/game/getaccuse', tokenParser, controller.game.getAccuse);
|
||||
|
||||
router.post('/api/activity/getactivitylist', tokenParser, controller.activity.getActivityList);
|
||||
router.post('/api/activity/getallactivities', controller.activity.getAllActivities);
|
||||
// router.post('/api/activity/updateactivity', tokenParser, controller.activity.updateActivity);
|
||||
router.post('/api/activity/deleteactivity', tokenParser, controller.activity.deleteActivity);
|
||||
router.post('/api/activity/getallactivities', tokenParser, controller.activity.getAllActivities);
|
||||
router.post('/api/activity/getactivitygrouplist', tokenParser, controller.activity.getActivityGroupList);
|
||||
router.post('/api/activity/getallactivitygroups', controller.activity.getAllActivityGroups);
|
||||
router.post('/api/activity/updateactivitygroup', controller.activity.updateActivityGroup);
|
||||
router.post('/api/activity/getallactivitygroups', tokenParser, controller.activity.getAllActivityGroups);
|
||||
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/getallactivitygrouptypes', controller.activity.getAllActivityGroupTypes);
|
||||
router.post('/api/activity/saveactivitygrouptypelist', controller.activity.updateActivityGroupType);
|
||||
router.post('/api/activity/deleteactivitygrouptype', controller.activity.deleteActivityGroupType);
|
||||
// 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/activity/getactivitygrouptypelist', tokenParser, controller.activity.getActivityGroupTypeList);
|
||||
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/getactivitytaskpoint', tokenParser, controller.activity.getActivityTaskPoint);
|
||||
router.post('/api/activity/createtasktoactivity', tokenParser, controller.activity.createTaskToActivity);
|
||||
router.post('/api/activity/updateactivitytaskpoint', tokenParser, controller.activity.updateActivityTaskPoint);
|
||||
router.post('/api/activity/delactivitytaskpoint', tokenParser, controller.activity.delActivityTaskPoint);
|
||||
|
||||
router.post('/api/mail/getcreatesinglemail', controller.mail.getSingleMail);
|
||||
router.post('/api/mail/getcreatesinglemailtxt', controller.mail.getSingleMailTxt);
|
||||
router.post('/api/mail/getcreateservermail', controller.mail.getServerMail);
|
||||
router.post('/api/mail/getcreateservermailtxt', controller.mail.getServerMailTxt);
|
||||
router.post('/api/mail/getviewsinglemail', controller.mail.getSingleMail);
|
||||
router.post('/api/mail/getviewsinglemailtxt', controller.mail.getSingleMailTxt);
|
||||
router.post('/api/mail/getviewservermail', controller.mail.getServerMail);
|
||||
router.post('/api/mail/getviewservermailtxt', controller.mail.getServerMailTxt);
|
||||
router.post('/api/mail/findrolebyidorname', controller.mail.findRoleByIdOrName);
|
||||
router.post('/api/mail/updatesinglemail', controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updatesinglemailtxt', controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updateservermail', controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updateservermailtxt', controller.mail.updateGMMail);
|
||||
router.post('/api/mail/getgmmailrecords', controller.mail.getGMMailRecords);
|
||||
router.post('/api/mail/getcreatesinglemail', tokenParser, controller.mail.getSingleMail);
|
||||
router.post('/api/mail/getcreatesinglemailtxt', tokenParser, controller.mail.getSingleMailTxt);
|
||||
router.post('/api/mail/getcreateservermail', tokenParser, controller.mail.getServerMail);
|
||||
router.post('/api/mail/getcreateservermailtxt', tokenParser, controller.mail.getServerMailTxt);
|
||||
router.post('/api/mail/getviewsinglemail', tokenParser, controller.mail.getSingleMail);
|
||||
router.post('/api/mail/getviewsinglemailtxt', tokenParser, controller.mail.getSingleMailTxt);
|
||||
router.post('/api/mail/getviewservermail', tokenParser, controller.mail.getServerMail);
|
||||
router.post('/api/mail/getviewservermailtxt', tokenParser, controller.mail.getServerMailTxt);
|
||||
router.post('/api/mail/findrolebyidorname', tokenParser, controller.mail.findRoleByIdOrName);
|
||||
router.post('/api/mail/updatesinglemail', tokenParser, controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updatesinglemailtxt', tokenParser, controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updateservermail', tokenParser, controller.mail.updateGMMail);
|
||||
router.post('/api/mail/updateservermailtxt', tokenParser, controller.mail.updateGMMail);
|
||||
};
|
||||
|
||||
@@ -2,8 +2,6 @@ import { Service } from 'egg';
|
||||
import { STATUS, ACTIVITY_TYPE } from '@consts';
|
||||
import { ActivityModel } from '@db/Activity';
|
||||
import { ActivityGroupModel } from '@db/ActivityGroup';
|
||||
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';
|
||||
@@ -72,69 +70,6 @@ export default class Activity extends Service {
|
||||
return 0
|
||||
}
|
||||
|
||||
private async checkActivityGroupType(groupId: number, aids: number[], ctx) {
|
||||
|
||||
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(aids);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
// public async updateActivity(activityId: number | string, groupId: number, beginTime: number, endTime: number, type: number, data: string) {
|
||||
// const { ctx } = this;
|
||||
// let gmuser: GMUserType = ctx.user;
|
||||
// if (!type || !data) {
|
||||
// return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// }
|
||||
// try {
|
||||
// let result = JSON.parse(data);
|
||||
// ctx.service.utils.checkActivityData(result, type);
|
||||
// let aids: number[] = [];
|
||||
// if (typeof activityId == 'number') {
|
||||
// aids.push(activityId);
|
||||
// } else {
|
||||
// activityId.split(',').forEach(aidStr => {
|
||||
// aids.push(parseInt(aidStr));
|
||||
// });
|
||||
// }
|
||||
|
||||
// let checkResult = await this.checkActivityGroupType(groupId, aids, ctx);
|
||||
// if(checkResult) return checkResult;
|
||||
|
||||
// let activities = await ActivityModel.addActivity(aids, groupId, beginTime ? new Date(beginTime) : undefined, endTime ? new Date(endTime) : undefined, type, data, gmuser.uid);
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// activity: activities
|
||||
// })
|
||||
|
||||
// } catch (e) {
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
// }
|
||||
// }
|
||||
|
||||
public async deleteActivity(activityId: number) {
|
||||
const { ctx } = this;
|
||||
const result = await ActivityModel.deleteActivity(activityId, ctx.user?.uid);
|
||||
if (result) {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} else {
|
||||
return ctx.service.utils.resResult(STATUS.ACTIVITY_MISSING);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得活动组列表
|
||||
*/
|
||||
@@ -152,41 +87,6 @@ export default class Activity extends Service {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新活动组
|
||||
*/
|
||||
public async updateActivityGroup(groupId: number, groupName: string, activityIds: number[], serverIds: number[], type: number) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
let groupTypeObj = await ActivityGroupTypeModel.findByGroupType(type);
|
||||
if(!groupTypeObj) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_TYPE_NOT_FOUND);
|
||||
|
||||
await ActivityGroupModel.updateGroup(groupId, {groupName, type}, ctx.user?.uid);
|
||||
|
||||
// 更新activities
|
||||
let checkResult = await this.checkActivityGroupType(groupId, activityIds, ctx);
|
||||
if(checkResult) return checkResult;
|
||||
await ActivityGroupModel.setActivitiesToGroupData(groupId, activityIds, ctx.user?.uid);
|
||||
|
||||
// 封信servers
|
||||
await ServerlistModel.pullByGroupId(groupId);
|
||||
let servers = await ServerlistModel.findServerByIds(serverIds);
|
||||
for(let server of servers) {
|
||||
let pushArr: number[] = [], pullArr: number[] = [];
|
||||
let activityGroupId = server.activityGroupId||[];
|
||||
if(!activityGroupId.includes(groupId)) {
|
||||
pushArr.push(groupId);
|
||||
}
|
||||
await ServerlistModel.updateActivityGroup(server._id, pushArr, pullArr);
|
||||
}
|
||||
await ActivityGroupModel.updateServerData(groupId, serverIds, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS)
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建一个新组
|
||||
*/
|
||||
@@ -247,17 +147,6 @@ export default class Activity extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async getGroupDataById(groupId: number) {
|
||||
const { ctx } = this;
|
||||
let activityGroup = await ActivityGroupModel.findGroupData(groupId);
|
||||
if(!activityGroup) return ctx.service.utils.resResult(STATUS.GM_ACTIVITY_GROUP_NOT_FOUND);
|
||||
let { type, activities: activityIds = [] } = activityGroup;
|
||||
let activities = await ActivityModel.findActivityByIds(activityIds);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
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);
|
||||
|
||||
@@ -23,32 +23,6 @@ import { DicServerName } from '@pubUtils/dictionary/DicServerName';
|
||||
*/
|
||||
export default class Game extends Service {
|
||||
|
||||
/**
|
||||
* 获取正式服,测试服,开发服等环境
|
||||
*/
|
||||
// public async getServerListByEnv() {
|
||||
// const { ctx, app } = this;
|
||||
// let env = app.config.env
|
||||
// let serverEnv = await GameModel.getServerEnvList();
|
||||
// let curEnv = serverEnv.find(cur => cur.env == env);
|
||||
// const list = await ServerlistModel.findByServerType(curEnv?.serverType);
|
||||
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// list
|
||||
// });
|
||||
// }
|
||||
|
||||
// public async getServerList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { id?: number, serverId?: string|number, name?: string, groupName?: string, groupId?: number, serverType?: string } = {}) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// const list = await ServerlistModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
// const total = await ServerlistModel.countByCondition( form )
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// list, total
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
public async getRegions() {
|
||||
const { ctx } = this;
|
||||
|
||||
@@ -130,107 +104,6 @@ export default class Game extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { whitelist });
|
||||
}
|
||||
|
||||
// public async getMaintenanceList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { isOpen?: boolean } = {}) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// const list = await MaintenanceModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
// const total = await MaintenanceModel.countByCondition( form )
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// list: list.map(cur => {
|
||||
// let marquee = <MarqueeType>cur.marquee;
|
||||
// let notice = <NoticeType>cur.notice;
|
||||
// return {
|
||||
// ...cur, startTime: cur.startTime.getTime(),
|
||||
// marquee: marquee?{...marquee, startTime: marquee.startTime.getTime(), endTime: marquee.endTime.getTime()}:null,
|
||||
// notice: notice?{...notice, showStartTime: notice.showStartTime.getTime(), showEndTime: notice.showEndTime.getTime()}:null
|
||||
// }
|
||||
// }), total
|
||||
// });
|
||||
// }
|
||||
|
||||
// public async updateMaintenance(values: MaintenanceTypeParam, marquee: MarqueeParam, notice: NoticeTypeParam, mail: GMMailTypeParam) {
|
||||
// const { ctx } = this;
|
||||
// if(values.code == 'new') {
|
||||
// let serverEnv = await GameModel.getServerEnvList();
|
||||
// let curEnv = serverEnv.find(cur => cur.env == this.app.config.env);
|
||||
|
||||
// let marqueeResult = await MarqueeModel.createData({ ...marquee, serverIds: values.serverIds, type: MARQUEE_TYPE.SCHEDULE, isRunning: false }, ctx.user?.uid);
|
||||
// let noticeResult = await NoticeModel.updateNotice('new', { ...notice, type: 1, sort: 1000, serverType: curEnv?.serverType, isEnable: false }, ctx.user?.uid);
|
||||
// // let mailResult = await GMMailModel.addMail(mail, ctx.user?.uid);
|
||||
// await MaintenanceModel.createData(values, marqueeResult, noticeResult, null);
|
||||
// } else {
|
||||
// let maintenanceResult = await MaintenanceModel.updateData(values.code, values, ctx.user?.uid);
|
||||
// if(!maintenanceResult) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// let marqueeResult = <MarqueeType>maintenanceResult.marquee;
|
||||
// let noticeResult = <NoticeType>maintenanceResult.notice;
|
||||
// let mailResult = <GMMailType>maintenanceResult.mail;
|
||||
// if(marqueeResult) await MarqueeModel.updateData(marqueeResult.code, marquee, ctx.user?.uid);
|
||||
// if(noticeResult) await NoticeModel.updateNotice(noticeResult.id, notice, ctx.user?.uid);
|
||||
// if(mailResult) await GMMailModel.updateMailById(mailResult._id, mail, ctx.user?.uid);
|
||||
// }
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// }
|
||||
|
||||
// public async getServerStategyList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { id?: number, name?: string }) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// const list = await ServerStategyModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
// const total = await ServerStategyModel.countByCondition( form )
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// list, total
|
||||
// });
|
||||
// }
|
||||
|
||||
// public async updateServerStategy(values: ServerStategyTypeParam & {id: string|number}) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// try {
|
||||
// await ServerStategyModel.updateServerStategy(values, ctx.user?.uid);
|
||||
|
||||
// } catch(e) {
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
// }
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// }
|
||||
|
||||
// public async createNewServer(name: string, openTime: number, serverType: string, stategyId: number ) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// try {
|
||||
// let stategy = await ServerStategyModel.findBySId(stategyId);
|
||||
// if(!stategy) return ctx.service.utils.resResult(STATUS.GM_STATEGY_NOT_FOUND);
|
||||
|
||||
// await ServerlistModel.newServer({ name, openTime: new Date(openTime), serverType }, stategy, ctx.user?.uid);
|
||||
|
||||
// } catch(e) {
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
// }
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// }
|
||||
|
||||
// public async updateServer(id: number, name: string, groupName: string, serverStatus: number ) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// try {
|
||||
// let server = await ServerlistModel.findByServerId(id);
|
||||
// if(!server) return ctx.service.utils.resResult(STATUS.GM_SERVER_NOT_FOUND);
|
||||
|
||||
// if(server.groupName != groupName) {
|
||||
// await ServerlistModel.updateGroupName(server.groupId, groupName);
|
||||
// }
|
||||
// let update: ServerlistUpdate = {};
|
||||
// if(name) update['name'] = name;
|
||||
// if(groupName) update['groupName'] = groupName;
|
||||
// if(serverStatus) update['serverStatus'] = serverStatus;
|
||||
|
||||
// await ServerlistModel.updateByServerId(id, update);
|
||||
|
||||
// } catch(e) {
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, (<Error>e).stack);
|
||||
// }
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// }
|
||||
|
||||
public async getDicHero() {
|
||||
let list: DicHero[] = [];
|
||||
for(let [heroId, hero] of gameData.hero) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { GMUserModel } from '@db/GMUser';
|
||||
import { GMGroupModel } from '@db/GMGroup';
|
||||
import { GMUserGroupModel } from '@db/GMUserGroup';
|
||||
import { ApiModel } from '@db/Api';
|
||||
import { Service } from 'egg';
|
||||
import { STATUS } from '@consts';
|
||||
import { gameData } from '@pubUtils/data';
|
||||
|
||||
/**
|
||||
* Test Service
|
||||
@@ -24,9 +24,9 @@ export default class GMUsers extends Service {
|
||||
if(!user) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_ERR_PASSWORD);
|
||||
}
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||
let userGroup = await GMUserGroupModel.getUserGroupByUid(user.uid);
|
||||
let group = new Array();
|
||||
for(let userGroup of userGroups) {
|
||||
if(userGroup) {
|
||||
let g = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
if(g) group.push(g.group);
|
||||
}
|
||||
@@ -42,8 +42,15 @@ export default class GMUsers extends Service {
|
||||
|
||||
public async currentUser() {
|
||||
const {ctx} = this;
|
||||
console.log('*****', ctx.user)
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {user: ctx.user});
|
||||
let user = ctx.user;
|
||||
let userGroup = await GMUserGroupModel.getUserGroupByUid(user.uid);
|
||||
let group = new Array();
|
||||
if(userGroup) {
|
||||
let g = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
if(g) group.push(g.group);
|
||||
}
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { user: ctx.user, group });
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -66,23 +73,23 @@ export default class GMUsers extends Service {
|
||||
* 后台账号列表
|
||||
*/
|
||||
public async getGmList() {
|
||||
// const {ctx} = this;
|
||||
let list = await GMUserModel.getGmAccountList();
|
||||
if(list) {
|
||||
let result = new Array();
|
||||
for(let user of list) {
|
||||
let uid = user.uid;
|
||||
let userGroupList = await GMUserGroupModel.getUserGroupByUid(uid, 1);
|
||||
let groupArr = new Array(), groupStrArr = new Array();
|
||||
for(let userGroup of userGroupList) {
|
||||
let userGroup = await GMUserGroupModel.getUserGroupByUid(uid);
|
||||
let groupId = 0, groupStr = '暂无', envs = [];
|
||||
if(userGroup) {
|
||||
let group = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
console.log(userGroup.groupId, group);
|
||||
if(group) {
|
||||
groupArr.push(userGroup.groupId);
|
||||
groupStrArr.push(group.name);
|
||||
groupId = userGroup.groupId;
|
||||
envs = userGroup.envs
|
||||
groupStr = group.name;
|
||||
}
|
||||
}
|
||||
result.push({...user, group:groupArr, groupStr: groupStrArr.length?groupStrArr.join():'暂无'});
|
||||
result.push({...user, group: groupId, groupStr, env: envs});
|
||||
}
|
||||
|
||||
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
@@ -115,7 +122,10 @@ export default class GMUsers extends Service {
|
||||
*/
|
||||
public async getApiList() {
|
||||
const {ctx} = this;
|
||||
let list = await ApiModel.getAllApi();
|
||||
let list = [];
|
||||
for(let [_, obj] of gameData.apiByUrl) {
|
||||
list.push(obj);
|
||||
}
|
||||
|
||||
if(list) {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
@@ -126,25 +136,6 @@ export default class GMUsers extends Service {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建Api
|
||||
*/
|
||||
public async saveApi(api:string, name:string) {
|
||||
const {ctx} = this;
|
||||
let result = await ApiModel.getApi(api);
|
||||
if(result) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_DUPLICATE_API);
|
||||
} else {
|
||||
let result = await ApiModel.createApi(api, name);
|
||||
if(result) {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} else {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后台用户组列表
|
||||
*/
|
||||
@@ -207,32 +198,9 @@ export default class GMUsers extends Service {
|
||||
/**
|
||||
* 用户组添加接口
|
||||
*/
|
||||
public async saveGmGroupToUser(uid: number, groups: Array<number>) {
|
||||
let allUserGroup = await GMUserGroupModel.getUserGroupByUid(uid, 1);
|
||||
public async saveGmGroupToUser(uid: number, groupId: number, envs: string[]) {
|
||||
|
||||
let removeArr = allUserGroup.filter(userGroup => {
|
||||
let gid = userGroup.groupId;
|
||||
return groups.indexOf(gid) == -1;
|
||||
}).map(cur => cur.groupId);
|
||||
|
||||
let flag = 0;
|
||||
let result = await GMUserGroupModel.removeUserGroup(uid, 1, removeArr);
|
||||
if(!result) {
|
||||
flag = 1;
|
||||
}
|
||||
|
||||
if(!flag) {
|
||||
for(let group of groups) {
|
||||
let result = await GMUserGroupModel.addUserGroup(uid, 1, group);
|
||||
if(!result) {
|
||||
flag = 1; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(flag) {
|
||||
return this.ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
}
|
||||
await GMUserGroupModel.addUserGroup(uid, groupId, envs);
|
||||
return this.ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
import { Service } from 'egg';
|
||||
import { GMMailModel, } from '@db/GMMail';
|
||||
import { STATUS } from '@consts';
|
||||
import { GMMailRecordModel } from '@db/GMMailRecord';
|
||||
import { SearchMailParam } from '@domain/backEndField/search';
|
||||
import { UpdateMailParams } from '@domain/backEndField/params';
|
||||
import { RoleModel, RoleType } from '@db/Role';
|
||||
@@ -43,12 +42,4 @@ export default class Mail extends Service {
|
||||
await GMMailModel.updateMailById(_id, params, ctx.user?.uid);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async getGMMailRecords(page: number, pageSize: number, sortField: string, sortOrder: string, form: {}) {
|
||||
const { ctx } = this;
|
||||
const list = await GMMailRecordModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,8 @@ import { EquipModel } from '@db/Equip';
|
||||
import { PvpDefenseModel } from '@db/PvpDefense';
|
||||
|
||||
import { Service } from 'egg';
|
||||
import Counter from '@db/Counter';
|
||||
import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, REDIS_KEY, WAR_TYPE } from '@consts';
|
||||
import { ITID, COUNTER } from '@consts';
|
||||
import { ITID } from '@consts';
|
||||
import { ItemModel } from '@db/Item';
|
||||
import { gameData, getExpByLv } from '@pubUtils/data';
|
||||
import { calPlayerCeAndSave, calculatetopLineup, calEquipSeids } from '@pubUtils/playerCe';
|
||||
@@ -60,21 +59,21 @@ export default class GMUsers extends Service {
|
||||
|
||||
}
|
||||
|
||||
public async createRole(uid: number, serverId: number, roleName: string) {
|
||||
console.log('enter Auth createRole');
|
||||
const ctx = this.ctx;
|
||||
// public async createRole(uid: number, serverId: number, roleName: string) {
|
||||
// console.log('enter Auth createRole');
|
||||
// const ctx = this.ctx;
|
||||
|
||||
const roleId = ctx.service.utils.genCode(10);
|
||||
const code = ctx.service.utils.genCode(6);
|
||||
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
|
||||
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName, seqId });
|
||||
if (role) {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} else {
|
||||
console.error('create role error');
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
}
|
||||
}
|
||||
// const roleId = ctx.service.utils.genCode(10);
|
||||
// const code = ctx.service.utils.genCode(6);
|
||||
// const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
|
||||
// const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName, seqId });
|
||||
// if (role) {
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// } else {
|
||||
// console.error('create role error');
|
||||
// return ctx.service.utils.resResult(STATUS.INTERNAL_ERR);
|
||||
// }
|
||||
// }
|
||||
|
||||
// public async addAuth(uid: number, auth: number) {
|
||||
// console.log('enter Auth addAuth');
|
||||
@@ -309,14 +308,6 @@ export default class GMUsers extends Service {
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, { uids });
|
||||
}
|
||||
|
||||
public async getPvpDefense(roleId: string) {
|
||||
const { ctx } = this;
|
||||
let result = await PvpDefenseModel.findByRoleId(roleId);
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
hasDefense: !!result, defense: result
|
||||
})
|
||||
}
|
||||
|
||||
// public async getHeroList(roleId: string) {
|
||||
// const {ctx} = this;
|
||||
// let herolist = await HeroModel.findByRole(roleId);
|
||||
@@ -340,59 +331,6 @@ export default class GMUsers extends Service {
|
||||
// })
|
||||
// }
|
||||
|
||||
// public async saveHeroToDefense(roleId: string, _roleName: string, hid: number) {
|
||||
// const { ctx } = this;
|
||||
// let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
// let role = await RoleModel.findByRoleId(roleId);
|
||||
// if (!hero || !role) {
|
||||
// return ctx.service.utils.resResult(STATUS.GM_HERO_NOT_FOUND);
|
||||
// }
|
||||
// let { lv, ce, attr: heroAttrs } = hero;
|
||||
// let { attr: roleAttrs } = role;
|
||||
|
||||
|
||||
// let dicHero = gameData.hero.get(hid);
|
||||
|
||||
// let attribute = new AttributeCal();
|
||||
// attribute.setByDbData(roleAttrs, heroAttrs);
|
||||
|
||||
// let heroInfo = {
|
||||
// actorId: dicHero.heroId,
|
||||
// actorName: dicHero.name,
|
||||
// attribute, lv,
|
||||
// ce
|
||||
// };
|
||||
|
||||
// let defense = await PvpDefenseModel.findByRoleId(roleId);
|
||||
// if (!defense) {
|
||||
// // defense = await PvpDefenseModel.createPvpDefense({roleId, roleName, heroes: [], defCe:ce});
|
||||
// } else {
|
||||
// defense = await PvpDefenseModel.addHeroToDefense(roleId, heroInfo, ce);
|
||||
// }
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// defense
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
// public async removeHeroFromDefense(roleId: string, hid: number) {
|
||||
// const { ctx } = this;
|
||||
|
||||
// let defense = await PvpDefenseModel.findByRoleId(roleId);
|
||||
// if (!defense) {
|
||||
// return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_NOT_FOUND);
|
||||
// }
|
||||
// let { heroes } = defense;
|
||||
// let curHero = heroes.find(cur => cur.actorId == hid);
|
||||
// if (!curHero) {
|
||||
// return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_HERO_NOT_FOUND);
|
||||
// }
|
||||
// defense = await PvpDefenseModel.removeHeroFromDefense(roleId, hid, curHero.ce);
|
||||
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
// defense
|
||||
// });
|
||||
// }
|
||||
|
||||
/**
|
||||
* 根据类型等搜索玩家
|
||||
@@ -493,102 +431,102 @@ export default class GMUsers extends Service {
|
||||
}
|
||||
|
||||
|
||||
public async setItemCount(roleIdAndIds: string[], count: number) {
|
||||
console.log('enter Auth setItemCount');
|
||||
const ctx = this.ctx;
|
||||
let map = new Map<string, number[]>();
|
||||
for (let roleIdAndId of roleIdAndIds) {
|
||||
let [roleId, idStr] = roleIdAndId.split('|');
|
||||
if (isNaN(parseInt(idStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// public async setItemCount(roleIdAndIds: string[], count: number) {
|
||||
// console.log('enter Auth setItemCount');
|
||||
// const ctx = this.ctx;
|
||||
// let map = new Map<string, number[]>();
|
||||
// for (let roleIdAndId of roleIdAndIds) {
|
||||
// let [roleId, idStr] = roleIdAndId.split('|');
|
||||
// if (isNaN(parseInt(idStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let id = parseInt(idStr);
|
||||
let cur = map.get(roleId);
|
||||
if (!cur) {
|
||||
cur = new Array<number>();
|
||||
map.set(roleId, cur);
|
||||
}
|
||||
cur.push(id);
|
||||
}
|
||||
// let id = parseInt(idStr);
|
||||
// let cur = map.get(roleId);
|
||||
// if (!cur) {
|
||||
// cur = new Array<number>();
|
||||
// map.set(roleId, cur);
|
||||
// }
|
||||
// cur.push(id);
|
||||
// }
|
||||
|
||||
for (let [roleId, ids] of map) {
|
||||
await ItemModel.updateCountByRoleAndIds(roleId, ids, count);
|
||||
}
|
||||
// for (let [roleId, ids] of map) {
|
||||
// await ItemModel.updateCountByRoleAndIds(roleId, ids, count);
|
||||
// }
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// }
|
||||
|
||||
public async setHeroLv(roleIdAndHids: string[], _hlv: string) {
|
||||
// public async setHeroLv(roleIdAndHids: string[], _hlv: string) {
|
||||
|
||||
try {
|
||||
console.log('gm setHeroLv', roleIdAndHids, _hlv);
|
||||
const ctx = this.ctx;
|
||||
let hlv = parseInt(_hlv);
|
||||
if (isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// try {
|
||||
// console.log('gm setHeroLv', roleIdAndHids, _hlv);
|
||||
// const ctx = this.ctx;
|
||||
// let hlv = parseInt(_hlv);
|
||||
// if (isNaN(hlv)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
for (let roleIdAndHid of roleIdAndHids) {
|
||||
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// for (let roleIdAndHid of roleIdAndHids) {
|
||||
// let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
// if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let hid = parseInt(hidStr);
|
||||
// let hid = parseInt(hidStr);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
console.log(hid, roleId, !!hero);
|
||||
if (!hero) continue;
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { lv: hlv });
|
||||
}
|
||||
// let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
// console.log(hid, roleId, !!hero);
|
||||
// if (!hero) continue;
|
||||
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { lv: hlv });
|
||||
// }
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} catch (e) {
|
||||
console.error((<Error>e).stack)
|
||||
}
|
||||
}
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// } catch (e) {
|
||||
// console.error((<Error>e).stack)
|
||||
// }
|
||||
// }
|
||||
|
||||
public async setHeroParam(roleIdAndHids: string[], star: number, colorStar: number, quality: number) {
|
||||
try {
|
||||
const ctx = this.ctx;
|
||||
if (typeof star != 'number'||typeof colorStar != 'number'||typeof quality != 'number') return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// public async setHeroParam(roleIdAndHids: string[], star: number, colorStar: number, quality: number) {
|
||||
// try {
|
||||
// const ctx = this.ctx;
|
||||
// if (typeof star != 'number'||typeof colorStar != 'number'||typeof quality != 'number') return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
for (let roleIdAndHid of roleIdAndHids) {
|
||||
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// for (let roleIdAndHid of roleIdAndHids) {
|
||||
// let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
// if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let hid = parseInt(hidStr);
|
||||
// let hid = parseInt(hidStr);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
console.log(hid, roleId, !!hero);
|
||||
if (!hero) continue;
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { star, colorStar, quality });
|
||||
}
|
||||
// let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
// console.log(hid, roleId, !!hero);
|
||||
// if (!hero) continue;
|
||||
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { star, colorStar, quality });
|
||||
// }
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} catch (e) {
|
||||
console.error((<Error>e).stack)
|
||||
}
|
||||
}
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// } catch (e) {
|
||||
// console.error((<Error>e).stack)
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
public async setHeroJob(roleIdAndHids: string[], job: number) {
|
||||
try {
|
||||
const ctx = this.ctx;
|
||||
if(!gameData.job.has(job)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// public async setHeroJob(roleIdAndHids: string[], job: number) {
|
||||
// try {
|
||||
// const ctx = this.ctx;
|
||||
// if(!gameData.job.has(job)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
for (let roleIdAndHid of roleIdAndHids) {
|
||||
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
// for (let roleIdAndHid of roleIdAndHids) {
|
||||
// let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||
// if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let hid = parseInt(hidStr);
|
||||
// let hid = parseInt(hidStr);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
console.log(hid, roleId, !!hero);
|
||||
if (!hero) continue;
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero, { job });
|
||||
}
|
||||
// let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
// console.log(hid, roleId, !!hero);
|
||||
// if (!hero) continue;
|
||||
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero, { job });
|
||||
// }
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
} catch (e) {
|
||||
console.error((<Error>e).stack)
|
||||
}
|
||||
}
|
||||
// return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
// } catch (e) {
|
||||
// console.error((<Error>e).stack)
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 根据类型等搜索装备
|
||||
|
||||
@@ -482,6 +482,7 @@ export const FILENAME = {
|
||||
DIC_WHITE_IP: 'dic_pay_white_ip',
|
||||
FILTER_WORDS: 'filterWords',
|
||||
DIC_GUILD_WISH_REWARD: 'dic_army_wishReward',
|
||||
DIC_API: 'dic_api',
|
||||
}
|
||||
|
||||
export const WAR_RELATE_TABLES = [
|
||||
@@ -972,4 +973,11 @@ export enum TA_USERSET_TYPE {
|
||||
export enum TRAIN_REWARD_TYPE {
|
||||
SCORE = 1, // 练兵场压制积分
|
||||
ITEM = 2, // 练兵场物品奖励
|
||||
}
|
||||
|
||||
export enum GM_API_TYPE {
|
||||
add = 'ad', // 增
|
||||
del = 'del', // 删
|
||||
update = 'update', // 改
|
||||
find = 'find', // 查
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
|
||||
/**
|
||||
* 接口字段接口
|
||||
*/
|
||||
@index({ apiId: 1 })
|
||||
@index({ api: 1 })
|
||||
|
||||
export default class Api extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
apiId: number;
|
||||
|
||||
@prop({ required: true })
|
||||
api: string;
|
||||
|
||||
@prop({ required: true })
|
||||
name: string;
|
||||
|
||||
public static async getApi(api: string, lean = true) {
|
||||
let result: ApiType = await ApiModel.findOne({ api }).select('apiId api name').lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async getAllApi(lean = true) {
|
||||
const api: ApiType[] = await ApiModel.find().sort({ apiId: 1 }).lean(lean);
|
||||
return api;
|
||||
}
|
||||
|
||||
public static async createApi(api: string, name: string, lean = true) {
|
||||
const apiId = await CounterModel.getNewCounter(COUNTER.API);
|
||||
const result: ApiType = await ApiModel.findOneAndUpdate({ apiId }, { $set: { api, name } }, { upsert: true, new: true }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export let ApiModel: ReturnModelType<typeof Api, {}>;
|
||||
export function loadApiModel(connect: mongoose.Connection) {
|
||||
ApiModel = getModelForClass(Api, {
|
||||
existingConnection: connect
|
||||
});
|
||||
}
|
||||
export interface ApiType extends Pick<DocumentType<Api>, keyof Api> { }
|
||||
@@ -1,5 +1,5 @@
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
import { CounterAllModal } from './CounterAll';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
|
||||
const bcrypt = require('bcrypt');
|
||||
@@ -72,7 +72,7 @@ export default class GMUser extends BaseModel {
|
||||
}
|
||||
|
||||
public static async createGmAccount(username: string, password: string, name: string, token: string, lean = true) {
|
||||
const uid = await CounterModel.getNewCounter(COUNTER.GMUID);
|
||||
const uid = await CounterAllModal.getNewCounter(COUNTER.GMUID);
|
||||
let r = await this.encryptPass(password);
|
||||
const user: GMUserType = await GMUserModel.findOneAndUpdate({ username }, { uid, password: r.npassword, salt: r.salt, name, token }, { upsert: true, new: true }).select('uid username name').lean(lean);
|
||||
return user;
|
||||
|
||||
@@ -4,30 +4,31 @@ import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose
|
||||
/**
|
||||
* GM账号和用户组关系接口
|
||||
*/
|
||||
@index({ uid: 1, serverId: 1, groupId: 1 })
|
||||
@index({ uid: 1, groupId: 1 })
|
||||
@index({ uid: 1, env: 1 })
|
||||
|
||||
export default class GMUserGroup extends BaseModel {
|
||||
@prop({ required: true })
|
||||
uid: number;
|
||||
|
||||
@prop({ required: true })
|
||||
serverId: number;
|
||||
@prop({ required: true, type: String })
|
||||
envs: string[];
|
||||
|
||||
@prop({ required: true })
|
||||
groupId: number;
|
||||
|
||||
public static async getUserGroupByUid(uid: number, serverId: number, lean = true) {
|
||||
const user: GMUserGroupType[] = await GMUserGroupModel.find({uid, serverId}).lean(lean);
|
||||
public static async getUserGroupByUid(uid: number) {
|
||||
const user: GMUserGroupType = await GMUserGroupModel.findOne({ uid }).lean();
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async removeUserGroup(uid: number, serverId: number, groups: Array<number>) {
|
||||
const user = await GMUserGroupModel.deleteMany({uid, serverId, groupId: {$in: groups}});
|
||||
public static async removeUserGroup(uid: number, groups: Array<number>) {
|
||||
const user = await GMUserGroupModel.deleteMany({uid, groupId: {$in: groups}});
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async addUserGroup(uid: number, serverId: number, groupId: number, lean = true) {
|
||||
const result: GMUserGroupType = await GMUserGroupModel.findOneAndUpdate({uid, serverId, groupId}, {}, {new:true, upsert:true}).lean(lean);
|
||||
public static async addUserGroup(uid: number, groupId: number, envs: string[]) {
|
||||
const result: GMUserGroupType = await GMUserGroupModel.findOneAndUpdate({uid}, { envs, groupId }, {new:true, upsert:true}).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
import { CounterAllModal } from './CounterAll';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
|
||||
import ServerStategy from './ServerStategy';
|
||||
@@ -49,7 +49,7 @@ export default class Region extends BaseModel {
|
||||
stategy: ServerStategy; // 策略配置
|
||||
|
||||
public static async createNewRegion(params: RegionUpdate, uid = 1) {
|
||||
let id = await CounterModel.getNewCounter(COUNTER.REGION);
|
||||
let id = await CounterAllModal.getNewCounter(COUNTER.REGION);
|
||||
|
||||
const rec: RegionType = await RegionModel.findOneAndUpdate({ id }, { $setOnInsert: { ...params, createdBy: uid}, $set: { updatedBy: uid } }, { new: true, upsert: true }).lean();
|
||||
return rec;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { mongoose } from "@typegoose/typegoose";
|
||||
import { loadApiModel } from "./Api";
|
||||
import { loadGMGroupModel } from "./GMGroup";
|
||||
import { loadGMRecordModel } from "./GMRecord";
|
||||
import { loadGMUserModel } from './GMUser'
|
||||
@@ -12,7 +11,6 @@ import { loadMarqueeModel } from "./Marquee";
|
||||
|
||||
export function loadGmDb(connect: mongoose.Connection) {
|
||||
// console.log('************')
|
||||
loadApiModel(connect);
|
||||
loadGMGroupModel(connect);
|
||||
loadGMUserModel(connect);
|
||||
loadGMUserGroupModel(connect);
|
||||
|
||||
@@ -96,6 +96,7 @@ import { dicGuildTrainInfo, loadGuildTrainInfo } from './dictionary/DicGuildTrai
|
||||
import { dicPvpDifficultRatio, loadPvpDifficultRatio } from './dictionary/DicPvpDifficultRatio';
|
||||
import { dicWhiteIp, loadWhiteIp } from './dictionary/DicWhiteIp';
|
||||
import { dicGuildWishReward, loadGuildWishReward } from './dictionary/DicGuildWishReward';
|
||||
import { dicApiById, dicApiByUrl, loadApi } from './dictionary/DicApi';
|
||||
import { pick } from "underscore";
|
||||
import _ = require("underscore");
|
||||
|
||||
@@ -242,6 +243,8 @@ export const gameData = {
|
||||
auctionTime: new Map<number, { hour: number, minute: number, seconds: number}>(),
|
||||
whiteip: dicWhiteIp,
|
||||
guildWishReward: dicGuildWishReward,
|
||||
apiById: dicApiById,
|
||||
apiByUrl: dicApiByUrl,
|
||||
};
|
||||
|
||||
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
|
||||
@@ -990,6 +993,7 @@ function loadDatas() {
|
||||
loadWhiteIp();
|
||||
treatTaskGroup();
|
||||
loadGuildWishReward();
|
||||
loadApi();
|
||||
}
|
||||
|
||||
// 重载dicParam
|
||||
|
||||
28
shared/pubUtils/dictionary/DicApi.ts
Normal file
28
shared/pubUtils/dictionary/DicApi.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { readFileAndParse } from '../util'
|
||||
import { FILENAME } from '../../consts'
|
||||
|
||||
export interface DicApi {
|
||||
// id
|
||||
readonly id: number;
|
||||
// 消耗
|
||||
readonly api: string;
|
||||
// 描述
|
||||
readonly name: string;
|
||||
// 模块
|
||||
readonly module: string;
|
||||
// 类型 增删改查
|
||||
readonly type: string;
|
||||
}
|
||||
|
||||
export const dicApiByUrl = new Map<string, DicApi>();
|
||||
export const dicApiById = new Map<number, DicApi>();
|
||||
export function loadApi() {
|
||||
dicApiByUrl.clear();
|
||||
dicApiById.clear();
|
||||
let arr = readFileAndParse(FILENAME.DIC_API);
|
||||
arr.forEach(o => {
|
||||
dicApiByUrl.set(o.api, o);
|
||||
dicApiById.set(o.id, o);
|
||||
});
|
||||
arr = undefined;
|
||||
}
|
||||
702
shared/resource/jsons/dic_api.json
Normal file
702
shared/resource/jsons/dic_api.json
Normal file
@@ -0,0 +1,702 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"api": "/api/login/account",
|
||||
"name": "登录",
|
||||
"module": "base",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"api": "/api/login/changeMyPass",
|
||||
"name": "修改密码",
|
||||
"module": "base",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"api": "/api/currentUser",
|
||||
"name": "当前账号",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"api": "/api/upload/hotupdate",
|
||||
"name": "上传热更新",
|
||||
"module": "upload",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"api": "/api/upload/uploadjson",
|
||||
"name": "上传json",
|
||||
"module": "upload",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"api": "/api/upload/reloadresource",
|
||||
"name": "加载资源",
|
||||
"module": "upload",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"api": "/api/gmaccount/getgmlist",
|
||||
"name": "获取gm账号列表",
|
||||
"module": "gmaccount",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"api": "/api/gmaccount/createaccount",
|
||||
"name": "创建gm账号",
|
||||
"module": "gmaccount",
|
||||
"type": "add"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"api": "/api/gmaccount/savegmgrouptouser",
|
||||
"name": "将账号组保存至账号",
|
||||
"module": "gmaccount",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"api": "/api/gmaccount/getgrouplist",
|
||||
"name": "获取账号组列表",
|
||||
"module": "gmaccount",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"api": "/api/gmaccount/getapilist",
|
||||
"name": "获取api列表",
|
||||
"module": "gmaccount",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"api": "/api/gmaccount/creategmgroup",
|
||||
"name": "创建账号组",
|
||||
"module": "gmaccount",
|
||||
"type": "add"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"api": "/api/gmaccount/savegmgroup",
|
||||
"name": "保存账号组",
|
||||
"module": "gmaccount",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"api": "/api/gmaccount/saveapitogroup",
|
||||
"name": "将api保存至账号组",
|
||||
"module": "gmaccount",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"api": "/api/users/getuserlist",
|
||||
"name": "获取玩家账号列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"api": "/api/users/fixsms",
|
||||
"name": "固定玩家短信",
|
||||
"module": "user",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"api": "/api/users/getrolelist",
|
||||
"name": "获取玩家角色列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"api": "/api/users/deleterole",
|
||||
"name": "删除角色",
|
||||
"module": "user",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"api": "/api/users/setwar",
|
||||
"name": "设置关卡",
|
||||
"module": "user",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"api": "/api/users/getherolist",
|
||||
"name": "获取玩家武将列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"api": "/api/users/deletehero",
|
||||
"name": "删除武将",
|
||||
"module": "user",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"api": "/api/users/getequiplist",
|
||||
"name": "获取玩家装备列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"api": "/api/users/getitemlist",
|
||||
"name": "获取玩家道具列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"api": "/api/users/getguildlist",
|
||||
"name": "获取军团列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"api": "/api/users/getmembersbyguildcode",
|
||||
"name": "获取军团成员列表",
|
||||
"module": "user",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"api": "/api/users/deleteequip",
|
||||
"name": "删除装备",
|
||||
"module": "user",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"api": "/api/users/deleteitem",
|
||||
"name": "删除道具",
|
||||
"module": "user",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"api": "/api/users/createandgenerategift",
|
||||
"name": "创建并生成礼包码",
|
||||
"module": "giftcode",
|
||||
"type": "add"
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"api": "/api/users/updategiftcode",
|
||||
"name": "更新礼包码",
|
||||
"module": "giftcode",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"api": "/api/users/generategiftcode",
|
||||
"name": "追加礼包码",
|
||||
"module": "giftcode",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"api": "/api/users/cancelgiftCode",
|
||||
"name": "取消礼包码",
|
||||
"module": "giftcode",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"api": "/api/users/getgiftcodedetaillist",
|
||||
"name": "获取礼包码列表",
|
||||
"module": "giftcode",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"api": "/api/game/getregions",
|
||||
"name": "获取所有大区",
|
||||
"module": "server",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"api": "/api/game/getservers",
|
||||
"name": "获取所有小区",
|
||||
"module": "server",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"api": "/api/game/getregionstategy",
|
||||
"name": "获取大区策略",
|
||||
"module": "server",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"api": "/api/game/getwhitelist",
|
||||
"name": "获取白名单",
|
||||
"module": "server",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"api": "/api/game/updatewhitelist",
|
||||
"name": "更新白名单",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"api": "/api/game/deletewhitelist",
|
||||
"name": "删除白名单",
|
||||
"module": "server",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"api": "/api/game/stopserverregister",
|
||||
"name": "小区停止注册",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"api": "/api/game/swicthserverstatus",
|
||||
"name": "切换服务器状态",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"api": "/api/dic/getdicgoods",
|
||||
"name": "获取物品字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"api": "/api/dic/getdichero",
|
||||
"name": "获取武将字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"api": "/api/dic/getdicrmb",
|
||||
"name": "获取商品字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"api": "/api/dic/getdicactivitytype",
|
||||
"name": "获取活动类型字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"api": "/api/dic/getdictasktype",
|
||||
"name": "获取任务类型字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"api": "/api/dic/getservername",
|
||||
"name": "获取服务器名称字典表",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"api": "/api/game/getnoticelist",
|
||||
"name": "获取公告列表",
|
||||
"module": "notice",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"api": "/api/game/updatenotice",
|
||||
"name": "更新公告",
|
||||
"module": "notice",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"api": "/api/game/delnotice",
|
||||
"name": "删除公告",
|
||||
"module": "notice",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"api": "/api/game/getmarqueelist",
|
||||
"name": "获取跑马灯列表",
|
||||
"module": "marquee",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"api": "/api/game/updatemarquee",
|
||||
"name": "更新跑马灯",
|
||||
"module": "marquee",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"api": "/api/game/getaccuse",
|
||||
"name": "获取举报列表",
|
||||
"module": "accuse",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"api": "/api/activity/getactivitylist",
|
||||
"name": "获取活动列表",
|
||||
"module": "activity",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"api": "/api/activity/getallactivities",
|
||||
"name": "获取所有活动",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"api": "/api/activity/getactivitygrouplist",
|
||||
"name": "获取活动组列表",
|
||||
"module": "activity",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"api": "/api/activity/getallactivitygroups",
|
||||
"name": "获取所有活动组",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"api": "/api/activity/creategroup",
|
||||
"name": "创建活动组",
|
||||
"module": "activity",
|
||||
"type": "add"
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"api": "/api/activity/deletegroup",
|
||||
"name": "删除活动组",
|
||||
"module": "activity",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"api": "/api/activity/getactivitygrouptypelist",
|
||||
"name": "获取活动组类型列表",
|
||||
"module": "activity",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"api": "/api/activity/getallactivitygrouptypes",
|
||||
"name": "获取所有活动组类型",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"api": "/api/activity/saveactivitygrouptypelist",
|
||||
"name": "保存活动组类型",
|
||||
"module": "activity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"api": "/api/activity/deleteactivitygrouptype",
|
||||
"name": "删除活动组类型",
|
||||
"module": "activity",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"api": "/api/activity/getactivitytaskpoint",
|
||||
"name": "获取活动和任务对应",
|
||||
"module": "activity",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"api": "/api/activity/createtasktoactivity",
|
||||
"name": "创建活动和任务对应点",
|
||||
"module": "activity",
|
||||
"type": "add"
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"api": "/api/activity/updateactivitytaskpoint",
|
||||
"name": "更新活动和任务对应点",
|
||||
"module": "activity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"api": "/api/activity/delactivitytaskpoint",
|
||||
"name": "删除活动和任务对应点",
|
||||
"module": "activity",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"api": "/api/mail/getcreatesinglemail",
|
||||
"name": "获取创建单人有道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"api": "/api/mail/getcreatesinglemailtxt",
|
||||
"name": "获取火箭单人无道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 69,
|
||||
"api": "/api/mail/getcreateservermail",
|
||||
"name": "获取创建全服有道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"api": "/api/mail/getcreateservermailtxt",
|
||||
"name": "获取创建全服无道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 71,
|
||||
"api": "/api/mail/getviewsinglemail",
|
||||
"name": "获取审批单人有道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 72,
|
||||
"api": "/api/mail/getviewsinglemailtxt",
|
||||
"name": "获取审批单人无道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"api": "/api/mail/getviewservermail",
|
||||
"name": "获取审批全服有道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 74,
|
||||
"api": "/api/mail/getviewservermailtxt",
|
||||
"name": "获取审批全服无道具邮件列表",
|
||||
"module": "mail",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"api": "/api/mail/findrolebyidorname",
|
||||
"name": "根据玩家名获取玩家",
|
||||
"module": "base",
|
||||
"type": "find"
|
||||
},
|
||||
{
|
||||
"id": 76,
|
||||
"api": "/api/mail/updatesinglemail",
|
||||
"name": "更新单人有道具邮件",
|
||||
"module": "mail",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 77,
|
||||
"api": "/api/mail/updatesinglemailtxt",
|
||||
"name": "更新单人无道具邮件",
|
||||
"module": "mail",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 78,
|
||||
"api": "/api/mail/updateservermail",
|
||||
"name": "更新全服有道具邮件",
|
||||
"module": "mail",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 79,
|
||||
"api": "/api/mail/updateservermailtxt",
|
||||
"name": "更新全服无道具邮件",
|
||||
"module": "mail",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 80,
|
||||
"api": "gm.gmHandler.sendMail",
|
||||
"name": "发送邮件",
|
||||
"module": "mail",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 81,
|
||||
"api": "gm.gmHandler.reloadResource",
|
||||
"name": "加载资源",
|
||||
"module": "upload",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 82,
|
||||
"api": "gm.gmHandler.updateActivity",
|
||||
"name": "更新活动",
|
||||
"module": "activity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 83,
|
||||
"api": "gm.gmHandler.deleteActivity",
|
||||
"name": "删除活动",
|
||||
"module": "activity",
|
||||
"type": "delete"
|
||||
},
|
||||
{
|
||||
"id": 84,
|
||||
"api": "gm.gmHandler.updateActivityGroup",
|
||||
"name": "更新活动组",
|
||||
"module": "activity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 85,
|
||||
"api": "gm.gmHandler.setGuildActivityDebug",
|
||||
"name": "开启军团活动",
|
||||
"module": "guildactivity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 86,
|
||||
"api": "gm.gmHandler.cancelGuildActivityDebug",
|
||||
"name": "取消军团活动",
|
||||
"module": "guildactivity",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 87,
|
||||
"api": "gm.gmRoleHandler.addItems",
|
||||
"name": "增加道具",
|
||||
"module": "user",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 88,
|
||||
"api": "gm.gmRoleHandler.handleBlock",
|
||||
"name": "封禁",
|
||||
"module": "user",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 89,
|
||||
"api": "gm.gmRoleHandler.updateGuild",
|
||||
"name": "更新军团",
|
||||
"module": "guild",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 90,
|
||||
"api": "gm.gmRoleHandler.dismissGuild",
|
||||
"name": "解散军团",
|
||||
"module": "guild",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 91,
|
||||
"api": "gm.gmRoleHandler.setGuildLeader",
|
||||
"name": "设置军团长",
|
||||
"module": "guild",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 92,
|
||||
"api": "gm.gmServerHandler.saveRegionConf",
|
||||
"name": "保存大区设置",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 93,
|
||||
"api": "gm.gmServerHandler.createNewServer",
|
||||
"name": "手动开服",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 94,
|
||||
"api": "gm.gmServerHandler.startMaintenance",
|
||||
"name": "开始维护",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 95,
|
||||
"api": "gm.gmServerHandler.startRegionMaintenance",
|
||||
"name": "开始大区维护",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 96,
|
||||
"api": "gm.gmServerHandler.stopMaintenance",
|
||||
"name": "停止维护",
|
||||
"module": "server",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 97,
|
||||
"api": "gm.gmServerHandler.sendMarquee",
|
||||
"name": "发送跑马灯",
|
||||
"module": "marquee",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 98,
|
||||
"api": "gm.gmServerHandler.cancelMarquee",
|
||||
"name": "取消跑马灯",
|
||||
"module": "marquee",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 99,
|
||||
"api": "/web/reloadresource",
|
||||
"name": "加载资源",
|
||||
"module": "upload",
|
||||
"type": "update"
|
||||
},
|
||||
{
|
||||
"id": 100,
|
||||
"api": "/api/users/getgiftcodelist",
|
||||
"name": "获取礼包码列表",
|
||||
"module": "giftcode",
|
||||
"type": "find"
|
||||
}
|
||||
]
|
||||
@@ -2,8 +2,8 @@ import { GMUserModel } from '@db/GMUser';
|
||||
import { GMUserGroupModel } from '@db/GMUserGroup'
|
||||
import { GMGroupModel } from '@db/GMGroup'
|
||||
import { GMRecordModel } from '@db/GMRecord'
|
||||
import { ApiModel } from '@db/Api';
|
||||
import { STATUS } from '@consts';
|
||||
import { gameData } from 'app/pubUtils/data';
|
||||
|
||||
module.exports = () => {
|
||||
return async function tokenParser(ctx, next) {
|
||||
@@ -20,18 +20,18 @@ module.exports = () => {
|
||||
return;
|
||||
}
|
||||
const url = ctx.request.url;
|
||||
let apiResult = await ApiModel.getApi(url);
|
||||
if(!apiResult) {
|
||||
let dicApi = gameData.apiByUrl.get(url);
|
||||
if(!dicApi) {
|
||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_MISS_API);
|
||||
return;
|
||||
}
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, ctx.app.config.realEnv);
|
||||
let flag = 0;
|
||||
for(let userGroup of userGroups) {
|
||||
let { groupId } = userGroup;
|
||||
let group = await GMGroupModel.getGroupById(groupId);
|
||||
if(group) {
|
||||
if(group.apis.includes(apiResult.apiId)) {
|
||||
if(group.apis.includes(dicApi.id)) {
|
||||
flag = 1; break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user