✨ feat(gvg): 添加联军频道
This commit is contained in:
@@ -599,11 +599,11 @@ export class GVGBattleHandler {
|
||||
|
||||
// 获取战报
|
||||
// type: 战报类型
|
||||
async getRecs(msg: { type: number, cityId: number }, session: BackendSession) {
|
||||
async getRecs(msg: { type: number }, session: BackendSession) {
|
||||
const roleId = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
const guildCode = session.get('guildCode');
|
||||
const { type, cityId } = msg;
|
||||
const { type } = msg;
|
||||
// 根据 type 获取战报
|
||||
let { configId, period } = getGVGPeriodData();
|
||||
let groupKey = await getGroupKey(serverId);
|
||||
@@ -613,7 +613,7 @@ export class GVGBattleHandler {
|
||||
|
||||
let recs: GVGRecType[] = [];
|
||||
if(type == GVG_REC_TYPE.BATTLE_BY_CITY) {
|
||||
recs = await GVGRecModel.findBattleRecByCity(configId, groupKey, cityId);
|
||||
recs = await GVGRecModel.findBattleRecByGroup(configId, groupKey);
|
||||
} else if (type == GVG_REC_TYPE.BATTLE_BY_LEAGUE) {
|
||||
recs = await GVGRecModel.findBattleRecByLeague(configId, myLeague.leagueCode);
|
||||
} else if (type == GVG_REC_TYPE.BATTLE_BY_ROLE) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import { checkGVGTask } from "../../../services/task/taskService";
|
||||
import { getFightTimeByPeriod, getMyVestiges, getVestiges } from "../../../services/gvg/gvgFightService";
|
||||
import { getSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { GVGVestigeRankModel } from "../../../db/GVGVestigeRank";
|
||||
import { addTechActivateMessage, addTechUnlockMessage } from "../../../services/gvg/gvgRecService";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -344,6 +345,7 @@ export class GVGHandler {
|
||||
// 千机阁解锁
|
||||
async unlockTech(msg: { techId: number }, session: BackendSession) {
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const guildCode = session.get('guildCode');
|
||||
const { techId } = msg;
|
||||
|
||||
@@ -383,6 +385,8 @@ export class GVGHandler {
|
||||
}
|
||||
|
||||
res.releaseCallback();
|
||||
addTechUnlockMessage(roleId, roleName, myLeague, techId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
queue: leaguePrepare?.techQueue||[]
|
||||
});
|
||||
@@ -392,6 +396,7 @@ export class GVGHandler {
|
||||
async activate(msg: { techId: number, battleFeats: number }, session: BackendSession) {
|
||||
const serverId = session.get('serverId');
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const guildCode = session.get('guildCode');
|
||||
const sid = session.get('sid');
|
||||
const { techId, battleFeats } = msg;
|
||||
@@ -436,6 +441,7 @@ export class GVGHandler {
|
||||
await addGVGReward(roleId, '', myLeague.leagueCode, null, [{ id: GVG_ITEM.KNIFE, count: dicTech.param[1] }], [], ITEM_CHANGE_REASON.GVG_TECH_SEND_KNIFE);
|
||||
}
|
||||
}
|
||||
addTechActivateMessage(roleId, roleName, myLeague, techId);
|
||||
}
|
||||
|
||||
// 添加 活跃
|
||||
|
||||
@@ -16,7 +16,7 @@ import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||
import { createGroupMsg, pushGroupMsgToRoom } from "../../../services/chatService";
|
||||
import { sendMailByContent, sendMailToGuildByContent, sendMailToLeagueByContent } from "../../../services/mailService";
|
||||
import { getGVGCities } from "../../../services/gvg/gvgBattleService";
|
||||
import { guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
|
||||
import { changeNoticeMessage, guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
|
||||
import { LeagueLeader } from "../../../domain/rank";
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -587,6 +587,7 @@ export class GVGManageHandler {
|
||||
// 设置联军信息
|
||||
async setLeagueInfo(msg: { leagueCode: string, name: string, notice: string, icon: number }, session: BackendSession) {
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const guildCode = session.get('guildCode');
|
||||
|
||||
const { leagueCode: targetLeagueCode, name, notice, icon } = msg;
|
||||
@@ -611,6 +612,9 @@ export class GVGManageHandler {
|
||||
if(icon != undefined) {
|
||||
await updateUserInfo(REDIS_KEY.LEAGUE_INFO, myLeague.leagueCode, [{ field: 'icon', value: name }]);
|
||||
}
|
||||
if(notice != undefined) {
|
||||
await changeNoticeMessage(roleId, roleName, myLeague, notice);
|
||||
}
|
||||
|
||||
// 返回
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
|
||||
@@ -227,7 +227,7 @@ export class GVGProduceHandler {
|
||||
// 计算产量
|
||||
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults(myResultFields);
|
||||
// 资源
|
||||
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
|
||||
let resourceResult = await addResource(myLeague, roleId, roleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
|
||||
// 相关物品
|
||||
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueRewardSum, rewardSum, ITEM_CHANGE_REASON.HARVEST)
|
||||
// 活跃
|
||||
@@ -282,7 +282,7 @@ export class GVGProduceHandler {
|
||||
// 计算产量
|
||||
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults(resultField);
|
||||
// 资源
|
||||
await addResource(myLeague.leagueCode, targetRoleId, resultField[0].lockRoleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
|
||||
await addResource(myLeague, targetRoleId, resultField[0].lockRoleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
|
||||
await sendMailByContent(MAIL_TYPE.HELP_HARVEST, targetRoleId, { sendName: roleName, goods: rewardSum });
|
||||
// 相关物品
|
||||
await addGVGReward(targetRoleId, roleName, myLeague.leagueCode, targetOnlineInfo.sid, leagueRewardSum, [], ITEM_CHANGE_REASON.HARVEST)
|
||||
@@ -368,7 +368,7 @@ export class GVGProduceHandler {
|
||||
let { reward, leagueReward, leagueConsume } = dicGVGItem;
|
||||
let produceCoin = getProduceCoinCnt(leagueConsume);
|
||||
// 资源
|
||||
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.MINERAL, output)||{};
|
||||
let resourceResult = await addResource(myLeague, roleId, roleName, GVG_RESOURCE_TYPE.MINERAL, output)||{};
|
||||
// 相关物品
|
||||
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
|
||||
// 活跃
|
||||
@@ -489,7 +489,7 @@ export class GVGProduceHandler {
|
||||
let { reward, leagueReward, leagueConsume } = dicGVGItem;
|
||||
let produceCoin = getProduceCoinCnt(leagueConsume);
|
||||
// 资源
|
||||
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.WOOD, output)||{};
|
||||
let resourceResult = await addResource(myLeague, roleId, roleName, GVG_RESOURCE_TYPE.WOOD, output)||{};
|
||||
// 相关物品
|
||||
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
|
||||
// 活跃
|
||||
@@ -514,7 +514,7 @@ export class GVGProduceHandler {
|
||||
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
|
||||
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
||||
|
||||
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, type, count);
|
||||
let resourceResult = await addResource(myLeague, roleId, roleName, type, count);
|
||||
if(!resourceResult) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
return resResult(STATUS.SUCCESS, resourceResult);
|
||||
|
||||
Reference in New Issue
Block a user