军团优化:拍卖行基础奖励

This commit is contained in:
luying
2022-07-21 10:02:44 +08:00
parent 1f8674b443
commit 3c5c1cd2ae
15 changed files with 143 additions and 159 deletions
+6 -4
View File
@@ -200,13 +200,14 @@ export async function genAuction(guildCode: string, sourceType: number, sourceCo
const dividendCode = genCode(DIVIDEND_CODE_LEN);
const participantsData = await participants(guildCode, sourceType, sourceCode);
const dividends: DividendRec[] = participantsData.map(data => {
const { roleId } = data;
const { roleId, baseNum } = data;
return {
roleId,
posNum: 0, // 职位分红
baseNum,
hasJoin: true,
weekendNum: 0, // 额外分红,周末
total: 0, // 总分红
total: baseNum, // 总分红
status: 0, // 0:未领取,1:已领取
};
});
@@ -260,15 +261,16 @@ export async function calculateDividend(dividend: DividendType) {
const participantsData = await participants(guildCode, sourceType, sourceCode);
const totalRatio = totalDividendRatio(participantsData);
const dividends: DividendRec[] = participantsData.map(data => {
const { roleId } = data;
const { roleId, baseNum } = data;
const posNum = posDividend(calcuTotalPrice, dividendRate(data), totalRatio);
const weekendNum = weekendDividend(posNum, begin);
return {
roleId,
posNum, // 职位分红
baseNum,
hasJoin: true,
weekendNum, // 额外分红,周末
total: posNum + weekendNum, // 总分红
total: posNum + baseNum + weekendNum, // 总分红
status: 0, // 0:未领取,1:已领取
};
});
@@ -1,7 +1,7 @@
import { ServerlistModel, ServerlistType } from "../../db/Serverlist";
import { RoleModel } from "../../db/Role";
import { GUILDACTIVITY } from "../../pubUtils/dicParam";
import { gameData, getGuildAuctionRewards, getCityActivityRewards } from "../../pubUtils/data";
import { gameData, getGuildAuctionRewards, getCityActivityRewards, getGuildAuctionBasicNum } from "../../pubUtils/data";
import { getCurDay, nowSeconds, getTimeFun, getZeroPoint } from "../../pubUtils/timeUtil";
import { GUILD_ACTIVITY_STATUS, GET_POINT_WAYS, GUILD_ACTIVITY_TYPE, REDIS_KEY, AUCTION_SOURCE, MAIL_TYPE, CITY_STATUS, DEBUG_MAGIC_WORD, GUILD_POINT_WAYS, TASK_TYPE, AUCTION_TIME, CITY_ACTIVITY_DOOR, ABI_TYPE, PUSH_ROUTE, RACE_ACTIVITY_STATUS, SHOP_REFRESH_TYPE } from "../../consts";
import { Record, UserGuildActivityRecModel } from "../../db/UserGuildActivityRec";
@@ -518,22 +518,26 @@ export async function participants(guildCode: string, sourceType: number, source
if(sourceCode == DEBUG_MAGIC_WORD) {
let userGuilds = await UserGuildModel.getListByGuild(guildCode);
return userGuilds.map(cur => {
return { roleId: cur.roleId, job: cur.job }
return { roleId: cur.roleId, job: cur.job, baseNum: 0 }
})
}
if (sourceType == AUCTION_SOURCE.BOSS) {
let rec = await BossInstanceModel.findBySourceCode(guildCode, sourceCode);
if (!rec) return [];
let dic = gameData.bossBaseByBossLv.get(rec.bossLv);
return rec.ranks.map(cur => {
return { roleId: cur.roleId, job: cur.job }
return { roleId: cur.roleId, job: cur.job, baseNum: dic.basicDividend }
});
} else {
let rec = await GuildActivityRecordModel.findBySourceCode(guildCode, sourceType, sourceCode);
if (!rec) return [];
return rec.members || [];
let baseNum = getGuildAuctionBasicNum(rec.aid, rec.rank, rec.cityId);
let members = rec.members || [];
return members.map(cur => {
return { roleId: cur.roleId, job: cur.job, baseNum }
})
}
}