军团相关战力使用get方法
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { Application, BackendSession, pinus, ChannelService } from 'pinus';
|
import { Application, BackendSession, pinus, ChannelService } from 'pinus';
|
||||||
import { resResult, getRandEelm, reduceCe, getRefTime } from '../../../pubUtils/util';
|
import { resResult, getRandEelm, 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, REDIS_KEY, GUILD_DATA_NAME, CHAT_SERVER } from '../../../consts';
|
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE, REDIS_KEY, GUILD_DATA_NAME, CHAT_SERVER } from '../../../consts';
|
||||||
import { UserGuildModel } from '../../../db/UserGuild';
|
import { UserGuildModel } from '../../../db/UserGuild';
|
||||||
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly } from '../../../services/guildService';
|
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly } from '../../../services/guildService';
|
||||||
@@ -56,16 +56,14 @@ export class GuildHandler {
|
|||||||
// 创建公会
|
// 创建公会
|
||||||
const guild = await GuildModel.createGuild({ name, icon, notice }, role, serverId);
|
const guild = await GuildModel.createGuild({ name, icon, notice }, role, serverId);
|
||||||
if(!guild) return resResult(STATUS.GUILD_CREATE_ERROR);
|
if(!guild) return resResult(STATUS.GUILD_CREATE_ERROR);
|
||||||
guild.guildCe = reduceCe(guild.guildCe);
|
|
||||||
guild.leader = <RoleType>guild.leader;
|
guild.leader = <RoleType>guild.leader;
|
||||||
guild.leader.ce = reduceCe(guild.leader.ce);
|
|
||||||
//创建科技树
|
//创建科技树
|
||||||
await openGuildRefine(guild.code);
|
await openGuildRefine(guild.code);
|
||||||
await unlockTrain(guild.code, 1);
|
await unlockTrain(guild.code, 1);
|
||||||
const userGuild = await UserGuildModel.createUserGuild(guild.code, role, true);
|
const userGuild = await UserGuildModel.createUserGuild(guild.code, role, true);
|
||||||
if(!userGuild) return resResult(STATUS.GUILD_CREATE_ERROR);
|
if(!userGuild) return resResult(STATUS.GUILD_CREATE_ERROR);
|
||||||
|
|
||||||
await RoleModel.joinGuild(roleId);
|
await RoleModel.joinGuild(roleId, guild.code, guild.name);
|
||||||
await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请
|
await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请
|
||||||
|
|
||||||
// 加入排行
|
// 加入排行
|
||||||
@@ -118,6 +116,7 @@ export class GuildHandler {
|
|||||||
|
|
||||||
const roleId = session.get('roleId');
|
const roleId = session.get('roleId');
|
||||||
const { code, name, notice, introduce, ceLimit, isAuto } = msg;
|
const { code, name, notice, introduce, ceLimit, isAuto } = msg;
|
||||||
|
if(!name) return resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
const checkResult = await checkAuth(GUILD_OPERATE.SET_INFO, roleId, code);
|
const checkResult = await checkAuth(GUILD_OPERATE.SET_INFO, roleId, code);
|
||||||
if(!checkResult) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
|
if(!checkResult) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
|
||||||
@@ -257,9 +256,7 @@ export class GuildHandler {
|
|||||||
return resResult(STATUS.GUILD_NOT_FOUND);
|
return resResult(STATUS.GUILD_NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
guild.guildCe = reduceCe(guild.guildCe);
|
|
||||||
guild.leader = <RoleType>guild.leader;
|
guild.leader = <RoleType>guild.leader;
|
||||||
guild.leader.ce = reduceCe(guild.leader.ce);
|
|
||||||
let leaderIsOnline = await isRoleOnline(guild.leader.roleId);
|
let leaderIsOnline = await isRoleOnline(guild.leader.roleId);
|
||||||
|
|
||||||
// 打开公会页面,加入channel
|
// 打开公会页面,加入channel
|
||||||
@@ -296,8 +293,8 @@ export class GuildHandler {
|
|||||||
return resResult(STATUS.GUILD_MEMBER_MAX);
|
return resResult(STATUS.GUILD_MEMBER_MAX);
|
||||||
}
|
}
|
||||||
|
|
||||||
const role = await RoleModel.findByRoleId(roleId);
|
const role = await RoleModel.findByRoleId(roleId, null, true);
|
||||||
if(ceLimit > reduceCe(role.ce)) {
|
if(ceLimit > role.ce) {
|
||||||
return resResult(STATUS.GUILD_NOT_REACH_CONDI);
|
return resResult(STATUS.GUILD_NOT_REACH_CONDI);
|
||||||
}
|
}
|
||||||
// TODO 暂时关闭
|
// TODO 暂时关闭
|
||||||
@@ -307,7 +304,7 @@ export class GuildHandler {
|
|||||||
|
|
||||||
let hasGuild = false;
|
let hasGuild = false;
|
||||||
if(isAuto) { // 自动加入
|
if(isAuto) { // 自动加入
|
||||||
const joinResult = await joinGuild(code, lv, roleId, serverId);
|
const joinResult = await joinGuild(code, guild.name, lv, roleId, serverId);
|
||||||
if(joinResult.status == 0) {
|
if(joinResult.status == 0) {
|
||||||
return joinResult.resResult;
|
return joinResult.resResult;
|
||||||
}
|
}
|
||||||
@@ -343,7 +340,7 @@ export class GuildHandler {
|
|||||||
let role = <RoleType>cur.role;
|
let role = <RoleType>cur.role;
|
||||||
delete cur.role;
|
delete cur.role;
|
||||||
let isOnline = await isRoleOnline(role.roleId);
|
let isOnline = await isRoleOnline(role.roleId);
|
||||||
list.push({ applyCode: cur.applyCode, ...role, ce: reduceCe(role.ce), isOnline });
|
list.push({ applyCode: cur.applyCode, ...role, isOnline });
|
||||||
}
|
}
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { list });
|
return resResult(STATUS.SUCCESS, { list });
|
||||||
@@ -368,7 +365,7 @@ export class GuildHandler {
|
|||||||
if(isReceived) { // 同意申请,加入
|
if(isReceived) { // 同意申请,加入
|
||||||
|
|
||||||
for(let { roleId } of applyList) {
|
for(let { roleId } of applyList) {
|
||||||
const joinResult = await joinGuild(code, guild.lv, roleId, serverId);
|
const joinResult = await joinGuild(code, guild.name, guild.lv, roleId, serverId);
|
||||||
if(joinResult.status == 0) continue;
|
if(joinResult.status == 0) continue;
|
||||||
|
|
||||||
// 更新人数增加
|
// 更新人数增加
|
||||||
@@ -411,7 +408,7 @@ export class GuildHandler {
|
|||||||
let result = [];
|
let result = [];
|
||||||
for(let cur of list) {
|
for(let cur of list) {
|
||||||
let isOnline = await isRoleOnline(cur.roleId);
|
let isOnline = await isRoleOnline(cur.roleId);
|
||||||
result.push({...cur, ce: reduceCe(cur.ce), isOnline})
|
result.push({...cur, isOnline})
|
||||||
}
|
}
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { quitTime, list: result });
|
return resResult(STATUS.SUCCESS, { quitTime, list: result });
|
||||||
@@ -487,7 +484,7 @@ export class GuildHandler {
|
|||||||
const { guildCode } = invite;
|
const { guildCode } = invite;
|
||||||
const guild = await GuildModel.findByCode(guildCode, serverId);
|
const guild = await GuildModel.findByCode(guildCode, serverId);
|
||||||
|
|
||||||
const joinResult = await joinGuild(guildCode, guild.lv, roleId, serverId);
|
const joinResult = await joinGuild(guildCode, guild.name, guild.lv, roleId, serverId);
|
||||||
if(joinResult.status == 0) {
|
if(joinResult.status == 0) {
|
||||||
return joinResult.resResult;
|
return joinResult.resResult;
|
||||||
}
|
}
|
||||||
@@ -528,7 +525,7 @@ export class GuildHandler {
|
|||||||
delete role._id;
|
delete role._id;
|
||||||
delete cur.role;
|
delete cur.role;
|
||||||
let isOnline = await isRoleOnline(role.roleId)
|
let isOnline = await isRoleOnline(role.roleId)
|
||||||
result.push({ ...cur, ...role, ce: reduceCe(role.ce), isOnline: !!isOnline });
|
result.push({ ...cur, ...role, isOnline: !!isOnline });
|
||||||
}
|
}
|
||||||
let leader = result.shift();
|
let leader = result.shift();
|
||||||
|
|
||||||
@@ -698,7 +695,7 @@ export class GuildHandler {
|
|||||||
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(topUser) } ]);
|
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(topUser) } ]);
|
||||||
|
|
||||||
let isOnline = await isRoleOnline(topUser.roleId);
|
let isOnline = await isRoleOnline(topUser.roleId);
|
||||||
const leader = { ...topUser, ce: reduceCe(topUser.ce), isOnline }
|
const leader = { ...topUser, ce: topUser.ce, isOnline }
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
code, managerCnt: guild.managerCnt, leader
|
code, managerCnt: guild.managerCnt, leader
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export async function checkAuth(func: number, roleId: string, code?: string, use
|
|||||||
* @param lv 公会当前等级,判断人数用
|
* @param lv 公会当前等级,判断人数用
|
||||||
* @param roleId 加入的玩家
|
* @param roleId 加入的玩家
|
||||||
*/
|
*/
|
||||||
export async function joinGuild(code: string, lv: number, roleId: string, serverId: number) {
|
export async function joinGuild(code: string, guildName: string, lv: number, roleId: string, serverId: number) {
|
||||||
|
|
||||||
// 周结算锁
|
// 周结算锁
|
||||||
let isWeeklySum = await isLocked(serverId, GUILD_DATA_NAME.WEEKLY_GUILD_SUM, code);
|
let isWeeklySum = await isLocked(serverId, GUILD_DATA_NAME.WEEKLY_GUILD_SUM, code);
|
||||||
@@ -46,7 +46,7 @@ export async function joinGuild(code: string, lv: number, roleId: string, server
|
|||||||
let res:any = await lockData(serverId, GUILD_DATA_NAME.JOIN_GUILD, code);// 加锁
|
let res:any = await lockData(serverId, GUILD_DATA_NAME.JOIN_GUILD, code);// 加锁
|
||||||
if (!!res.err) return { status: 0, resResult: resResult(STATUS.REDLOCK_ERR) };
|
if (!!res.err) return { status: 0, resResult: resResult(STATUS.REDLOCK_ERR) };
|
||||||
|
|
||||||
const result = await RoleModel.joinGuild(roleId);
|
const result = await RoleModel.joinGuild(roleId, code, guildName);
|
||||||
if(!result) {
|
if(!result) {
|
||||||
res.releaseCallback();//解锁
|
res.releaseCallback();//解锁
|
||||||
return { status: 0, resResult: resResult(STATUS.GUILD_HAS_JOIN) };
|
return { status: 0, resResult: resResult(STATUS.GUILD_HAS_JOIN) };
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ import { RoleModel } from '../db/Role';
|
|||||||
|
|
||||||
export async function eventOnPlayerLvUp(roleId: string, lv: number, addFuncs: Array<number>, dataFuncs: Array<number>) {
|
export async function eventOnPlayerLvUp(roleId: string, lv: number, addFuncs: Array<number>, dataFuncs: Array<number>) {
|
||||||
|
|
||||||
// if (!dataFuncs.includes(FUNCS_ID.PVP)) {//开启pvp
|
if (!dataFuncs.includes(FUNCS_ID.PVP)) {//开启pvp
|
||||||
let res = getFuncsSwitch(FUNCS_ID.PVP);
|
let res = getFuncsSwitch(FUNCS_ID.PVP);
|
||||||
if (!res || lv >= res.param) {
|
if (!res || lv >= res.param) {
|
||||||
let role = await RoleModel.findByRoleId(roleId);
|
let role = await RoleModel.findByRoleId(roleId);
|
||||||
await checkPvp(role);
|
await checkPvp(role);
|
||||||
addFuncs.push(FUNCS_ID.PVP);
|
addFuncs.push(FUNCS_ID.PVP);
|
||||||
}
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
if (!dataFuncs.includes(FUNCS_ID.EVENT)) {//开启奇遇
|
if (!dataFuncs.includes(FUNCS_ID.EVENT)) {//开启奇遇
|
||||||
let res = getFuncsSwitch(FUNCS_ID.EVENT);
|
let res = getFuncsSwitch(FUNCS_ID.EVENT);
|
||||||
|
|||||||
+7
-6
@@ -4,6 +4,7 @@ import Role, { RoleType } from './Role';
|
|||||||
import { genCode } from '../pubUtils/util';
|
import { genCode } from '../pubUtils/util';
|
||||||
import { GUILD_STRUCTURE, GUILD_STATUS, GUILD_PER_PAGE } from '../consts';
|
import { GUILD_STRUCTURE, GUILD_STATUS, GUILD_PER_PAGE } from '../consts';
|
||||||
import { getCurWeekTime, nowSeconds } from '../pubUtils/timeUtil';
|
import { getCurWeekTime, nowSeconds } from '../pubUtils/timeUtil';
|
||||||
|
import { reduceCe } from '../pubUtils/util';
|
||||||
|
|
||||||
class Structure {
|
class Structure {
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
@@ -66,7 +67,7 @@ export default class Guild extends BaseModel {
|
|||||||
@prop({ required: true, default: new Date(), select: false })
|
@prop({ required: true, default: new Date(), select: false })
|
||||||
refTimeDaily: Date;
|
refTimeDaily: Date;
|
||||||
|
|
||||||
@prop({ required: true, default: 0 })
|
@prop({ required: true, default: 0, get: (val:number) => reduceCe(val), set: (val: number) => val })
|
||||||
guildCe: number; // 总战力
|
guildCe: number; // 总战力
|
||||||
|
|
||||||
@prop({ required: true, type: String, default: [], select: false })
|
@prop({ required: true, type: String, default: [], select: false })
|
||||||
@@ -98,7 +99,7 @@ export default class Guild extends BaseModel {
|
|||||||
const result: GuildType = await GuildModel.findOneAndUpdate({ code }, update, { upsert: true, new: true })
|
const result: GuildType = await GuildModel.findOneAndUpdate({ code }, update, { upsert: true, new: true })
|
||||||
.select({ _id: 0, __v: 0, createdAt: 0, updatedAt: 0 })
|
.select({ _id: 0, __v: 0, createdAt: 0, updatedAt: 0 })
|
||||||
.populate('leader', { roleId: 1, roleName: 1, sHid: 1, headHid: 1, lv: 1, quitTime: 1, ce: 1, title: 1, _id: 0 }, 'Role')
|
.populate('leader', { roleId: 1, roleName: 1, sHid: 1, headHid: 1, lv: 1, quitTime: 1, ce: 1, title: 1, _id: 0 }, 'Role')
|
||||||
.lean();
|
.lean({ getters: true });
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -146,14 +147,14 @@ export default class Guild extends BaseModel {
|
|||||||
const result: GuildType = await GuildModel.findOne({ code, status: GUILD_STATUS.RUNNING, serverId })
|
const result: GuildType = await GuildModel.findOne({ code, status: GUILD_STATUS.RUNNING, serverId })
|
||||||
.select(select)
|
.select(select)
|
||||||
.populate('leader', {roleId: 1, roleName: 1, sHid: 1, headHid: 1, lv: 1, quitTime: 1, ce: 1, title: 1, _id: 0}, 'Role')
|
.populate('leader', {roleId: 1, roleName: 1, sHid: 1, headHid: 1, lv: 1, quitTime: 1, ce: 1, title: 1, _id: 0}, 'Role')
|
||||||
.lean();
|
.lean({ getter: false });
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async addGuild(code: string, roleId: string, maxMemberCnt: number, serverId: number, ce: number) {
|
public static async addGuild(code: string, roleId: string, maxMemberCnt: number, serverId: number, ce: number) {
|
||||||
let result: GuildType = await GuildModel.findOneAndUpdate({ code, memberCnt: {$lt: maxMemberCnt }, serverId }, { $inc: { memberCnt: 1, guildCe: ce }, $push: { members: roleId } }, { new: true }).lean();
|
let result: GuildType = await GuildModel.findOneAndUpdate({ code, memberCnt: {$lt: maxMemberCnt }, serverId }, { $inc: { memberCnt: 1, guildCe: ce }, $push: { members: roleId } }, { new: true }).lean({getters: true});
|
||||||
if(result && result.memberCnt >= maxMemberCnt) {
|
if(result && result.memberCnt >= maxMemberCnt) {
|
||||||
result = await GuildModel.findOneAndUpdate({ code }, { $set: { isMemberMax: true } }).lean();
|
result = await GuildModel.findOneAndUpdate({ code }, { $set: { isMemberMax: true } }).lean({getters: true});
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -195,7 +196,7 @@ export default class Guild extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async updateCe(roleId: string, inc: number ) {
|
public static async updateCe(roleId: string, inc: number ) {
|
||||||
const result = await GuildModel.findOneAndUpdate({ members: { $elemMatch: { $eq: roleId } }, status: GUILD_STATUS.RUNNING}, {$inc: {guildCe: inc}}, {new: true}).lean();
|
const result = await GuildModel.findOneAndUpdate({ members: { $elemMatch: { $eq: roleId } }, status: GUILD_STATUS.RUNNING}, {$inc: {guildCe: inc}}, {new: true}).lean({getters: true});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+27
-11
@@ -212,6 +212,16 @@ export default class Role extends BaseModel {
|
|||||||
hasGuild: boolean; // 是否加入过公会
|
hasGuild: boolean; // 是否加入过公会
|
||||||
@prop({ required: true, default: 0 })
|
@prop({ required: true, default: 0 })
|
||||||
quitGuildTime: number; // 上次退出公会的时间
|
quitGuildTime: number; // 上次退出公会的时间
|
||||||
|
@prop({ required: true, default: "" })
|
||||||
|
guildCode: string; // 加入的军团code
|
||||||
|
@prop({ required: true, default: "" })
|
||||||
|
guildName: string; // 加入的军团名
|
||||||
|
|
||||||
|
// 好友
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
friendCnt: number; // 好友人数
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
blockCnt: number; // 黑名单人数
|
||||||
|
|
||||||
public static async findAllByUid(uid: number, lean = true) {
|
public static async findAllByUid(uid: number, lean = true) {
|
||||||
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId').lean(lean);
|
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId').lean(lean);
|
||||||
@@ -245,15 +255,15 @@ export default class Role extends BaseModel {
|
|||||||
return role;
|
return role;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async findRoleByField(field: string, value?: Array<number|string>, lean = true) {
|
public static async findRoleByField(field: string, value?: Array<number|string>, select?: string, getters = false) {
|
||||||
let searchObj = {};
|
let searchObj = {};
|
||||||
if(field != 'all') {
|
if(field != 'all') {
|
||||||
searchObj[field] = {
|
searchObj[field] = {
|
||||||
$in: value
|
$in: value
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//.select('uid tel username')
|
|
||||||
const user: RoleType[] = await RoleModel.find(searchObj).lean(lean);
|
const user: RoleType[] = await RoleModel.find(searchObj).select(select).lean({ getters });
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,8 +430,8 @@ export default class Role extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 记录加入公会
|
// 记录加入公会
|
||||||
public static async joinGuild(roleId: string) {
|
public static async joinGuild(roleId: string, guildCode: string, guildName: string) {
|
||||||
const result = await RoleModel.findOneAndUpdate({ roleId, hasGuild: false }, { hasGuild: true }, { new: true }).lean();
|
const result = await RoleModel.findOneAndUpdate({ roleId, hasGuild: false }, { hasGuild: true, guildCode, guildName }, { new: true }).lean();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -430,7 +440,7 @@ export default class Role extends BaseModel {
|
|||||||
const result = await RoleModel.find({ quitTime: { $gt: time }, hasGuild: false, serverId })
|
const result = await RoleModel.find({ quitTime: { $gt: time }, hasGuild: false, serverId })
|
||||||
.select('roleId roleName ce headHid sHid lv title job quitTime')
|
.select('roleId roleName ce headHid sHid lv title job quitTime')
|
||||||
.sort({quitTime: -1, lv: -1, ce: -1})
|
.sort({quitTime: -1, lv: -1, ce: -1})
|
||||||
.limit(100).lean();
|
.limit(100).lean({getters: true});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,13 +455,19 @@ export default class Role extends BaseModel {
|
|||||||
|
|
||||||
// 公会解散
|
// 公会解散
|
||||||
public static async dissmissGuild(members: string[]) {
|
public static async dissmissGuild(members: string[]) {
|
||||||
const result = await RoleModel.updateMany({ roleId: { $in: members } }, { hasGuild: false }).lean();
|
const result = await RoleModel.updateMany({ roleId: { $in: members } }, { hasGuild: false, guildCode: "", guildName: "" }).lean();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 退出公会
|
// 退出公会
|
||||||
public static async quitGuild(roleId: string, now: number) {
|
public static async quitGuild(roleId: string, now: number) {
|
||||||
const result = await RoleModel.findOneAndUpdate({ roleId, hasGuild: true }, { hasGuild: false, quitGuildTime: now }, { new: true }).lean();
|
const result = await RoleModel.findOneAndUpdate({ roleId, hasGuild: true }, { hasGuild: false, guildCode: "", guildName: "", quitGuildTime: now }, { new: true }).lean();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 增加好友数量
|
||||||
|
public static async increaseFriendCnt(roleId: string, inc: number, max: number) {
|
||||||
|
const result = await RoleModel.findOneAndUpdate({ roleId, friendCnt: {$lt: max}}, {$inc: { friendCnt: inc }}, {new: true}).lean();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ export default class UserGuild extends BaseModel {
|
|||||||
.select(select)
|
.select(select)
|
||||||
.sort(sort)
|
.sort(sort)
|
||||||
.populate('role', 'roleId roleName ce headHid sHid lv title quitTime', 'Role')
|
.populate('role', 'roleId roleName ce headHid sHid lv title quitTime', 'Role')
|
||||||
.lean();
|
.lean({ getters: true });
|
||||||
return userGuilds;
|
return userGuilds;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ export default class UserGuild extends BaseModel {
|
|||||||
.sort({ activeWeekly: -1, activeUpdateTime: 1 })
|
.sort({ activeWeekly: -1, activeUpdateTime: 1 })
|
||||||
.select(select)
|
.select(select)
|
||||||
.populate('role', 'roleId roleName ce headHid sHid lv title quitTime', 'Role')
|
.populate('role', 'roleId roleName ce headHid sHid lv title quitTime', 'Role')
|
||||||
.lean();
|
.lean({getters: true});
|
||||||
return userGuilds;
|
return userGuilds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ export default class UserGuildApply extends BaseModel {
|
|||||||
.sort({ createdAt: -1 })
|
.sort({ createdAt: -1 })
|
||||||
.select('applyCode role')
|
.select('applyCode role')
|
||||||
.populate('role', 'roleId roleName ce headHid sHid lv title job quitTime', 'Role')
|
.populate('role', 'roleId roleName ce headHid sHid lv title job quitTime', 'Role')
|
||||||
.limit(GUILD_PER_PAGE).lean();
|
.limit(GUILD_PER_PAGE).lean({ getters: true });
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user