添加json

This commit is contained in:
luying
2021-01-23 18:10:48 +08:00
parent 0e88bc2bfc
commit d9ef58b6c5
40 changed files with 16877 additions and 6504 deletions
+27 -16
View File
@@ -5,6 +5,8 @@ import { STATUS } from "../consts";
import { RoleModel } from "../db/Role";
import { UserGuildModel, UserGuildType } from "../db/UserGuild";
import { UserGuildApplyModel } from "../db/UserGuildApply";
import { SystemConfigModel } from "../db/SystemConfig";
import { nowSeconds } from "../pubUtils/timeUtil";
/**
* @description 检查该玩家是否有权限做操作
@@ -76,24 +78,19 @@ export async function costFund(code: string, cost: number, sid: string) {
export async function getGuildWithRefActive(guildCode: string, serverId: number) {
// TODO 加写锁
let guild = await GuildModel.findByCode(guildCode, serverId, '+refTimeDaily +refTimeWeekly');
let guild = await GuildModel.findByCode(guildCode, serverId, '+refTimeDaily');
if(!guild) return false;
console.log(JSON.stringify(guild));
const now = new Date();
let { activeDaily, activeWeekly, refTimeDaily, refTimeWeekly} = guild;
let isRefWeek = shouldRefreshWeek(refTimeWeekly, now, 1, 0);
if(isRefWeek) {
activeWeekly = 0; refTimeWeekly = now;
}
let { activeDaily, refTimeDaily} = guild;
let isRefDaily = shouldRefresh(refTimeDaily, now, 0);
if(isRefDaily) {
activeDaily = 0; refTimeDaily = now;
guild = await GuildModel.updateInfo(guildCode, { activeDaily, refTimeDaily }, {});
}
if(isRefWeek || isRefDaily) {
guild = await GuildModel.updateInfo(guildCode, { activeDaily, activeWeekly, refTimeDaily, refTimeWeekly }, {});
}
return guild;
}
@@ -106,15 +103,12 @@ export async function getGuildWithRefActive(guildCode: string, serverId: number)
export async function addGuildActive(guildCode: string, serverId: number, active: number) {
// TODO 加写锁
let guild = await GuildModel.findByCode(guildCode, serverId, '+refTimeDaily +refTimeWeekly');
let guild = await GuildModel.findByCode(guildCode, serverId, '+refTimeDaily');
if(!guild) return false;
const now = new Date();
let { activeDaily, activeWeekly, refTimeDaily, refTimeWeekly} = guild;
let isRefWeek = shouldRefreshWeek(refTimeWeekly, now, 1, 0);
if(isRefWeek) {
activeWeekly = 0; refTimeWeekly = now;
}
let { activeDaily, activeWeekly, refTimeDaily} = guild;
let isRefDaily = shouldRefresh(refTimeDaily, now, 0);
if(isRefDaily) {
activeDaily = 0; refTimeDaily = now;
@@ -122,7 +116,7 @@ export async function addGuildActive(guildCode: string, serverId: number, active
activeWeekly += active; activeDaily += active;
guild = await GuildModel.updateInfo(guildCode, { activeDaily, activeWeekly, refTimeDaily, refTimeWeekly }, {});
guild = await GuildModel.updateInfo(guildCode, { activeDaily, activeWeekly, refTimeDaily }, {});
return guild;
}
@@ -147,3 +141,20 @@ export async function getUserGuildWithRefActive(roleId: string, select: string)
return userGuild;
}
/**
* 每周结算上周公会周功勋和 活跃并发奖励
*
*/
export async function settleGuildWeekly() {
console.log('————— settleGuildWeekly —————');
const guildList = await GuildModel.findAllGuild('code activeWeekly');
for(let { code, activeWeekly } of guildList) {
// 转换周活跃奖励
const userGuildList = await UserGuildModel.getListByGuild(code, 'honourWeekly', { honourWeekly: -1, honourUpdateTime: 1 });
}
await SystemConfigModel.updateSystemConfig({settleGuildWeeklyTime: nowSeconds()}); // 记录一下
}