🐞 fix(军团活动): 诸侯混战挑战数据重复错误
This commit is contained in:
@@ -54,7 +54,7 @@ export class CityActivityHandler {
|
||||
}
|
||||
const dbCities = await GuildActivityCityModel.getAllCities(serverId, declareIndex);
|
||||
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);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
@@ -85,7 +85,7 @@ export class CityActivityHandler {
|
||||
let obj = getCityActivityObj();
|
||||
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);
|
||||
|
||||
let myGuildActivityRec = await UserGuildActivityRecModel.findByRoleId(roleId, guildActivityRec.code);
|
||||
@@ -222,7 +222,7 @@ export class CityActivityHandler {
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个
|
||||
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);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -94,6 +94,11 @@ export default class GuildActivityRecord extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
if(challengeCityId) {
|
||||
let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOneAndUpdate(
|
||||
|
||||
Reference in New Issue
Block a user