🐞 fix(gvg): 修改动态

This commit is contained in:
luying
2023-02-28 21:01:23 +08:00
parent 2d0595b45f
commit 074615affd
5 changed files with 110 additions and 100 deletions
@@ -27,7 +27,7 @@ import { getGoldObject, handleCost } from '../../../services/role/rewardService'
import { GVGCityAreaPointModel } from '../../../db/GVGCityAreaPoint';
import { Rank } from '../../../services/rankService';
import { LeagueRankInfo, RoleRankInfo } from '../../../domain/rank';
import { addBattleEndRec, addTeamSettleRec } from '../../../services/gvg/gvgRecService';
import { addBattleEndRec } from '../../../services/gvg/gvgRecService';
import { RoleModel } from '../../../db/Role';
import { GVG } from '../../../pubUtils/dicParam';
import { sendMessageToGVGAreaByTeamWithSuc } from '../../../services/pushService';
@@ -385,7 +385,7 @@ export class GVGBattleHandler {
let teamObj = getGVGBattleData(groupKey);
teamObj.teamSettle(roleId, teamCode, pointId);
addTeamSettleRec(curTeam);
// addTeamSettleRec(curTeam);
return resResult(STATUS.SUCCESS, { curTeam: new MyTeamInfo(curTeam) });
}
@@ -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 { changeNoticeMessage, guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
import { addLeagueRenameRecord, changeNoticeMessage, guildQuitLeagueRecord } from "../../../services/gvg/gvgRecService";
import { LeagueLeader } from "../../../domain/rank";
export default function (app: Application) {
@@ -613,6 +613,7 @@ export class GVGManageHandler {
myLeague = await GVGLeagueModel.setInfo(targetLeagueCode, name, notice, icon);
if(name != undefined) {
await updateUserInfo(REDIS_KEY.LEAGUE_INFO, myLeague.leagueCode, [{ field: 'name', value: name }]);
addLeagueRenameRecord(myLeague.leagueCode, name);
}
if(icon != undefined) {
await updateUserInfo(REDIS_KEY.LEAGUE_INFO, myLeague.leagueCode, [{ field: 'icon', value: name }]);
+58 -29
View File
@@ -3,8 +3,7 @@
import { CHANNEL_PREFIX, GVG_REC_ID, GVG_REC_TYPE, GVG_RESOURCE_TYPE, MSG_SOURCE, MSG_TYPE } from "../../consts";
import { GVGBattleRecType } from "../../db/GVGBattleRec";
import { GVGLeagueModel, GVGLeagueType } from "../../db/GVGLeague";
import { GVGRecModel } from "../../db/GVGRec";
import { GVGTeamType } from "../../db/GVGTeam";
import { GVGRecModel, GVGRecUpdate } from "../../db/GVGRec";
import { GVGVestigeRecType } from "../../db/GVGVestigeRec";
import { gameData } from "../../pubUtils/data";
import { nowSeconds } from "../../pubUtils/timeUtil";
@@ -27,6 +26,12 @@ async function leagueJoinOrQuitGuild(leagueCode: string, guildName: string, recI
await GVGRecModel.addRec({ leagueCode, configId, type: GVG_REC_TYPE.PREPARE, recId, createTime: nowSeconds(), params })
}
export async function addLeagueRenameRecord(leagueCode: string, leagueName: string) {
let { configId } = getGVGConfig();
let params = [leagueName];
await GVGRecModel.addRec({ leagueCode, configId, type: GVG_REC_TYPE.PREPARE, recId: GVG_REC_ID.LEAGUE_RENAME, createTime: nowSeconds(), params })
}
// 获得资源
export async function addResourceRecord(roleId: string, roleName: string, leagueCode: string, resourceType: GVG_RESOURCE_TYPE, output: number) {
let { configId } = getGVGConfig();
@@ -72,27 +77,51 @@ export async function addVestigeLeagueRankRec(configId: number, groupKey: string
export async function addBattleEndRec(rec: GVGBattleRecType) {
let { isSuccess, attackTeamAfter: attackTeam, defenseTeamAfter: defenseTeam, configId, groupKey } = rec;
let { roleId, leagueCode, cityId, index, curTeamBreak, originPointId } = defenseTeam;
let { roleId: defenseRoleId, leagueCode: defenseLeague, cityId, index: defenseIndex, curTeamBreak: defenseBreak, originPointId: defenseOriginPoint, roleName: defenseName } = defenseTeam;
let { roleId: attackRoleId, leagueCode: attackLeague, index: attackIndex, roleName: attackName} = attackTeam;
let params = new GVGRecUpArr(configId, cityId, groupKey, nowSeconds());
if(isSuccess) {
if(!defenseTeam.isRobot) {
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_ROLE, recId: GVG_REC_ID.TEAM_BE_HIT, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, `队伍${index}`] });
}
if(curTeamBreak && originPointId > 0 ) {
if(!defenseTeam.isRobot) params.pushRec(defenseRoleId, defenseLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_BE_ATTACKED_FAIL, [attackName, `队伍${defenseIndex}`]);
params.pushRec(attackRoleId, attackLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_ATTACK_SUCCESS, [`队伍${attackIndex}`, defenseName]);
if(defenseBreak && defenseOriginPoint > 0 ) {
if(!defenseTeam.isRobot) {
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_ROLE, recId: GVG_REC_ID.TEAM_LOST_POINT, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, `队伍${index}`, getPointName(originPointId)] });
params.pushRec(defenseRoleId, defenseLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_LOST_POINT, [attackName, `队伍${defenseIndex}`, getPointName(defenseOriginPoint)]);
}
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_CITY, recId: GVG_REC_ID.CITY_OCCUPY_CHANGE, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, `${defenseTeam.roleName}`, getPointName(originPointId)] });
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_LEAGUE, recId: GVG_REC_ID.LEAGUE_OCCUPY_CHANGE, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, `${defenseTeam.roleName}`, getPointName(originPointId)] });
params.pushRec(attackRoleId, attackLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_GET_POINT, [`队伍${attackIndex}`, defenseName, getPointName(defenseOriginPoint)]);
}
} else {
if(!defenseTeam.isRobot) {
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_ROLE, recId: GVG_REC_ID.TEAM_GUARD_SUCCESS, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, `队伍${index}`] });
}
}
if(defenseTeam.isRobot && defenseTeam.isCatapult) {
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_CITY, recId: GVG_REC_ID.CITY_CATAPULT, createTime: nowSeconds(), params: [`${attackTeam.roleName}`, getCityName(cityId)] });
if(!defenseTeam.isRobot) params.pushRec(defenseRoleId, defenseLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_BE_ATTACKED_SUCCESS, [attackName, `队伍${defenseIndex}`]);
params.pushRec(attackRoleId, attackLeague, GVG_REC_TYPE.BATTLE_BY_ROLE, GVG_REC_ID.TEAM_ATTACK_FAIL, [`队伍${attackIndex}`, defenseName]);
}
await GVGRecModel.addRecs(params.getUpdateParam());
}
class GVGRecUpArr {
private arr: GVGRecUpdate[] = [];
private configId: number;
private cityId: number;
private groupKey: string;
private createTime: number;
constructor(configId: number, cityId: number, groupKey: string, createTime: number) {
this.configId = configId;
this.cityId = cityId;
this.groupKey = groupKey;
this.createTime = createTime;
}
public pushRec(roleId: string, leagueCode: string, type: GVG_REC_TYPE, recId: GVG_REC_ID, params: string[]) {
this.arr.push({
configId: this.configId, cityId: this.cityId, groupKey: this.groupKey, createTime: this.createTime,
roleId, leagueCode, type, recId, params
})
}
public getUpdateParam() {
return this.arr;
}
}
function getPointName(pointId: number) {
@@ -102,21 +131,21 @@ function getPointName(pointId: number) {
return dicArea.areaName||'';
}
function getCityName(cityId: number) {
let dicCity = gameData.gvgCity.get(cityId);
return dicCity?.cityName||'';
}
// function getCityName(cityId: number) {
// let dicCity = gameData.gvgCity.get(cityId);
// return dicCity?.cityName||'';
// }
export async function addTeamSettleRec(team: GVGTeamType) {
let { roleId, roleName, leagueCode, configId, cityId, pointId, groupKey } = team;
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_CITY, recId: GVG_REC_ID.CITY_TEAM_SETTLE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_LEAGUE, recId: GVG_REC_ID.LEAGUE_TEAM_SETTLE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
}
// export async function addTeamSettleRec(team: GVGTeamType) {
// let { roleId, roleName, leagueCode, configId, cityId, pointId, groupKey } = team;
// await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_CITY, recId: GVG_REC_ID.CITY_TEAM_SETTLE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
// await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_LEAGUE, recId: GVG_REC_ID.LEAGUE_TEAM_SETTLE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
// }
export async function addTeamLeaveRec(team: GVGTeamType, pointId: number) {
let { roleId, roleName, leagueCode, configId, cityId, groupKey } = team;
await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_LEAGUE, recId: GVG_REC_ID.LEAGUE_TEAM_LEAVE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
}
// export async function addTeamLeaveRec(team: GVGTeamType, pointId: number) {
// let { roleId, roleName, leagueCode, configId, cityId, groupKey } = team;
// await GVGRecModel.addRec({ roleId, leagueCode, configId, cityId, groupKey, type: GVG_REC_TYPE.BATTLE_BY_LEAGUE, recId: GVG_REC_ID.LEAGUE_TEAM_LEAVE, createTime: nowSeconds(), params: [`${roleName}`, getPointName(pointId)] });
// }
// —————— 频道消息 ——————