军团:权限判断函数提取

This commit is contained in:
luying
2021-08-04 16:40:20 +08:00
parent 8cbf0090c5
commit 4d3c0fe302
18 changed files with 270 additions and 145 deletions

View File

@@ -15,6 +15,7 @@ import { handleCost } from "../../../services/rewardService";
import { addActive } from "../../../services/guildService";
import { Rank } from "../../../services/rankService";
import { checkActivityTask, checkTask } from "../../../services/taskService";
import { guildInter } from "../../../pubUtils/interface";
export default function (app: Application) {
new HandlerService(app, {});
@@ -134,8 +135,8 @@ export class CityActivityHandler {
}
// 开始挑战
async checkBattle(msg: { cityId: number, costGold: boolean, heroes: number[] }, session: BackendSession) {
let { cityId, costGold, heroes } = msg;
async checkBattle(msg: guildInter & { cityId: number, costGold: boolean, heroes: number[] }, session: BackendSession) {
let { cityId, costGold, heroes, myUserGuild: userGuild } = msg;
if (!heroes || heroes.length <= 0) return resResult(STATUS.WRONG_PARMS);
const roleId = session.get('roleId');
@@ -161,8 +162,6 @@ export class CityActivityHandler {
// TODO 测试完成后去掉这条判断
// if(!statusResult.isOpen) return resResult(STATUS.GUILD_ACTIVITY_NOT_OPEN);
let userGuild = await UserGuildModel.getMyGuild(roleId, 'job');
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid);
if (!guildActivityRec) return resResult(STATUS.INTERNAL_ERR);

View File

@@ -9,10 +9,11 @@ import { GuildModel } from '../../../db/Guild';
import { handleCost, addItems } from '../../../services/rewardService';
import { CHAT_SERVER, GUILD_POINT_WAYS } from '../../../consts';
import { getDonation } from '../../../services/donateService';
import { getUserGuildWithRefActive } from '../../../services/guildService';
import { getUserGuildWithRefActive, refreshUserGuild } from '../../../services/guildService';
import { ARMY } from '../../../pubUtils/dicParam';
import { addActive } from '../../../services/guildService'
import { checkActivityTask, checkTask } from '../../../services/taskService';
import { guildInter } from '../../../pubUtils/interface';
export default function (app: Application) {
new HandlerService(app, {});
return new DonationHandler(app);
@@ -27,11 +28,12 @@ export class DonationHandler {
* @param msg
* @param session
*/
async getDonation(msg: {}, session: BackendSession) {
async getDonation(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
const { myUserGuild } = msg;
let userGuild = await getUserGuildWithRefActive(roleId, 'donateCnt receiveBoxs guildCode');
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, donateCnt, receiveBoxs } = userGuild;
@@ -43,16 +45,15 @@ export class DonationHandler {
* @param msg
* @param session
*/
async donate(msg: { id: number }, session: BackendSession) {
const { id } = msg;
async donate(msg: guildInter & { id: number }, session: BackendSession) {
const { id, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const serverId: number = parseInt(session.get('serverId'));
const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let userGuild = await getUserGuildWithRefActive(roleId, 'donateCnt receiveBoxs guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild) return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, donateCnt: resdonateCnt } = userGuild;
if (resdonateCnt >= ARMY.ARMY_DONATE_TIMES)
return resResult(STATUS.GUILD_DONATE_TIMES_NOT_ENOUGH);
@@ -84,13 +85,13 @@ export class DonationHandler {
* @param msg
* @param session
*/
async receiveBox(msg: { id: number }, session: BackendSession) {
const { id } = msg;
async receiveBox(msg: guildInter & { id: number }, session: BackendSession) {
const { id, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await getUserGuildWithRefActive(roleId, 'donateCnt receiveBoxs guildCode');
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, receiveBoxs: resReceiveBoxs } = userGuild;

View File

@@ -15,6 +15,7 @@ import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
import { Rank } from "../../../services/rankService";
import { getTimeFun } from "../../../pubUtils/timeUtil";
import { checkActivityTask, checkTask } from "../../../services/taskService";
import { guildInter } from "../../../pubUtils/interface";
export default function (app: Application) {
new HandlerService(app, {});
@@ -61,8 +62,8 @@ export class GateActivityHandler {
}
// 开启挑战
async checkBattle(msg: { heroes: number[] }, session: BackendSession) {
let { heroes } = msg;
async checkBattle(msg: guildInter & { heroes: number[] }, session: BackendSession) {
let { heroes, myUserGuild: userGuild } = msg;
if (!heroes || heroes.length <= 0) return resResult(STATUS.WRONG_PARMS);
const roleId = session.get('roleId');
@@ -80,8 +81,6 @@ export class GateActivityHandler {
// TODO 测试完成后去掉这条判断
// if(!statusResult.isOpen) return resResult(STATUS.GUILD_ACTIVITY_NOT_OPEN);
let userGuild = await UserGuildModel.getMyGuild(roleId, 'job');
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid);
if (!guildActivityRec) return resResult(STATUS.INTERNAL_ERR);

View File

@@ -45,11 +45,9 @@ export class GuildHandler {
}
// 获得boss关卡
async getBossInstance(msg: {}, session: BackendSession) {
async getBossInstance(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
let { myUserGuild: userGuild } = msg;
const { guildCode: code } = userGuild;
let bossInstance = await BossInstanceModel.findBossInstance(code);
if (!bossInstance) {
@@ -61,8 +59,6 @@ export class GuildHandler {
//开启演武场
async openBossInstance(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const sid: string = session.get('sid');
const serverId: number = parseInt(session.get('serverId'));
const { myUserGuild: userGuild } = msg;
@@ -104,12 +100,10 @@ export class GuildHandler {
return resResult(STATUS.SUCCESS, result);
}
async battleBoss(msg: {}, session: BackendSession) {
async battleBoss(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode job');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { myUserGuild: userGuild } = msg;
const { guildCode: code } = userGuild;
let bossInstance = await BossInstanceModel.findBossInstance(code);
if (!bossInstance)
@@ -138,14 +132,11 @@ export class GuildHandler {
return resResult(STATUS.SUCCESS, { battleCode });
}
async action(msg: { damage: number, battleCode: string }, session: BackendSession) {
const { battleCode, damage } = msg;
async action(msg: guildInter & { damage: number, battleCode: string }, session: BackendSession) {
const { battleCode, damage, myUserGuild: userGuild } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
let flag = await checkBossBattleMemberExists(code, serverId, roleId, battleCode);
if (!flag) {
@@ -166,15 +157,12 @@ export class GuildHandler {
}
}
async battleBossEnd(msg: { battleCode: string }, session: BackendSession) {
const { battleCode } = msg;
async battleBossEnd(msg: guildInter & { battleCode: string }, session: BackendSession) {
const { battleCode, myUserGuild: userGuild } = msg;
const roleId = session.get('roleId');
const sid = session.get('sid');
const funcs: number[] = session.get('funcs');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
const battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true);
if (!battleRecord || battleRecord.status != 0 || roleId != battleRecord.roleId) {

View File

@@ -2,7 +2,7 @@ import { Application, BackendSession, ChannelService, HandlerService, } from 'pi
import { resResult, getRandEelm, shouldRefresh, sortArrRandom } from '../../../pubUtils/util';
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE, REDIS_KEY, GUILD_SELECT, USER_GUILD_SELECT, TASK_TYPE, DEBUG_MAGIC_WORD } from '../../../consts';
import { UserGuildModel, UserGuildType } from '../../../db/UserGuild';
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly, getMyGuildInfo, refreshUserGuild } from '../../../services/guildService';
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly, getMyGuildInfo, refreshUserGuild, setUserGuildSession } from '../../../services/guildService';
import { GuildModel, GuildType } from '../../../db/Guild';
import { RoleModel, RoleType } from '../../../db/Role';
import { ARMY } from '../../../pubUtils/dicParam';
@@ -79,8 +79,7 @@ export class GuildHandler {
let rank = await r.getMyRank({ guildCode: guild.code });
// 加入channel
session.set('guildCode', guild.code);
session.push('guildCode', () => { });
setUserGuildSession(session, userGuild);
addRoleToGuildChannel(roleId, sid, guild.code);
// 添加动态
@@ -157,6 +156,7 @@ export class GuildHandler {
async setAuth(msg: guildInter & { roleId: string, auth: number }, session: BackendSession) {
const roleId = session.get('roleId');
const sid = session.get('sid');
const roleName = session.get('roleName');
const serverId = session.get('serverId');
const { roleId: memberRoleId, auth, myUserGuild, hisUserGuild } = msg;
@@ -193,12 +193,14 @@ export class GuildHandler {
if (!userGuild) {
return resResult(STATUS.GUILD_MEMBER_NOT_FOUND);
}
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId: memberRoleId, userGuild }]);
const role = await RoleModel.findByRoleId(memberRoleId);
let updateObject = {};
if (auth == GUILD_AUTH.LEADER) { // 转让团长
updateObject['leader'] = role._id;
await UserGuildModel.updateInfo(roleId, { auth: GUILD_AUTH.MEMBER, job: GUILD_JOB.SHIBING }, {}); // 自己降权限
let myUserGuild = await UserGuildModel.updateInfo(roleId, { auth: GUILD_AUTH.MEMBER, job: GUILD_JOB.SHIBING }, {}); // 自己降权限
setUserGuildSession(session, myUserGuild);
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{ field: 'leader', value: new GuildLeader(role) }]);
}
@@ -467,14 +469,15 @@ export class GuildHandler {
}
// 获取军团成员
async getGuildMember(msg: guildInter & { code: string, sort: string }, session: BackendSession) {
async getGuildMember(msg: { code: string, sort: string }, session: BackendSession) {
const roleId = session.get('roleId');
const guildAuth: number = session.get('guildAuth');
// const serverId = session.get('serverId');
const { code, sort, myUserGuild } = msg;
const { code, sort } = msg;
let select = ['role', 'job'];
const checkDetailResult = await checkAuth(GUILD_OPERATE.GET_MEMBER_LIST_DETAIL, roleId, code, myUserGuild);
const checkDetailResult = await checkAuth(GUILD_OPERATE.GET_MEMBER_LIST_DETAIL, code, guildAuth);
if (checkDetailResult) {
select.push('auth', 'activeWeekly activeUpdateTime');
}
@@ -511,6 +514,7 @@ export class GuildHandler {
async dismiss(msg: guildInter & { code: string }, session: BackendSession) {
const serverId = session.get('serverId');
const sid = session.get('sid');
const { code } = msg;
const guild = await GuildModel.dismiss(code, serverId);
@@ -521,6 +525,8 @@ export class GuildHandler {
await RoleModel.dissmissGuild(members);
await UserGuildApplyModel.deleteApplyByGuild(code);
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid, members.map(roleId => { return { roleId, userGuild: null } })); // 更新session
// 删除channel
let chatSid = await getGuildChannelSid(code);
@@ -562,8 +568,7 @@ export class GuildHandler {
this.app.rpc.chat.guildRemote.addRec.toServer(chatSid, rec);
this.app.rpc.chat.guildRemote.memberQuit.toServer(chatSid, code, roleId, guild, sid);
session.set('guildCode', '');
session.push('guild', () => { });
setUserGuildSession(session, null);
return resResult(STATUS.SUCCESS, { hasGuild: role.hasGuild });
}
@@ -597,6 +602,8 @@ export class GuildHandler {
// 添加动态
const rec = await GuildRecModel.createGuildRec(roleId, code, GUILD_REC_TYPE.QUIT_GUILD, [role.roleName]);
this.app.rpc.chat.guildRemote.addRec.toServer(chatSid, rec);
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId: memberRoleId, userGuild }]);
await sendMailByContent(MAIL_TYPE.GUILD_BE_KICK, memberRoleId, { sendName: roleName, params: [guild.name] });
return resResult(STATUS.SUCCESS, { memberCnt: guild.memberCnt });
@@ -642,8 +649,12 @@ export class GuildHandler {
const topUser = <RoleType>topUserGuild.role;
// 交换
await UserGuildModel.updateInfo(leaderRoleId, { auth: GUILD_AUTH.MEMBER, job: GUILD_JOB.SHIBING }, {}, 'auth'); // 团长撤
await UserGuildModel.updateInfo(topUserGuild.roleId, { auth: GUILD_AUTH.LEADER, job: GUILD_JOB.JIANGJUN }, {}, 'auth'); // 最高功勋人升
let oldLeaderUserGuild = await UserGuildModel.updateInfo(leaderRoleId, { auth: GUILD_AUTH.MEMBER, job: GUILD_JOB.SHIBING }, {}, 'auth'); // 团长撤
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId: leaderRoleId, oldLeaderUserGuild }]); // 更新session
let newLeaderUserGuild = await UserGuildModel.updateInfo(topUserGuild.roleId, { auth: GUILD_AUTH.LEADER, job: GUILD_JOB.JIANGJUN }, {}, 'auth'); // 最高功勋人升
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId: topUserGuild.roleId, newLeaderUserGuild }]); // 更新session
let managerCntInc = topUserGuild.auth == GUILD_AUTH.MANAGER ? -1 : 0; // 管理人数
const guild = await GuildModel.updateInfo(code, { leader: topUser._id }, { managerCnt: managerCntInc }, 'managerCnt name'); // 如果有转让团长设置leader
@@ -924,8 +935,7 @@ export class GuildHandler {
this.app.rpc.chat.guildRemote.addRec.toServer(chatSid, rec);
this.app.rpc.chat.guildRemote.memberQuit.toServer(chatSid, oldCode, roleId, guild, sid);
session.set('guildCode', '');
session.push('guild', () => { });
setUserGuildSession(session, userGuild);
}
const joinResult = await joinGuild(code, guild.name, lv, roleId, serverId, session);

View File

@@ -30,11 +30,8 @@ export class GuildRefineHandler {
* @param msg
* @param session
*/
async getRefine(msg: {}, session: BackendSession) {
const roleId = session.get('roleId');
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
async getRefine(msg: guildInter & {}, session: BackendSession) {
const { myUserGuild: userGuild } = msg;
const { guildCode: code } = userGuild;
let guildRefine = await GuildRefineModel.getRefine(code);
if (!guildRefine) {
@@ -47,16 +44,13 @@ export class GuildRefineHandler {
* @param msg
* @param session
*/
async refineEquip(msg: { pid: number }, session: BackendSession) {
let { pid } = msg;
async refineEquip(msg: guildInter & { pid: number }, session: BackendSession) {
let { pid, myUserGuild: userGuild } = msg;
const roleId: string = session.get('roleId');
const sid: string = session.get('sid');
const roleName: string = session.get('roleName');
const funcs: number[] = session.get('funcs');
let pieceInfo = getGoodById(pid);
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
let { guildCode: code } = userGuild;
let { scienceTrees } = await GuildRefineModel.getRefine(code);
@@ -87,7 +81,7 @@ export class GuildRefineHandler {
* @param msg
* @param session
*/
async lightUpTree(msg: guildInter & { id: number }, session: BackendSession) {
async lightUpTree(msg: guildInter & guildInter & { id: number }, session: BackendSession) {
let { id } = msg;
const serverId: number = session.get('serverId');
const { myUserGuild: userGuild } = msg
@@ -136,15 +130,12 @@ export class GuildRefineHandler {
* @param msg
* @param session
*/
async assistRefine(msg: { id: number }, session: BackendSession) {
let { id } = msg;
async assistRefine(msg: guildInter & { id: number }, session: BackendSession) {
let { id, myUserGuild: userGuild } = msg;
const roleId: string = session.get('roleId');
const serverId: number = session.get('serverId');
const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
let res: any = await lockData(serverId, DATA_NAME.GUILD_ASSIST_REFINE, code);//加锁
if (!!res.err)

View File

@@ -4,7 +4,7 @@ import { STATUS, TASK_TYPE } from '../../../consts';
import { GuildTrainModel } from '../../../db/GuildTrain';
import { BattleRecordModel } from '../../../db/BattleRecord';
import { nowSeconds, getTimeFun, getZeroPoint } from '../../../pubUtils/timeUtil';
import { getUserGuild, getGuildTrainInfo, unlockTrain, getGuildTrainRewards, getGuildTrainInstance, getTrainBoxRewardsResult } from '../../../services/guildTrainService';
import { refreshTrain, getGuildTrainInfo, unlockTrain, getGuildTrainRewards, getGuildTrainInstance, getTrainBoxRewardsResult } from '../../../services/guildTrainService';
import { findIndex, findWhere } from 'underscore'
import { lockData } from '../../../services/redLockService';
import { GUILD_REPORT_NUM, GUILD_POINT_WAYS } from '../../../consts/constModules/guildConst';
@@ -20,6 +20,7 @@ import { DATA_NAME } from '../../../consts/dataName';
import { pushGuildTrainSucMsg } from '../../../services/chatService';
import { checkActivityTask, checkTask } from '../../../services/taskService';
import { sendPopUpActivityData } from '../../../services/guildActivityService';
import { guildInter } from '../../../pubUtils/interface';
export default function (app: Application) {
new HandlerService(app, {});
@@ -32,10 +33,11 @@ export class GuildTrainHandler {
}
//获得试炼的详情
async getTrainInstance(msg: {}, session: BackendSession) {
async getTrainInstance(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await getUserGuild(roleId, serverId);
const { myUserGuild } = msg;
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -44,10 +46,11 @@ export class GuildTrainHandler {
return resResult(STATUS.SUCCESS, result);
}
//获得试炼战报
async getTrainReports(msg: {}, session: BackendSession) {
async getTrainReports(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await getUserGuild(roleId, serverId);
const { myUserGuild } = msg;
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -69,10 +72,11 @@ export class GuildTrainHandler {
}
//获得试炼宝箱
async getTrainBoxs(msg: {}, session: BackendSession) {
async getTrainBoxs(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await getUserGuild(roleId, serverId);
const { myUserGuild } = msg;
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -84,12 +88,12 @@ export class GuildTrainHandler {
* @param msg
* @param session
*/
async trainBattleStart(msg: { hid: number, trainId: number, difficulty: number }, session: BackendSession) {
const { hid, difficulty, trainId } = msg;
async trainBattleStart(msg: guildInter & { hid: number, trainId: number, difficulty: number }, session: BackendSession) {
const { hid, difficulty, trainId, myUserGuild } = msg;
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const serverId = parseInt(session.get('serverId'));
let userGuild = await getUserGuild(roleId, serverId);
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -126,14 +130,14 @@ export class GuildTrainHandler {
* @param msg
* @param session
*/
async trainBattleEnd(msg: { battleCode: string, isSuccess: boolean }, session: BackendSession) {
const { battleCode, isSuccess } = msg;
async trainBattleEnd(msg: guildInter & { battleCode: string, isSuccess: boolean }, session: BackendSession) {
const { battleCode, isSuccess, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let userGuild = await getUserGuild(roleId, serverId);
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -260,13 +264,13 @@ export class GuildTrainHandler {
* @param msg
* @param session
*/
async getTrainInstanceBox(msg: { trainId: number, hid: number, index: number }, session: BackendSession) {
let { trainId, hid, index } = msg;
async getTrainInstanceBox(msg: guildInter & { trainId: number, hid: number, index: number }, session: BackendSession) {
let { trainId, hid, index, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
const roleName: string = session.get('roleName');
const sid = session.get('sid');
let userGuild = await getUserGuild(roleId, serverId);
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -320,13 +324,13 @@ export class GuildTrainHandler {
* @param msg
* @param session
*/
async getTrainLvUpRewards(msg: { trainId: number }, session: BackendSession) {
let { trainId } = msg;
async getTrainLvUpRewards(msg: guildInter & { trainId: number }, session: BackendSession) {
let { trainId, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await getUserGuild(roleId, serverId);
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;
@@ -346,12 +350,12 @@ export class GuildTrainHandler {
}
//购买挑战次数
async purchaseTrainCount(msg: { count: number }, session: BackendSession) {
let { count } = msg;
async purchaseTrainCount(msg: guildInter & { count: number }, session: BackendSession) {
let { count, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
const sid: string = session.get('sid');
let userGuild = await getUserGuild(roleId, serverId);
let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
if (userGuild.buyTrainCount >= ARMY.ARMY_TRAIN_BUYTIMES)

View File

@@ -8,6 +8,7 @@ import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
import { addActive } from "../../../services/guildService";
import { Rank } from "../../../services/rankService";
import { checkActivityTask, checkTask } from "../../../services/taskService";
import { guildInter } from "../../../pubUtils/interface";
export default function (app: Application) {
new HandlerService(app, {});

View File

@@ -8,11 +8,12 @@ import { getArmyWishPoolBaseByLv, getGoodById } from '../../../pubUtils/data';
import { addItems, checkGoods } from '../../../services/rewardService';
import { IT_TYPE } from '../../../consts/constModules/itemConst';
import { GUILD_STRUCTURE } from '../../../consts/constModules/guildConst';
import { getUserGuildWithRefActive, getWishPool } from '../../../services/guildService';
import { refreshUserGuild, getWishPool, getUserGuildWithRefActive } from '../../../services/guildService';
import { findIndex, findWhere } from 'underscore';
import { RoleModel } from '../../../db/Role';
import { getRoleOnlineInfo } from '../../../services/redisService';
import { ARMY } from '../../../pubUtils/dicParam';
import { guildInter } from '../../../pubUtils/interface';
export default function(app: Application) {
return new WishPoolHandler(app);
}
@@ -22,9 +23,10 @@ export class WishPoolHandler {
}
async getWishPool(msg: {}, session: BackendSession) {
async getWishPool(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
let userGuild = await getUserGuildWithRefActive(roleId, 'wishDntCnt wishGoods guildCode');
const { myUserGuild } = msg;
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
let res = await getWishPool(userGuild);
@@ -32,8 +34,8 @@ export class WishPoolHandler {
}
// 许愿
async wishGoods(msg: {goodId: number, type: number}, session: BackendSession) {
const { goodId, type } = msg;
async wishGoods(msg: guildInter & {goodId: number, type: number}, session: BackendSession) {
const { goodId, type, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
let count;
@@ -42,7 +44,7 @@ export class WishPoolHandler {
return resResult(STATUS.WRONG_PARMS);
if (!(goodInfo.itid == IT_TYPE.HERO_PIECE && type == 2 ) && !(goodInfo.itid == IT_TYPE.EQUIP_PIECE && type == 1 ))
return resResult(STATUS.WRONG_PARMS);
let userGuild = await getUserGuildWithRefActive(roleId, ' wishDntCnt wishGoods guildCode wishGoods');
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
let result = await checkGoods(roleId, [goodId]);
@@ -85,8 +87,8 @@ export class WishPoolHandler {
}
// 捐赠
async donateGoods(msg: {wishRoleId: string, id: string}, session: BackendSession) {
let { wishRoleId, id } = msg;
async donateGoods(msg: guildInter & {wishRoleId: string, id: string}, session: BackendSession) {
let { wishRoleId, id, myUserGuild } = msg;
const dntRoleId: string = session.get('roleId');
const dntRoleName: string = session.get('roleName');
if (wishRoleId == dntRoleId)
@@ -98,7 +100,7 @@ export class WishPoolHandler {
if (!wishUserGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, wishGoods } = wishUserGuild;
let dntRoleGuild = await getUserGuildWithRefActive(dntRoleId, ' wishDntCnt wishGoods guildCode');
let dntRoleGuild = await refreshUserGuild(myUserGuild, dntRoleId);
if (!dntRoleGuild)
return resResult(STATUS.WRONG_PARMS);
if (dntRoleGuild.guildCode != code)
@@ -125,12 +127,12 @@ export class WishPoolHandler {
});
}
async receiveGoods(msg: { id: string }, session: BackendSession) {
let { id } = msg;
async receiveGoods(msg: guildInter & { id: string }, session: BackendSession) {
let { id, myUserGuild } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
let userGuild = await getUserGuildWithRefActive(roleId, 'wishDntCnt wishGoods guildCode');
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { wishGoods } = userGuild;
@@ -148,9 +150,10 @@ export class WishPoolHandler {
return resResult(STATUS.SUCCESS, { goods, wishGoods });
}
async getReports(msg: {}, session: BackendSession) {
async getReports(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
let userGuild = await getUserGuildWithRefActive(roleId, ' guildCode');
const { myUserGuild } = msg;
let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code } = userGuild;