后台:权限

This commit is contained in:
luying
2021-12-21 19:42:37 +08:00
parent 151ac33b91
commit 7d0808a9dc
26 changed files with 1009 additions and 818 deletions
-111
View File
@@ -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);
-127
View File
@@ -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) {
+25 -57
View File
@@ -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);
}
-9
View File
@@ -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
});
}
}
+91 -153
View File
@@ -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)
// }
// }
/**
* 根据类型等搜索装备