@@ -1,8 +1,8 @@
import { Application , BackendSession , ChannelService , HandlerService , } from 'pinus' ;
import { resResult , getRandEelm , shouldRefresh , sortArrRandom } 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_SELECT , USER_GUILD_SELECT , TASK_TYPE } 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_SELECT , USER_GUILD_SELECT , TASK_TYPE , DEBUG_MAGIC_WORD } from '../../../consts' ;
import { UserGuildModel , UserGuildType } from '../../../db/UserGuild' ;
import { checkAuth , joinGuild , getGuildWithRefActive , getUserGuildWithRefActive , addActive , settleGuildWeekly , getMyGuildInfo } from '../../../services/guildService' ;
import { checkAuth , joinGuild , getGuildWithRefActive , getUserGuildWithRefActive , addActive , settleGuildWeekly , getMyGuildInfo , refreshUserGuild } from '../../../services/guildService' ;
import { GuildModel , GuildType } from '../../../db/Guild' ;
import { RoleModel , RoleType } from '../../../db/Role' ;
import { ARMY } from '../../../pubUtils/dicParam' ;
@@ -24,6 +24,7 @@ import { removeTrainRank } from '../../../services/guildTrainService';
import { pushGuildNoticeUpdateMsg , pushGuildUpStructureMsg , addRoleToGuildChannel , getGuildChannelSid } from '../../../services/chatService' ;
import { Rank } from '../../../services/rankService' ;
import { checkTask } from '../../../services/taskService' ;
import { guildInter } from '../../../pubUtils/interface' ;
export default function ( app : Application ) {
new HandlerService ( app , { } ) ;
return new GuildHandler ( app ) ;
@@ -36,7 +37,7 @@ export class GuildHandler {
}
// 创建军团
async createGuild ( msg : { name : string , icon : number , notice : string } , session : BackendSession ) {
async createGuild ( msg : guildInter & { name : string , icon : number , notice : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
@@ -44,10 +45,6 @@ export class GuildHandler {
const serverId = session . get ( 'serverId' ) ;
const { name , icon , notice } = msg ;
// 检查权限是否够,包括是否参过团
const checkResult = await checkAuth ( GUILD_OPERATE . CREATE_GUILD , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
// 检查名字是否重
const checkNameResult = await GuildModel . checkName ( name , serverId ) ;
if ( checkNameResult ) return resResult ( STATUS . GUILD_NAME_DUP ) ;
@@ -97,16 +94,13 @@ export class GuildHandler {
}
// 获取军团列表
async getGuildList ( msg : { page : number , showPeopleMax : boolean , name : string } , session : BackendSession ) {
async getGuildList ( msg : guildInter & { page : number , showPeopleMax : boolean , name : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
// const sid = session.get('sid');
const serverId = session . get ( 'serverId' ) ;
const { page = 1 , showPeopleMax , name } = msg ;
const checkResult = await checkAuth ( GUILD_OPERATE . GET_GUILD_LIST , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guildList = await GuildModel . findByCondition ( page , showPeopleMax , name , serverId ) ;
const applyList = await UserGuildApplyModel . findApplyByRole ( roleId ) ;
@@ -124,16 +118,13 @@ export class GuildHandler {
}
// 团长修改军团名等信息
async setGuildInfo ( msg : { code : string , name : string , notice : string , introduce : string , ceLimit : number , isAuto : boolean } , session : BackendSession ) {
async setGuildInfo ( msg : guildInter & { code : string , name : string , notice : string , introduce : string , ceLimit : number , isAuto : boolean } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
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 ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const select = [ 'code' , 'name' , 'notice' , 'introduce' , 'ceLimit' , 'isAuto' , 'icon' ] ;
const guild = await GuildModel . updateInfo ( code , { name , notice , introduce , ceLimit , isAuto } , { } , select . join ( ' ' ) ) ;
let chatSid = await getGuildChannelSid ( code ) ;
@@ -148,15 +139,11 @@ export class GuildHandler {
}
// 游客查看军团详细信息
async getGuildInfo ( msg : { code : string } , session : BackendSession ) {
async getGuildInfo ( msg : guildInter & { code : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code } = msg ;
const checkResult = await checkAuth ( GUILD_OPERATE . GET_GUILD_INFO , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const select = [ 'code' , 'name' , 'notice' , 'ceLimit' , 'isAuto' , 'icon' , 'lv' , 'memberCnt' , 'guildCe' ] ;
const guild = await GuildModel . findByCode ( code , serverId , select . join ( ' ' ) ) ;
let leader = < RoleType > guild . leader ;
@@ -167,21 +154,12 @@ export class GuildHandler {
}
// 团长授权头衔
async setAuth ( msg : { roleId : string , auth : number } , session : BackendSession ) {
async setAuth ( msg : guildInter & { roleId : string , auth : number } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const serverId = session . get ( 'serverId' ) ;
const { roleId : memberRoleId , auth } = msg ;
const myUserGuild = await UserGuildModel . getMyGuild ( roleId , 'auth guildCode' ) ;
const hisUserGuild = await UserGuildModel . getMyGuild ( memberRoleId , 'auth guildCode job' ) ;
const checkMyResult = await checkAuth ( GUILD_OPERATE . SET_AUTH , roleId , null , myUserGuild ) ;
if ( ! checkMyResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const checkResult = await checkAuth ( GUILD_OPERATE . BE_SET_AUTH , memberRoleId , myUserGuild . guildCode , hisUserGuild ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const { roleId : memberRoleId , auth , myUserGuild , hisUserGuild } = msg ;
const { guildCode : code } = myUserGuild ;
@@ -252,20 +230,16 @@ export class GuildHandler {
}
// 团员获取自己军团详细信息
async getMyGuildInfo ( msg : { } , session : BackendSession ) {
async getMyGuildInfo ( msg : guildInter & { } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const sid = session . get ( 'sid' ) ;
let userGuild = await get UserGuildWithRefActive ( roleId , 'job auth guildCode receivedActive activeRecord activeDaily activeWeekly' ) ;
const { myUserGuild } = msg ;
let userGuild = await refresh UserGuild( myUserGuild , roleId ) ;
if ( ! userGuild ) {
return resResult ( STATUS . SUCCESS , { hasGuild : false } )
} ;
const checkResult = await checkAuth ( GUILD_OPERATE . GET_MY_GUILD_INFO , roleId , userGuild . guildCode , userGuild ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
let guild = await getGuildWithRefActive ( userGuild . guildCode , serverId ) ;
if ( ! guild ) {
return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -276,7 +250,7 @@ export class GuildHandler {
}
// 玩家申请公会
async applyGuild ( msg : { code : string } , session : BackendSession ) {
async applyGuild ( msg : guildInter & { code : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
@@ -284,10 +258,6 @@ export class GuildHandler {
const sid = session . get ( 'sid' ) ;
const { code } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . APPLY_GUILD , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . findByCode ( code , serverId ) ;
if ( ! guild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -301,9 +271,9 @@ export class GuildHandler {
return resResult ( STATUS . GUILD_NOT_REACH_CONDI ) ;
}
// TODO 暂时关闭
// if( nowSeconds() - role.quitGuildTime < 3600) { // TODO 时间系统参数表配置
// return resResult( STATUS. GUILD_QUIT_TIME);
// }
if ( nowSeconds( ) - role . quitGuildTime < 3600 ) { // TODO 时间系统参数表配置
return resResult( STATUS. GUILD_QUIT_TIME) ;
}
let hasGuild = false ;
if ( isAuto ) { // 自动加入
@@ -329,15 +299,10 @@ export class GuildHandler {
}
// 玩家申请公会
async getApplyList ( msg : { code : string , lastApplyCode : string } , session : BackendSession ) {
async getApplyList ( msg : guildInter & { code : string , lastApplyCode : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const { code , lastApplyCode } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . GET_APPLY_LIST , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const result = await UserGuildApplyModel . findApplyByGuild ( code , lastApplyCode ) ;
const list = [ ] ;
for ( let cur of result ) {
@@ -351,17 +316,12 @@ export class GuildHandler {
}
// 团长同意/拒绝公会申请
async receiveApply ( msg : { code : string , applyCodeList : [ string ] , isReceived : boolean } , session : BackendSession ) {
async receiveApply ( msg : guildInter & { code : string , applyCodeList : [ string ] , isReceived : boolean } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code , applyCodeList , isReceived } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . RECEIVE_APPLY , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const applyList = await UserGuildApplyModel . getListByApplyCode ( applyCodeList ) ;
const guild = await GuildModel . findByCode ( code , serverId ) ;
@@ -392,16 +352,11 @@ export class GuildHandler {
}
// 团长查看(刷新)可邀请人列表
async getInviteMemberList ( msg : { } , session : BackendSession ) {
async getInviteMemberList ( msg : guildInter & { } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
let myGuild = await UserGuildModel . getMyGuild ( roleId , USER_GUILD_SELECT . ENTRY )
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . GET_INIVATION_MEMBER_LIST , roleId , myGuild . guildCode , myGuild ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const { myUserGuild : myGuild } = msg ;
let guild = await GuildModel . findByCode ( myGuild . guildCode , serverId , GUILD_SELECT . INVITED_MEMBER ) ;
let invitedMembers = guild . invitedMembers ;
if ( shouldRefresh ( guild . inviteTime , new Date ( ) ) ) {
@@ -430,16 +385,11 @@ export class GuildHandler {
}
// 团长(一键)邀请人
async inviteMember ( msg : { code : string , roleIds : string [ ] } , session : BackendSession ) {
async inviteMember ( msg : guildInter & { code : string , roleIds : string [ ] } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code , roleIds } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . INVATE_MEMBER , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . findByCode ( code , serverId , GUILD_SELECT . INVITED_MEMBER ) ;
if ( guild . isMemberMax ) return resResult ( STATUS . GUILD_MEMBER_MAX ) ;
@@ -464,15 +414,11 @@ export class GuildHandler {
}
// 成员收到邀请列表
async getInvitationList ( msg : { lastApplyCode : string } , session : BackendSession ) {
async getInvitationList ( msg : guildInter & { lastApplyCode : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const { lastApplyCode } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . GET_INVITATION_LIST , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const result = await UserGuildApplyModel . findInviteByRole ( roleId , lastApplyCode ) ;
const list = result . map ( cur = > {
let guild = < GuildType > cur . guild ;
@@ -487,16 +433,12 @@ export class GuildHandler {
// 成员同意/拒绝邀请
async receiveInvitation ( msg : { applyCode : string , isReceived : boolean } , session : BackendSession ) {
async receiveInvitation ( msg : guildInter & { applyCode : string , isReceived : boolean } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const { applyCode , isReceived } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . RECEIVE_INVITAION , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const invite = await UserGuildApplyModel . findByCode ( applyCode ) ;
if ( ! invite ) return resResult ( STATUS . GUILD_INVITE_NOT_FOUND ) ;
@@ -525,18 +467,14 @@ export class GuildHandler {
}
// 获取军团成员
async getGuildMember ( msg : { code : string , sort : string } , session : BackendSession ) {
async getGuildMember ( msg : guildInter & { code : string , sort : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
// const serverId = session.get('serverId');
const { code , sort } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . GET_MEMBER_LIST_MAIN , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const { code , sort , myUserGuild } = msg ;
let select = [ 'role' , 'job' ] ;
const checkDetailResult = await checkAuth ( GUILD_OPERATE . GET_MEMBER_LIST_DETAIL , roleId , code ) ;
const checkDetailResult = await checkAuth ( GUILD_OPERATE . GET_MEMBER_LIST_DETAIL , roleId , code , myUserGuild );
if ( checkDetailResult ) {
select . push ( 'auth' , 'activeWeekly activeUpdateTime' ) ;
}
@@ -570,16 +508,11 @@ export class GuildHandler {
}
// 团长解散军团
async dismiss ( msg : { code : string } , session : BackendSession ) {
async dismiss ( msg : guildInter & { code : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . DISMISS , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . dismiss ( code , serverId ) ;
if ( ! guild ) return resResult ( STATUS . GUILD_DELETE_ERROR ) ;
@@ -602,7 +535,7 @@ export class GuildHandler {
}
// 成员退出军团
async quit ( msg : { code : string } , session : BackendSession ) {
async quit ( msg : guildInter & { code : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
@@ -610,10 +543,6 @@ export class GuildHandler {
const sid = session . get ( 'sid' ) ;
const { code } = msg ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . QUIT , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const userGuild = await UserGuildModel . quit ( code , roleId ) ;
if ( ! userGuild ) return resResult ( STATUS . GUILD_QUIT_ERROR ) ;
@@ -640,22 +569,13 @@ export class GuildHandler {
}
// 团长踢退出军团
async kick ( msg : { code : string , roleId : string } , session : BackendSession ) {
async kick ( msg : guildInter & { code : string , roleId : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code , roleId : memberRoleId } = msg ;
// 检查权限
const checkMyAuth = await checkAuth ( GUILD_OPERATE . KICK , roleId , code ) ;
if ( ! checkMyAuth ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
// 被踢出的权限
const checkHisAuth = await checkAuth ( GUILD_OPERATE . BE_KICKED , memberRoleId , code ) ;
if ( ! checkHisAuth ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const userGuild = await UserGuildModel . quit ( code , memberRoleId ) ;
if ( ! userGuild ) return resResult ( STATUS . GUILD_KICK_ERROR ) ;
@@ -683,7 +603,7 @@ export class GuildHandler {
}
// 团员弹劾团长
async impeach ( msg : { code : string , roleId : string } , session : BackendSession ) {
async impeach ( msg : guildInter & { code : string , roleId : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
@@ -691,14 +611,6 @@ export class GuildHandler {
const serverId = session . get ( 'serverId' ) ;
const { code , roleId : leaderRoleId } = msg ;
// 弹劾的权限
const checkMyAuth = await checkAuth ( GUILD_OPERATE . IMPEACH , roleId , code ) ;
if ( ! checkMyAuth ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
// 被弹劾的权限
const checkHisAuth = await checkAuth ( GUILD_OPERATE . BE_IMPEACH , leaderRoleId , code ) ;
if ( ! checkHisAuth ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
// 离线72小时
const { roleName : oldRoleName , quitTime } = await RoleModel . findByRoleId ( leaderRoleId ) ;
if ( quitTime > < number > getTimeFun ( ) . getBeforeDay ( 3 ) ) {
@@ -755,7 +667,7 @@ export class GuildHandler {
}
// 升级建筑物等级
async upStructure ( msg : { code : string , id : number } , session : BackendSession ) {
async upStructure ( msg : guildInter & { code : string , id : number } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
@@ -763,10 +675,6 @@ export class GuildHandler {
const sid = session . get ( 'sid' ) ;
const { code , id } = msg ;
// 升级建筑物权限
const checkResult = await checkAuth ( GUILD_OPERATE . UP_STRUCTURE , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . findByCode ( code , serverId , 'lv structure' ) ;
if ( ! guild ) {
return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -816,14 +724,11 @@ export class GuildHandler {
// 获取动态
async getRec ( msg : { code : string } , session : BackendSession ) {
async getRec ( msg : guildInter & { code : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const { code } = msg ;
const checkResult = await checkAuth ( GUILD_OPERATE . GET_REC , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
// console.log(startTime)
const list = await GuildRecModel . getGuildRec ( code , < number > getTimeFun ( ) . getBeforeDayWithHour ( 3 ) ) ;
@@ -831,16 +736,13 @@ export class GuildHandler {
}
// 团长发送消息给军团内所有成员的邮箱
async sendMail ( msg : { code : string , info : string } , session : BackendSession ) {
async sendMail ( msg : guildInter & { code : string , info : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code , info } = msg ;
const checkResult = await checkAuth ( GUILD_OPERATE . SEND_MAIL , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . findByCode ( code , serverId , 'members' ) ;
if ( ! guild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -854,7 +756,7 @@ export class GuildHandler {
}
// 团长发送世界频道
async recruit ( msg : { code : string , info : string } , session : BackendSession ) {
async recruit ( msg : guildInter & { code : string , info : string } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
// const roleName = session.get('roleName');
@@ -862,9 +764,6 @@ export class GuildHandler {
const serverId = session . get ( 'serverId' ) ;
const { code , info } = msg ;
const checkResult = await checkAuth ( GUILD_OPERATE . RECRUIT , roleId , code ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await GuildModel . findByCode ( code , serverId ) ;
if ( ! guild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -875,21 +774,18 @@ export class GuildHandler {
}
// 领取活跃奖励
async receiveActiveBox ( msg : { code : string , id : number } , session : BackendSession ) {
async receiveActiveBox ( msg : guildInter & { code : string , id : number } , session : BackendSession ) {
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const sid = session . get ( 'sid' ) ;
const serverId = session . get ( 'serverId' ) ;
const funcs : number [ ] = session . get ( 'funcs' ) ;
const { code , id } = msg ;
const { code , id , myUserGuild } = msg ;
let userGuild = await get UserGuildWithRefActive ( roleId , 'receivedActive auth guildCode' ) ;
let userGuild = await refresh UserGuild( myUserGuild , roleId ) ;
if ( ! userGuild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
const checkResult = await checkAuth ( GUILD_OPERATE . RECEIVE_ACTIVE , roleId , code , userGuild ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const guild = await getGuildWithRefActive ( code , serverId ) ;
if ( ! guild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
@@ -915,17 +811,9 @@ export class GuildHandler {
}
// 查看活跃排行榜
async getActiveRank ( msg : { } , session : BackendSession ) {
let roleId = session . get ( 'roleId' ) ;
async getActiveRank ( msg : guildInter & { } , session : BackendSession ) {
let serverId = session . get ( 'serverId' )
const myUserGuild = await UserGuildModel . getMyGuild ( roleId , 'auth guildCode' ) ;
if ( ! myUserGuild ) return resResult ( STATUS . GUILD_NOT_FOUND ) ;
// 检查权限
const checkResult = await checkAuth ( GUILD_OPERATE . GET_ACTIVE_RANK , roleId ) ;
if ( ! checkResult ) return resResult ( STATUS . GUILD_AUTH_NOT_ENOUGH ) ;
const { myUserGuild } = msg ;
let r = new Rank ( REDIS_KEY . GUILD_ACTIVE_RANK , { serverId } ) ;
let { ranks , myRank } = await r . getRankListWithMyRank ( { guildCode : myUserGuild.guildCode } ) ;
@@ -938,8 +826,11 @@ export class GuildHandler {
}
// debug接口: 添加公会活跃值
async debugAddActive ( msg : { code : string , active : number , id : number } , session : BackendSession ) {
async debugAddActive ( msg : guildInter & { magicWord : string , code : string , active : number , id : number } , session : BackendSession ) {
const { magicWord } = msg ;
if ( magicWord !== DEBUG_MAGIC_WORD ) {
return resResult ( STATUS . TOKEN_ERR ) ;
}
const roleId = session . get ( 'roleId' ) ;
const serverId = session . get ( 'serverId' ) ;
const { code , active , id } = msg ;
@@ -957,16 +848,22 @@ export class GuildHandler {
}
// debug接口: 调用定时任务
async debugWeeklyRask ( msg : { } , session : BackendSession ) {
async debugWeeklyRask ( msg : guildInter & { magicWord : string } , session : BackendSession ) {
const { magicWord } = msg ;
if ( magicWord !== DEBUG_MAGIC_WORD ) {
return resResult ( STATUS . TOKEN_ERR ) ;
}
await settleGuildWeekly ( ) ;
return resResult ( STATUS . SUCCESS ) ;
}
// debug接口: 添加军团资金
async debugAdddFund ( msg : { code : string , count : number } , session : BackendSession ) {
async debugAdddFund ( msg : guildInter & { magicWord : string , code : string , count : number } , session : BackendSession ) {
const { code , count } = msg ;
const { code , count , magicWord } = msg ;
if ( magicWord !== DEBUG_MAGIC_WORD ) {
return resResult ( STATUS . TOKEN_ERR ) ;
}
const guild = await GuildModel . updateInfo ( code , { } , { fund : count } , 'fund' ) ;
let chatSid = await getGuildChannelSid ( code ) ;
this . app . rpc . chat . guildRemote . updateInfo . toServer ( chatSid , code , { fund : guild.fund } ) ;
@@ -974,9 +871,12 @@ export class GuildHandler {
}
// debug接口: 加长会长离线时间
async debugLeaderLeaveTime ( msg : { code : string } , session : BackendSession ) {
async debugLeaderLeaveTime ( msg : guildInter & { magicWord : string , code : string } , session : BackendSession ) {
const { code } = msg ;
const { code , magicWord } = msg ;
if ( magicWord !== DEBUG_MAGIC_WORD ) {
return resResult ( STATUS . TOKEN_ERR ) ;
}
const serverId = session . get ( 'serverId' ) ;
const guild = await GuildModel . findByCode ( code , serverId ) ;
const leader = < RoleType > guild . leader ;
@@ -987,8 +887,11 @@ export class GuildHandler {
}
// debug接口: 加入公会
async debugJoinGuild ( msg : { code : string } , session : BackendSession ) {
const { code } = msg ;
async debugJoinGuild ( msg : guildInter & { magicWord : string , code : string } , session : BackendSession ) {
const { code , magicWord } = msg ;
if ( magicWord !== DEBUG_MAGIC_WORD ) {
return resResult ( STATUS . TOKEN_ERR ) ;
}
const roleId = session . get ( 'roleId' ) ;
const roleName = session . get ( 'roleName' ) ;
const serverId = session . get ( 'serverId' ) ;