35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
|
|
import { DonationModel } from '../db/Donation';
|
|
import { getZeroPoint, nowSeconds } from '../pubUtils/timeUtil';
|
|
import { GuildModel } from '../db/Guild';
|
|
import { findWhere } from 'underscore';
|
|
import { GUILD_STRUCTURE } from '../consts/constModules/guildConst';
|
|
/**
|
|
* 获得军团捐献,并检查是否刷新捐献数据
|
|
* @param code
|
|
* @param serverId
|
|
*/
|
|
export async function getDonation(code: string, serverId: number) {
|
|
let donation = await DonationModel.getDonation(code);
|
|
if (!donation) {
|
|
donation = await createDonation(code, serverId);
|
|
}
|
|
if (donation.refTime < getZeroPoint()) {
|
|
let { structure } = await GuildModel.findGuild(code, serverId, 'structure');
|
|
let { lv } = findWhere(structure, {id: GUILD_STRUCTURE.DONATE});
|
|
donation = await DonationModel.updateDonation(code, { donateFund:0, reports:[], refTime: nowSeconds(), donationLv: lv});
|
|
}
|
|
return donation;
|
|
}
|
|
|
|
/**
|
|
* 创建军团捐献信息
|
|
* @param code
|
|
* @param serverId
|
|
*/
|
|
export async function createDonation(code: string, serverId: number) {
|
|
let { structure } = await GuildModel.findGuild(code, serverId, 'structure');
|
|
let { lv } = findWhere(structure, {id: GUILD_STRUCTURE.DONATE});
|
|
let donation = await DonationModel.createDonation(code, lv);
|
|
return donation;
|
|
} |