diff --git a/game-server/app/servers/guild/handler/auctionHandler.ts b/game-server/app/servers/guild/handler/auctionHandler.ts index f75533179..bf698c2ff 100644 --- a/game-server/app/servers/guild/handler/auctionHandler.ts +++ b/game-server/app/servers/guild/handler/auctionHandler.ts @@ -114,7 +114,7 @@ export class AuctionHandler { } bidRoles.push({ roleId, price: newPrice, time: new Date() }); const newLot = await LotModel.updateLot({ code, curBuyer: roleId, curPrice: newPrice, auctionStage, prePrice: curPrice, bidRoles, status: max ? LOT_STATUS.MAX : (maxFlag ? LOT_STATUS.SOLD : LOT_STATUS.ING), watchingRoles: Array.from(new Set([...watchingRoles, roleId])), seq: 0 }); - if(seq <= LOTS_KEEP_TO_WORLD_CNT) await LotModel.setSeq(begin, gid, count, seq); + if(seq <= LOTS_KEEP_TO_WORLD_CNT && seq > 0) await LotModel.setSeq(begin, gid, count, seq); await pushAuctionOver(newLot); // 推送竞价超过标志 res.releaseCallback(); diff --git a/shared/db/Lot.ts b/shared/db/Lot.ts index 70669789d..3ac444653 100644 --- a/shared/db/Lot.ts +++ b/shared/db/Lot.ts @@ -139,7 +139,7 @@ export default class Lot extends BaseModel { public static async keepUnSoldLotsToWorld(begin: Date) { await LotModel.updateMany({ begin, status: { $in: [LOT_STATUS.DEFAULT, LOT_STATUS.ING] }, seq: { $gt: LOTS_KEEP_TO_WORLD_CNT } }, { status: LOT_STATUS.PASSIN }); - await LotModel.updateMany({ begin, status: { $in: [LOT_STATUS.DEFAULT, LOT_STATUS.ING] }, seq: { $lte: LOTS_KEEP_TO_WORLD_CNT } }, { $set: { auctionStage: AUCTION_STAGE.WORLD } }); + await LotModel.updateMany({ begin, status: { $in: [LOT_STATUS.DEFAULT, LOT_STATUS.ING] }, seq: { $lte: LOTS_KEEP_TO_WORLD_CNT, $gt: 0 } }, { $set: { auctionStage: AUCTION_STAGE.WORLD } }); const results: LotType[] = await LotModel.find({ begin, status: { $in: [LOT_STATUS.DEFAULT, LOT_STATUS.ING] } }).select('-_id -__v').lean(); return results; }