拍卖行:修复竞拍记录中错误的状态

This commit is contained in:
liangtongchuan
2021-03-24 14:34:10 +08:00
parent 0bd6e09ca8
commit 07bc1fb75c
2 changed files with 9 additions and 5 deletions
@@ -1,11 +1,10 @@
import { AUCTION_BID_STATUS } from './../../../consts/constModules/auctionConst';
import { DividendModel } from './../../../db/Dividend'; import { DividendModel } from './../../../db/Dividend';
import { Application, BackendSession, ChannelService } from "pinus"; import { Application, BackendSession, ChannelService } from "pinus";
import { AUCTION_STAGE, DEBUG_MAGIC_WORD, STATUS, OFFER_RATIO, CURRENCY_BY_TYPE, CURRENCY_TYPE, DATA_NAME, LOT_STATUS } from "../../../consts"; import { AUCTION_STAGE, DEBUG_MAGIC_WORD, STATUS, OFFER_RATIO, CURRENCY_BY_TYPE, CURRENCY_TYPE, DATA_NAME, LOT_STATUS } from "../../../consts";
import { LotModel } from "../../../db/Lot"; import { LotModel } from "../../../db/Lot";
import { ItemReward, LotRec } from "../../../domain/dbGeneral"; import { ItemReward, LotRec } from "../../../domain/dbGeneral";
import { resResult } from "../../../pubUtils/util"; import { resResult } from "../../../pubUtils/util";
import { auctionStage, calculateDividend, genAuction, sendUngotDividend, startGuildAuction, startWorldAuction, stopAuction, todayGuildBegin, getBasePrice, debugAuctionLots, officialAuctionLots } from "../../../services/auctionService"; import { auctionStage, calculateDividend, genAuction, sendUngotDividend, startGuildAuction, startWorldAuction, stopAuction, todayGuildBegin, getBasePrice, debugAuctionLots, officialAuctionLots, auctionBidStatus } from "../../../services/auctionService";
import { addItems, handleCost } from '../../../services/rewardService'; import { addItems, handleCost } from '../../../services/rewardService';
import { getSimpleRoleInfo } from '../../../services/roleService'; import { getSimpleRoleInfo } from '../../../services/roleService';
import { getRoleOnlineInfo } from '../../../services/redisService'; import { getRoleOnlineInfo } from '../../../services/redisService';
@@ -157,8 +156,8 @@ export class AuctionHandler {
const lotsData = await LotModel.recentBidLots(serverId, roleId, msg.count); const lotsData = await LotModel.recentBidLots(serverId, roleId, msg.count);
const bidRecs = lotsData.map(lot => { const bidRecs = lotsData.map(lot => {
const bidRec = lot.bidRoles.find(role => { return role.roleId === roleId }); const bidRec = lot.bidRoles.find(role => { return role.roleId === roleId });
const { curBuyer, gid } = lot; const { gid } = lot;
return { ...bidRec, gid, status: curBuyer === roleId ? AUCTION_BID_STATUS.SUC : AUCTION_BID_STATUS.RETURN }; return { ...bidRec, gid, status: auctionBidStatus(roleId, lot) };
}); });
return resResult(STATUS.SUCCESS, { bidRecs }); return resResult(STATUS.SUCCESS, { bidRecs });
} }
+6 -1
View File
@@ -1,6 +1,6 @@
import { MailModel, MailType } from './../db/Mail'; import { MailModel, MailType } from './../db/Mail';
import { DividendModel } from './../db/Dividend'; import { DividendModel } from './../db/Dividend';
import { LOT_CODE_LEN, AUCTION_STAGE, AUCTION_TIME, DIVIDEND_CODE_LEN, DIVIDEND_STATUS, LOT_STATUS, MAIL_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS, DIVIDENDWEEKENDRATE, DIVIDENDMAXRATIO, DIVIDENDPOSITIONMAXRATIO, ROLE_RECEIVE_STATUS } from './../consts'; import { LOT_CODE_LEN, AUCTION_STAGE, AUCTION_TIME, DIVIDEND_CODE_LEN, DIVIDEND_STATUS, LOT_STATUS, MAIL_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS, DIVIDENDWEEKENDRATE, DIVIDENDMAXRATIO, DIVIDENDPOSITIONMAXRATIO, ROLE_RECEIVE_STATUS, AUCTION_BID_STATUS } from './../consts';
import { DividendRec, ItemReward } from "../domain/dbGeneral"; import { DividendRec, ItemReward } from "../domain/dbGeneral";
import { genCode, resResult } from '../pubUtils/util'; import { genCode, resResult } from '../pubUtils/util';
import { LotModel, LotParam } from '../db/Lot'; import { LotModel, LotParam } from '../db/Lot';
@@ -237,6 +237,11 @@ export async function sendUngotDividendJob() {
} }
} }
export function auctionBidStatus(roleId: string, lot: LotParam) {
const { curBuyer, gid, status } = lot;
return curBuyer !== roleId ? AUCTION_BID_STATUS.RETURN : status === LOT_STATUS.SOLD || status === LOT_STATUS.MAX ? AUCTION_BID_STATUS.SUC : AUCTION_BID_STATUS.LEAD;
}
export async function sendUngotDividend(debug = false) { export async function sendUngotDividend(debug = false) {
try { try {
console.log('schedule sendUngotDividend called:', new Date()); console.log('schedule sendUngotDividend called:', new Date());