军团:修改个人功勋→个人活跃

This commit is contained in:
luying
2021-01-25 09:43:03 +08:00
parent bb2f17089e
commit c4a106745b
11 changed files with 130 additions and 53 deletions
@@ -1,8 +1,8 @@
import { Application, BackendSession, pinus, ChannelService } from 'pinus';
import { resResult, getRandEelm, reduceCe } from '../../../pubUtils/util';
import { resResult, getRandEelm, reduceCe, getRefTime } from '../../../pubUtils/util';
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE } from '../../../consts';
import { UserGuildModel } from '../../../db/UserGuild';
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addGuildActive, message } from '../../../services/guildService';
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addGuildActive, message, settleGuildWeekly } from '../../../services/guildService';
import { GuildModel, GuildType } from '../../../db/Guild';
import { RoleModel, RoleType } from '../../../db/Role';
import { ARMY } from '../../../pubUtils/dicParam';
@@ -227,7 +227,7 @@ export class GuildHandler {
const serverId = session.get('serverId');
const sid = session.get('sid');
let userGuild = await getUserGuildWithRefActive(roleId, 'honour job auth guildCode receivedActive');
let userGuild = await getUserGuildWithRefActive(roleId, 'job auth guildCode receivedActive activeRecord activeDaily activeWeekly');
if(!userGuild) {
return resResult(STATUS.SUCCESS, { hasGuild: false })
};
@@ -495,7 +495,7 @@ export class GuildHandler {
let select = ['role', 'job'];
const checkDetailResult = await checkAuth(GUILD_OPERATE.GET_MEMBER_LIST_DETAIL, roleId, code);
if(checkDetailResult) {
select.push('auth', 'honourWeekly honourUpdateTime');
select.push('auth', 'activeWeekly activeUpdateTime');
}
let list = await UserGuildModel.getListByGuild(code, select.join(' '), { auth: 1 });
console.log('**', JSON.stringify(list))
@@ -508,11 +508,11 @@ export class GuildHandler {
let leader = result.shift();
result.sort((a, b) => {
if(sort == 'honour') {
if(b.honourWeekly == a.honourWeekly) {
return a.honourUpdateTime - b.honourUpdateTime
if(sort == 'active') {
if(b.activeWeekly == a.activeWeekly) {
return a.activeUpdateTime - b.activeUpdateTime
} else {
return b.honourWeekly - a.honourWeekly
return b.activeWeekly - a.activeWeekly
}
} else if (sort == 'loginTime') {
return b.loginTime - a.loginTime;
@@ -640,7 +640,7 @@ export class GuildHandler {
return resResult(STATUS.GUILD_LEADER_LOGIN);
}
// 上周周功勋最高的人
const topUserGuild = await UserGuildModel.findTopHonour(code, 'auth role roleId');
const topUserGuild = await UserGuildModel.findTopActive(code, 'auth role roleId');
if (!topUserGuild) {
return resResult(STATUS.GUILD_MEMBER_NOT_FOUND);
}
@@ -740,7 +740,8 @@ export class GuildHandler {
const checkResult = await checkAuth(GUILD_OPERATE.GET_REC, roleId, code);
if (!checkResult) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
const list = await GuildRecModel.getGuildRec(code);
let startTime = getRefTime(new Date(), 0, -3);
const list = await GuildRecModel.getGuildRec(code, startTime.getTime());
return resResult(STATUS.SUCCESS, { list });
}
@@ -826,16 +827,33 @@ export class GuildHandler {
// debug接口: 添加公会活跃值
async debugAddActive(msg: { code: string, active: number }, session: BackendSession) {
async debugAddActive(msg: { code: string, active: number, id: number }, session: BackendSession) {
const roleId = session.get('roleId');
const serverId = session.get('serverId');
const { code, active } = msg;
const { code, active, id } = msg;
const guild = await addGuildActive(code, serverId, active);
if(!guild) return resResult(STATUS.GUILD_NOT_FOUND);
let userGuild = await UserGuildModel.getMyGuild(roleId, 'activeRecord receivedActive');
let {activeRecord} = userGuild;
let curActiveRecord = activeRecord.find(cur => cur.id == id);
if( curActiveRecord ) {
curActiveRecord.count ++;
} else {
activeRecord.push({id, count: 1});
}
userGuild = await UserGuildModel.updateInfo(roleId, { activeRecord, activeDaily: userGuild.activeDaily + active, activeWeekly: userGuild.activeWeekly + active})
let { activeDaily, activeWeekly } = guild;
return resResult(STATUS.SUCCESS, { activeDaily, activeWeekly });
return resResult(STATUS.SUCCESS, { activeDaily, activeWeekly, myInfo: userGuild });
}
// debug接口: 调用定时任务
async debugWeeklyRask(msg: { }, session: BackendSession) {
await settleGuildWeekly();
return resResult(STATUS.SUCCESS);
}
}