🐞 fix(军团活动): 诸侯混战挑战数据重复错误
This commit is contained in:
@@ -54,7 +54,7 @@ export class CityActivityHandler {
|
|||||||
}
|
}
|
||||||
const dbCities = await GuildActivityCityModel.getAllCities(serverId, declareIndex);
|
const dbCities = await GuildActivityCityModel.getAllCities(serverId, declareIndex);
|
||||||
let cities = getCities(guildCode, dbCities);
|
let cities = getCities(guildCode, dbCities);
|
||||||
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index);
|
let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index);
|
||||||
let ranks = await getCityActivityRank(guildCode, serverId, guildActivityRec?.challengeCityId, roleId, roleName);
|
let ranks = await getCityActivityRank(guildCode, serverId, guildActivityRec?.challengeCityId, roleId, roleName);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
@@ -85,7 +85,7 @@ export class CityActivityHandler {
|
|||||||
let obj = getCityActivityObj();
|
let obj = getCityActivityObj();
|
||||||
let {gateHp, maxHp} = await obj.getGateHpAndInc(serverId, cityId);
|
let {gateHp, maxHp} = await obj.getGateHpAndInc(serverId, cityId);
|
||||||
|
|
||||||
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index);
|
let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index);
|
||||||
if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS);
|
if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
let myGuildActivityRec = await UserGuildActivityRecModel.findByRoleId(roleId, guildActivityRec.code);
|
let myGuildActivityRec = await UserGuildActivityRecModel.findByRoleId(roleId, guildActivityRec.code);
|
||||||
@@ -222,7 +222,7 @@ export class CityActivityHandler {
|
|||||||
|
|
||||||
if (!guildCode) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
|
if (!guildCode) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
|
||||||
|
|
||||||
let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index);
|
let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index);
|
||||||
if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS);
|
if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
let { code: sourceCode } = guildActivityRec;
|
let { code: sourceCode } = guildActivityRec;
|
||||||
|
|||||||
@@ -780,6 +780,7 @@ export async function declareCity(serverId: number, roleId: string, guildCode: s
|
|||||||
let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex);
|
let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex);
|
||||||
if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个
|
if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个
|
||||||
let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex);
|
let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex);
|
||||||
|
await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, declareIndex, {}, cityId);
|
||||||
await sendGuildCityDeclare(serverId, cityId, guildCode, cityRec.declareCount);
|
await sendGuildCityDeclare(serverId, cityId, guildCode, cityRec.declareCount);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,6 +93,11 @@ export default class GuildActivityRecord extends BaseModel {
|
|||||||
return rec;
|
return rec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async findByGuild(guildCode: string, aid: number, index: number) {
|
||||||
|
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOne({aid, guildCode, index, status: 1}).lean();
|
||||||
|
return rec;
|
||||||
|
}
|
||||||
|
|
||||||
public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam, challengeCityId?: number) {
|
public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam, challengeCityId?: number) {
|
||||||
if(challengeCityId) {
|
if(challengeCityId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user