添加json
This commit is contained in:
@@ -168,7 +168,7 @@ export class GuildHandler {
|
||||
|
||||
let managerCntInc = 0;
|
||||
if(auth == GUILD_AUTH.LEADER) { // 转让团长
|
||||
managerCntInc = hisUserGuild.auth == GUILD_AUTH.MANAGER?-1: 0;
|
||||
managerCntInc = -1;
|
||||
} else {
|
||||
managerCntInc = auth == GUILD_AUTH.MANAGER? 1: -1;
|
||||
}
|
||||
|
||||
@@ -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()}); // 记录一下
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ITID, CONSUME_TYPE, getCurNameById, ITEM_TABLE, HERO_SYSTEM_TYPE } from './../consts';
|
||||
import { ITID, CONSUME_TYPE, getCurNameById, ITEM_TABLE, HERO_SYSTEM_TYPE, CURRENCY_BY_TYPE } from './../consts';
|
||||
import { EquipModel } from './../db/Equip';
|
||||
import { resResult, parseGoodStr } from '../pubUtils/util';
|
||||
import { getGoodById } from '../pubUtils/gamedata';
|
||||
|
||||
@@ -15,6 +15,7 @@ import { MailModel, MailType } from '../db/Mail';
|
||||
import { pinus } from 'pinus';
|
||||
import { indexOf } from 'underscore';
|
||||
import { PvpSeasonResultModel } from '../db/PvpSeasonResult';
|
||||
import { settleGuildWeekly } from './guildService';
|
||||
const PER_SECOND = 1 * 1000;
|
||||
const PER_DAY = 24 * 60 * 60;
|
||||
const SETTLE_DIFF = 29 * 60;
|
||||
@@ -24,6 +25,7 @@ const PER_MINUTE = 1 * 60;
|
||||
var seasonJobId;
|
||||
var warJobId;
|
||||
var seasonEndTimeJobId;
|
||||
let guildWeeklyJobId
|
||||
export async function init() {
|
||||
let seasonEndTime = 0;
|
||||
let systemConfig = await SystemConfigModel.findSystemConfig();
|
||||
@@ -52,6 +54,10 @@ export async function init() {
|
||||
warJobId = scheduleJob("0 0 0 * * 3", resetPvpWarId);
|
||||
console.log('execute season resetPvpRanks');
|
||||
await resetPvpRanks();
|
||||
|
||||
// 周功勋结算任务
|
||||
guildWeeklyJobId = scheduleJob('0 0 0 * * 1', settleGuildWeekly, { name: 'settleGuildWeekly' });
|
||||
|
||||
}
|
||||
|
||||
export async function setPvpSeasonResult(obj:{ name:string, notSetNext?: boolean, notPush?: boolean }) {
|
||||
|
||||
Reference in New Issue
Block a user