活动:任务接口添加serverId接口
This commit is contained in:
@@ -92,6 +92,7 @@ export class EquipHandler {
|
||||
public async strengthen(msg: { hid: number, ePlaceId: number, type: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
// let roleName: string = session.get('roleName');
|
||||
const serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
@@ -167,7 +168,7 @@ export class EquipHandler {
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -183,6 +184,7 @@ export class EquipHandler {
|
||||
// let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
let changeData = [];//变化的等级数据
|
||||
let { hid, lv: maxLv } = msg; // lv: 升到哪一级
|
||||
@@ -248,7 +250,7 @@ export class EquipHandler {
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -326,7 +328,7 @@ export class EquipHandler {
|
||||
let curEquip = <EquipType>equip;
|
||||
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, 1, true, {});
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_REFINE_LV, 1, { lv: curEplace.refineLv });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_REFINE_LV, 1, { lv: curEplace.refineLv });
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { isSuccess, curHero });
|
||||
}
|
||||
@@ -479,6 +481,7 @@ export class EquipHandler {
|
||||
public async putOnOrOff(msg: { eid: number, hid: number, type: number }, session: BackendSession) {
|
||||
let { eid, hid, type } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
@@ -503,10 +506,10 @@ export class EquipHandler {
|
||||
if (index < 0)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
let equipOffInfo = <EquipType>hero.ePlace[index].equip;
|
||||
let curEquip = await changeEquip(roleId, sid, equipOffInfo, equip.hid, id, equip, funcs);
|
||||
let curEquip = await changeEquip(serverId, roleId, sid, equipOffInfo, equip.hid, id, equip, funcs);
|
||||
if (!!curEquip)
|
||||
curEquips.push(curEquip);
|
||||
curEquip = await dressEquip(roleId, sid, hero, equip, funcs);
|
||||
curEquip = await dressEquip(serverId, roleId, sid, hero, equip, funcs);
|
||||
if (!!curEquip)
|
||||
curEquips.push(curEquip);
|
||||
|
||||
@@ -514,7 +517,7 @@ export class EquipHandler {
|
||||
//英雄满装备且都镶嵌相同阶数的宝石
|
||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||
if (isTask) {
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
}
|
||||
} else if (type == 2) {
|
||||
if (!equip.hid)
|
||||
@@ -557,6 +560,7 @@ export class EquipHandler {
|
||||
public async fillHole(msg: { eid: number, id: number, jewel: number }, session: BackendSession) {
|
||||
let { eid, id, jewel } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let consumes: Array<{ id: number, count: number }> = [];
|
||||
@@ -593,7 +597,7 @@ export class EquipHandler {
|
||||
//英雄满装备且都镶嵌相同阶数的宝石
|
||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||
if (isTask) {
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -602,8 +606,8 @@ export class EquipHandler {
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
}
|
||||
@@ -773,7 +777,7 @@ export class EquipHandler {
|
||||
//英雄满装备且都镶嵌相同阶数的宝石
|
||||
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
|
||||
if (isTask) {
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -782,7 +786,7 @@ export class EquipHandler {
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
} else {
|
||||
|
||||
@@ -37,12 +37,12 @@ export class FriendHandler {
|
||||
}
|
||||
|
||||
// 获取推荐好友列表
|
||||
public async getRecommend(msg: { }, session: BackendSession) {
|
||||
public async getRecommend(msg: {}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
|
||||
|
||||
const day = <number>getTimeFun().getBeforeHour(FRIEND.FRIEND_RECONMMEND_ACTIVETIME);
|
||||
|
||||
const { lv, serverId: myServerId, userInfo: { serverType: myServerType } } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_MY_SERVER);
|
||||
const { lv, serverId: myServerId, userInfo: { serverType: myServerType } } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_MY_SERVER);
|
||||
let allList = await RoleModel.getRecommedList(lv - FRIEND.FRIEND_RECONMMEND_LEVEL, lv + FRIEND.FRIEND_RECONMMEND_LEVEL, day);
|
||||
|
||||
// 筛掉自己今天申请过的人
|
||||
@@ -55,17 +55,17 @@ export class FriendHandler {
|
||||
|
||||
let myServerList = new Array<FriendRecommendParams>();
|
||||
let otherServerList = new Array<FriendRecommendParams>();
|
||||
for(let role of allList) {
|
||||
for (let role of allList) {
|
||||
let type = getRecommendType(myFriendRelation, roleId, role.roleId);
|
||||
if(type == FRIEND_RELATION_TYPE.NORMAL) {
|
||||
if (type == FRIEND_RELATION_TYPE.NORMAL) {
|
||||
let param = new FriendRecommendParams(role);
|
||||
param.setType(type);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = role;
|
||||
let { serverId, userInfo: { serverType } } = role;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
if(myServerId == serverId && myServerType == serverType ) {
|
||||
if (myServerId == serverId && myServerType == serverType) {
|
||||
myServerList.push(param);
|
||||
} else {
|
||||
otherServerList.push(param);
|
||||
@@ -75,14 +75,14 @@ export class FriendHandler {
|
||||
}
|
||||
|
||||
// 前4个是本服的,后4个随意,优先本服,其他补上
|
||||
let myServerLen = myServerList.length > FRIEND.FRIEND_RECONMMEND_SERVICE? FRIEND.FRIEND_RECONMMEND_SERVICE: myServerList.length;
|
||||
let list1:FriendRecommendParams[] = getRandEelm(myServerList, myServerLen);
|
||||
let myServerLen = myServerList.length > FRIEND.FRIEND_RECONMMEND_SERVICE ? FRIEND.FRIEND_RECONMMEND_SERVICE : myServerList.length;
|
||||
let list1: FriendRecommendParams[] = getRandEelm(myServerList, myServerLen);
|
||||
|
||||
let otherServerLen = otherServerList.length > FRIEND.FRIEND_RECONMMEND_NUM - myServerLen? FRIEND.FRIEND_RECONMMEND_NUM - myServerLen: otherServerList.length;
|
||||
let list2:FriendRecommendParams[] = getRandEelm(otherServerList, otherServerLen);
|
||||
let otherServerLen = otherServerList.length > FRIEND.FRIEND_RECONMMEND_NUM - myServerLen ? FRIEND.FRIEND_RECONMMEND_NUM - myServerLen : otherServerList.length;
|
||||
let list2: FriendRecommendParams[] = getRandEelm(otherServerList, otherServerLen);
|
||||
|
||||
if(list2.length < FRIEND.FRIEND_RECONMMEND_NUM - myServerLen) {
|
||||
if(myServerList.length <= FRIEND.FRIEND_RECONMMEND_NUM - list2.length) {
|
||||
if (list2.length < FRIEND.FRIEND_RECONMMEND_NUM - myServerLen) {
|
||||
if (myServerList.length <= FRIEND.FRIEND_RECONMMEND_NUM - list2.length) {
|
||||
list1 = myServerList;
|
||||
} else {
|
||||
list1 = getRandEelm(myServerList, FRIEND.FRIEND_RECONMMEND_NUM - list2.length);
|
||||
@@ -90,7 +90,7 @@ export class FriendHandler {
|
||||
}
|
||||
list1 = sortArrRandom(list1);
|
||||
list2 = sortArrRandom(list2);
|
||||
|
||||
|
||||
let list = list1.concat(list2);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { list });
|
||||
@@ -99,18 +99,18 @@ export class FriendHandler {
|
||||
// 搜索好友
|
||||
public async searchUser(msg: { value: string }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
|
||||
|
||||
let { value } = msg;
|
||||
let allList = await RoleModel.searchByNameOrId(value);
|
||||
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
|
||||
|
||||
let list = new Array<FriendRecommendParams>();
|
||||
for(let role of allList) {
|
||||
for (let role of allList) {
|
||||
let type = getRecommendType(myFriendRelation, roleId, role.roleId);
|
||||
let param = new FriendRecommendParams(role);
|
||||
param.setType(type);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = role;
|
||||
let { serverId, userInfo: { serverType } } = role;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
@@ -122,34 +122,34 @@ export class FriendHandler {
|
||||
|
||||
// 申请
|
||||
public async applyFriend(msg: { roleIds: string[] }, session: BackendSession) {
|
||||
|
||||
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleIds = msg.roleIds;
|
||||
|
||||
const role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_ROLE_ID);
|
||||
const role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_ROLE_ID);
|
||||
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
|
||||
|
||||
let str = '', resultRoleIds = new Array<string>();
|
||||
let uids = [];
|
||||
for(let hisRoleId of roleIds) {
|
||||
for (let hisRoleId of roleIds) {
|
||||
let type = getRecommendType(myFriendRelation, roleId, hisRoleId);
|
||||
if(type == FRIEND_RELATION_TYPE.HAS_FRIEND) {
|
||||
if (type == FRIEND_RELATION_TYPE.HAS_FRIEND) {
|
||||
str = getResStr(STATUS.FRIEND_HAS_ADD); continue;
|
||||
} else if(type == FRIEND_RELATION_TYPE.HAS_BLOCKED) {
|
||||
} else if (type == FRIEND_RELATION_TYPE.HAS_BLOCKED) {
|
||||
str = getResStr(STATUS.FRIEND_HAS_BLOCKED); continue;
|
||||
} else if (type == FRIEND_RELATION_TYPE.MYSELF) {
|
||||
str = getResStr(STATUS.FRIEND_YOURSELF); continue;
|
||||
}
|
||||
|
||||
let incResult = await RoleModel.increaseFriendApplyCnt(hisRoleId, 1, FRIEND.FRIEND_MANAGE_APPLICATION);
|
||||
if(!incResult) {
|
||||
if (!incResult) {
|
||||
str = getResStr(STATUS.FRIEND_HIS_APPLY_MAX); continue;
|
||||
}
|
||||
|
||||
await FriendApplyModel.createApply(hisRoleId, role);
|
||||
resultRoleIds.push(hisRoleId);
|
||||
let hisOnlineInfo = await getRoleOnlineInfo(hisRoleId);
|
||||
if(hisOnlineInfo.isOnline) {
|
||||
if (hisOnlineInfo.isOnline) {
|
||||
uids.push({ uid: hisRoleId, sid: hisOnlineInfo.sid });
|
||||
}
|
||||
}
|
||||
@@ -162,9 +162,9 @@ export class FriendHandler {
|
||||
roleIds: resultRoleIds
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 获取申请列表
|
||||
public async getApplyList(msg: { }, session: BackendSession) {
|
||||
public async getApplyList(msg: {}, session: BackendSession) {
|
||||
|
||||
let roleId: string = session.get('roleId');
|
||||
|
||||
@@ -172,18 +172,18 @@ export class FriendHandler {
|
||||
let list = await FriendApplyModel.getApplyList(roleId);
|
||||
let result = new Array<FriendApplyParams>();
|
||||
let delApplyCodeList = new Array<string>();
|
||||
for(let apply of list) {
|
||||
for (let apply of list) {
|
||||
let friend = <RoleType>apply.friend;
|
||||
let type = getRecommendType(myFriendRelation, roleId, friend.roleId);
|
||||
|
||||
let param = new FriendApplyParams(apply.applyCode, friend);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = friend;
|
||||
let { serverId, userInfo: { serverType } } = friend;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
param.setType(type);
|
||||
if(type != FRIEND_RELATION_TYPE.NORMAL) {
|
||||
if (type != FRIEND_RELATION_TYPE.NORMAL) {
|
||||
delApplyCodeList.push(apply.applyCode);
|
||||
continue;
|
||||
}
|
||||
@@ -203,6 +203,7 @@ export class FriendHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
let { applyCodeList, isPass } = msg;
|
||||
|
||||
@@ -216,29 +217,29 @@ export class FriendHandler {
|
||||
let list = new Array<FriendListParam>();
|
||||
|
||||
let str = '', resultApplyCodeList = new Array<string>();
|
||||
if(isPass) {
|
||||
for(let apply of applyList) {
|
||||
if (isPass) {
|
||||
for (let apply of applyList) {
|
||||
let type = getRecommendType(myFriendRelation, roleId, apply.frdRoleId);
|
||||
if(type == FRIEND_RELATION_TYPE.HAS_FRIEND) {
|
||||
if (type == FRIEND_RELATION_TYPE.HAS_FRIEND) {
|
||||
str = getResStr(STATUS.FRIEND_HAS_ADD);
|
||||
resultApplyCodeList.push(apply.applyCode); continue;
|
||||
} else if(type == FRIEND_RELATION_TYPE.HAS_BLOCKED) {
|
||||
} else if (type == FRIEND_RELATION_TYPE.HAS_BLOCKED) {
|
||||
resultApplyCodeList.push(apply.applyCode);
|
||||
str = getResStr(STATUS.FRIEND_HAS_BLOCKED); continue;
|
||||
} else if (type == FRIEND_RELATION_TYPE.MYSELF) {
|
||||
resultApplyCodeList.push(apply.applyCode);
|
||||
str = getResStr(STATUS.FRIEND_YOURSELF); continue;
|
||||
}
|
||||
|
||||
|
||||
// 好友数量校验
|
||||
let friend = <RoleType>apply.friend;
|
||||
str = await increaseFrdCnt(role, friend, friendCnt);
|
||||
if(str != '') continue;
|
||||
if (str != '') continue;
|
||||
roles.push(friend);
|
||||
|
||||
// 创建friendShip
|
||||
let friendShip = await FriendShipModel.createFriendShip([roleId, friend.roleId]);
|
||||
if(!friendShip) {
|
||||
if (!friendShip) {
|
||||
str = getResStr(STATUS.FRIEND_SHIP_CREATE_ERROR); continue;
|
||||
}
|
||||
|
||||
@@ -249,7 +250,7 @@ export class FriendHandler {
|
||||
let isOnline = await isRoleOnline(friend.roleId);
|
||||
param.setOnline(isOnline);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = friend;
|
||||
let { serverId, userInfo: { serverType } } = friend;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
@@ -265,10 +266,10 @@ export class FriendHandler {
|
||||
role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
|
||||
roles.push(role);
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, roles);
|
||||
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, roles);
|
||||
|
||||
// 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好
|
||||
if(str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
|
||||
if (str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
isSuccess: str == '',
|
||||
@@ -280,27 +281,27 @@ export class FriendHandler {
|
||||
}
|
||||
|
||||
// 获取好友列表
|
||||
public async getFriendList(msg: { }, session: BackendSession) {
|
||||
public async getFriendList(msg: {}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let list = new Array<FriendListParam>();
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND);
|
||||
let friendList = myRelation?myRelation.friends: [];
|
||||
let friendList = myRelation ? myRelation.friends : [];
|
||||
|
||||
for(let friend of friendList) {
|
||||
for (let friend of friendList) {
|
||||
let friendRole = <RoleType>friend.role;
|
||||
let friendShip = <FriendShipType>friend.friendShip;
|
||||
if(!friendRole || !friendShip) continue;
|
||||
if (!friendRole || !friendShip) continue;
|
||||
|
||||
let fs = <FriendShipType>friend.friendShip;
|
||||
let ref = shouldRefresh(fs.refTime, new Date());
|
||||
if(ref) {
|
||||
if (ref) {
|
||||
friendShip = await FriendShipModel.refreshSendAndReceive(roleId, friendRole.roleId);
|
||||
}
|
||||
|
||||
let param = new FriendListParam(friendRole, roleId, friendShip);
|
||||
let { serverId, userInfo: { serverType }} = friendRole;
|
||||
let { serverId, userInfo: { serverType } } = friendRole;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
@@ -308,15 +309,15 @@ export class FriendHandler {
|
||||
param.setOnline(isOnline);
|
||||
|
||||
param.setType(FRIEND_RELATION_TYPE.HAS_FRIEND);
|
||||
|
||||
|
||||
list.push(param);
|
||||
}
|
||||
|
||||
list.sort((a, b) => {
|
||||
if(a.isOnline != b.isOnline) {
|
||||
return a.isOnline?1:-1
|
||||
if (a.isOnline != b.isOnline) {
|
||||
return a.isOnline ? 1 : -1
|
||||
}
|
||||
if(a.quitTime != b.quitTime) {
|
||||
if (a.quitTime != b.quitTime) {
|
||||
return b.quitTime - a.quitTime
|
||||
}
|
||||
return a.friendValue - b.friendValue;
|
||||
@@ -324,7 +325,7 @@ export class FriendHandler {
|
||||
|
||||
let { friendCnt = 0, blockCnt = 0 } = role;
|
||||
let frdPointRec = await FriendPointModel.getFrdPointRecToday(roleId, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
let { cnt: todayReceiveCnt = 0, sendCnt: todaySendCnt = 0 } = frdPointRec||{};
|
||||
let { cnt: todayReceiveCnt = 0, sendCnt: todaySendCnt = 0 } = frdPointRec || {};
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
todayReceiveCnt,
|
||||
@@ -335,26 +336,26 @@ export class FriendHandler {
|
||||
}
|
||||
|
||||
// 获取黑名单
|
||||
public async getBlackList(msg: { }, session: BackendSession) {
|
||||
public async getBlackList(msg: {}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let list = new Array<BlackListParam>();
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.BLACKLIST);
|
||||
let blacklist = myRelation?myRelation.blacklist: [];
|
||||
for(let bl of blacklist) {
|
||||
let blacklist = myRelation ? myRelation.blacklist : [];
|
||||
for (let bl of blacklist) {
|
||||
let friendRole = <RoleType>bl.role;
|
||||
if(!friendRole) continue;
|
||||
if (!friendRole) continue;
|
||||
let param = new BlackListParam(friendRole);
|
||||
let isOnline = await isRoleOnline(friendRole.roleId);
|
||||
param.setOnline(isOnline);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = friendRole;
|
||||
let { serverId, userInfo: { serverType } } = friendRole;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
param.setType(FRIEND_RELATION_TYPE.HAS_BLOCKED);
|
||||
|
||||
|
||||
list.push(param);
|
||||
|
||||
}
|
||||
@@ -373,30 +374,31 @@ export class FriendHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
const serverId = session.get('serverId');
|
||||
let { roleId: hisRoleId, type } = msg;
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let friend: RoleType;
|
||||
|
||||
let str = '', list = new Array<BlackListParam>(), frdRoleIds = new Array<string>(), blackRoleIds = new Array<string>();
|
||||
if(type == BLOCK_OPEATE.ADD) { // 拉黑
|
||||
if (type == BLOCK_OPEATE.ADD) { // 拉黑
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND);
|
||||
let friends = myRelation?myRelation.friends: [];
|
||||
let blacklist = myRelation?myRelation.blacklist: [];
|
||||
let friends = myRelation ? myRelation.friends : [];
|
||||
let blacklist = myRelation ? myRelation.blacklist : [];
|
||||
let curFriend = friends.find(cur => cur.roleId == hisRoleId);
|
||||
let curBlack = blacklist.find(cur => cur.roleId == hisRoleId);
|
||||
if(curBlack) {
|
||||
if (curBlack) {
|
||||
return resResult(STATUS.FRIEND_BLACK_HAS_ADD);
|
||||
}
|
||||
|
||||
role = await RoleModel.increaseBlockCnt(roleId, 1, curFriend? -1: 0, FRIEND.FRIEND_BLACKLIST_MAX); // 增加黑名单人数
|
||||
if(!role) {
|
||||
role = await RoleModel.increaseBlockCnt(roleId, 1, curFriend ? -1 : 0, FRIEND.FRIEND_BLACKLIST_MAX); // 增加黑名单人数
|
||||
if (!role) {
|
||||
return resResult(STATUS.FRIEND_BLACK_MAX)
|
||||
}
|
||||
friend = await RoleModel.increaseFriendCnt(hisRoleId, curFriend? -1: 0); // 对方好友减少
|
||||
friend = await RoleModel.increaseFriendCnt(hisRoleId, curFriend ? -1 : 0); // 对方好友减少
|
||||
|
||||
let friendShip: FriendShipType;
|
||||
if(!!curFriend) {
|
||||
if (!!curFriend) {
|
||||
await FriendShipModel.clearValue([roleId, hisRoleId]);
|
||||
friendShip = <FriendShipType>curFriend.friendShip;
|
||||
}
|
||||
@@ -410,7 +412,7 @@ export class FriendHandler {
|
||||
let isOnline = await isRoleOnline(friend.roleId);
|
||||
param.setOnline(isOnline);
|
||||
|
||||
let { serverId, userInfo: { serverType }} = friend;
|
||||
let { serverId, userInfo: { serverType } } = friend;
|
||||
let serverName = await getServerName(serverType, serverId);
|
||||
param.setServerName(serverId, serverName);
|
||||
|
||||
@@ -420,14 +422,14 @@ export class FriendHandler {
|
||||
} else if (type == BLOCK_OPEATE.REMOVE_FRIEND) { // 仅移除
|
||||
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND);
|
||||
let friends = myRelation?myRelation.friends: [];
|
||||
let friends = myRelation ? myRelation.friends : [];
|
||||
let curFriend = friends.find(cur => cur.roleId == hisRoleId);
|
||||
if(!curFriend) {
|
||||
if (!curFriend) {
|
||||
return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
}
|
||||
|
||||
role = await RoleModel.increaseFriendCnt(roleId, -1); // 减少好友
|
||||
if(!role) {
|
||||
if (!role) {
|
||||
return resResult(STATUS.FRIEND_NOT_FOUND)
|
||||
}
|
||||
friend = await RoleModel.increaseFriendCnt(hisRoleId, -1); // 对方好友减少
|
||||
@@ -442,26 +444,26 @@ export class FriendHandler {
|
||||
|
||||
frdRoleIds.push(roleId);
|
||||
|
||||
} else if(type == BLOCK_OPEATE.REMOVE_BLACK || type == BLOCK_OPEATE.REMOVE_AND_APPLY){
|
||||
} else if (type == BLOCK_OPEATE.REMOVE_BLACK || type == BLOCK_OPEATE.REMOVE_AND_APPLY) {
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.BLACKLIST);
|
||||
let blacklist = myRelation?myRelation.blacklist: [];
|
||||
let blacklist = myRelation ? myRelation.blacklist : [];
|
||||
|
||||
let curFriend = blacklist.find(cur => cur.roleId == hisRoleId);
|
||||
if(!curFriend) {
|
||||
if (!curFriend) {
|
||||
return resResult(STATUS.FRIEND_BLACK_NOT_FOUND);
|
||||
}
|
||||
|
||||
role = await RoleModel.increaseBlockCnt(roleId, -1, 0, 100); // 黑名单人数减
|
||||
if(!role) {
|
||||
if (!role) {
|
||||
return resResult(STATUS.FRIEND_BLACK_MAX)
|
||||
}
|
||||
await FriendRelationModel.removeFromBlack(roleId, hisRoleId);
|
||||
|
||||
if(type == BLOCK_OPEATE.REMOVE_AND_APPLY) {
|
||||
if (type == BLOCK_OPEATE.REMOVE_AND_APPLY) {
|
||||
// 申请好友
|
||||
friend = await RoleModel.increaseFriendApplyCnt(hisRoleId, 1, FRIEND.FRIEND_MANAGE_APPLICATION);
|
||||
if(!friend) {
|
||||
str = getResStr(STATUS.FRIEND_HIS_APPLY_MAX);
|
||||
if (!friend) {
|
||||
str = getResStr(STATUS.FRIEND_HIS_APPLY_MAX);
|
||||
} else {
|
||||
await FriendApplyModel.createApply(hisRoleId, role);
|
||||
}
|
||||
@@ -475,7 +477,7 @@ export class FriendHandler {
|
||||
let { friendCnt = 0, blockCnt = 0 } = role;
|
||||
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, [role, friend]);
|
||||
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, [role, friend]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
frdRoleIds, blackRoleIds,
|
||||
@@ -494,40 +496,40 @@ export class FriendHandler {
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let { roleId: hisRoleId } = msg;
|
||||
|
||||
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND); // 好友关系,只有friendship被populate了
|
||||
let friends = myRelation?myRelation.friends: [];
|
||||
let friends = myRelation ? myRelation.friends : [];
|
||||
let arr = new Array<Relation>();
|
||||
if(hisRoleId != '') {
|
||||
if (hisRoleId != '') {
|
||||
let cur = friends.find(cur => cur.roleId == hisRoleId);
|
||||
if(!cur) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
if (!cur) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
|
||||
arr.push(cur);
|
||||
} else {
|
||||
arr = friends;
|
||||
}
|
||||
let canSendList = await sortByBeSentHeart(roleId, arr);
|
||||
|
||||
let {lv} = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
|
||||
|
||||
let { lv } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
|
||||
let dicFriendLv = getDicFriendByLv(lv);
|
||||
if(!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
if (!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
// 情谊值有上限,送到上限为止
|
||||
let max = dicFriendLv.sendMax;
|
||||
let frdPointRec = await FriendPointModel.getFrdPointRecToday(roleId, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
let { sendCnt: todaySendCnt = 0 } = frdPointRec||{};
|
||||
let { sendCnt: todaySendCnt = 0 } = frdPointRec || {};
|
||||
|
||||
let todaySendInc = 0;
|
||||
let list = new Array<FriendValueListParam>();
|
||||
|
||||
let uids = [];
|
||||
for(let relation of canSendList) {
|
||||
for (let relation of canSendList) {
|
||||
|
||||
if(todaySendCnt + FRIEND.FRIEND_FRIENDPOINT_ADD > max) break;
|
||||
if (todaySendCnt + FRIEND.FRIEND_FRIENDPOINT_ADD > max) break;
|
||||
let fs = <FriendShipType>relation.friendShip;
|
||||
let ref = shouldRefresh(fs.refTime, new Date());
|
||||
let sendHeartRec = await FriendShipModel.sendHeart(roleId, relation.roleId, 1, FRIEND.FRIEND_RECEIVE_SINGLE, ref);
|
||||
if(!sendHeartRec) continue;
|
||||
if (!sendHeartRec) continue;
|
||||
|
||||
let param = new FriendValueListParam(relation.roleId, roleId, sendHeartRec);
|
||||
list.push(param);
|
||||
@@ -536,15 +538,15 @@ export class FriendHandler {
|
||||
todaySendInc += FRIEND.FRIEND_FRIENDPOINT_ADD;
|
||||
|
||||
let hisOnlineInfo = await getRoleOnlineInfo(relation.roleId);
|
||||
if(hisOnlineInfo.isOnline) {
|
||||
if (hisOnlineInfo.isOnline) {
|
||||
uids.push({ uid: relation.roleId, sid: hisOnlineInfo.sid });
|
||||
}
|
||||
}
|
||||
this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, {roleId}), uids);
|
||||
if(todaySendInc <= 0) return resResult(STATUS.FRIEND_HAS_SENT);
|
||||
this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, { roleId }), uids);
|
||||
if (todaySendInc <= 0) return resResult(STATUS.FRIEND_HAS_SENT);
|
||||
|
||||
// 更新情谊值
|
||||
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
// 任务
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
||||
|
||||
@@ -561,13 +563,13 @@ export class FriendHandler {
|
||||
let sid: string = session.get('sid');
|
||||
|
||||
let { roleId: hisRoleId } = msg;
|
||||
|
||||
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND); // 好友关系,只有friendship被populate了
|
||||
let friends = myRelation?myRelation.friends: [];
|
||||
let friends = myRelation ? myRelation.friends : [];
|
||||
let arr = new Array<Relation>();
|
||||
if(hisRoleId != '') {
|
||||
if (hisRoleId != '') {
|
||||
let cur = friends.find(cur => cur.roleId == hisRoleId);
|
||||
if(!cur) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
if (!cur) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
|
||||
arr.push(cur);
|
||||
} else {
|
||||
@@ -575,39 +577,39 @@ export class FriendHandler {
|
||||
}
|
||||
let canReceiveList = await sortByBeSentHeart(roleId, arr);
|
||||
|
||||
let {lv} = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
|
||||
let { lv } = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_LV);
|
||||
let dicFriendLv = getDicFriendByLv(lv);
|
||||
if(!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
if (!dicFriendLv) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
// 情谊值有上限,到上限为止
|
||||
let max = dicFriendLv.receiveMax;
|
||||
let frdPointRec = await FriendPointModel.getFrdPointRecToday(roleId, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
let { cnt: todayReceiveCnt = 0 } = frdPointRec||{};
|
||||
|
||||
let { cnt: todayReceiveCnt = 0 } = frdPointRec || {};
|
||||
|
||||
let todayReceiveInc = 0;
|
||||
let list = new Array<FriendValueListParam>();
|
||||
for(let relation of canReceiveList) {
|
||||
if(relation.beSentHeart > 0) {
|
||||
if(todayReceiveCnt + FRIEND.FRIEND_FRIENDPOINT_ADD > max) break;
|
||||
for (let relation of canReceiveList) {
|
||||
if (relation.beSentHeart > 0) {
|
||||
if (todayReceiveCnt + FRIEND.FRIEND_FRIENDPOINT_ADD > max) break;
|
||||
|
||||
// 收取爱心
|
||||
let fs = <FriendShipType>relation.friendShip;
|
||||
let ref = shouldRefresh(fs.refTime, new Date());
|
||||
let receiveHeartRec = await FriendShipModel.receiveHeart(roleId, relation.roleId, 1, relation.beSentHeart, ref);
|
||||
if(!receiveHeartRec) continue;
|
||||
|
||||
if (!receiveHeartRec) continue;
|
||||
|
||||
let param = new FriendValueListParam(relation.roleId, roleId, receiveHeartRec);
|
||||
list.push(param);
|
||||
|
||||
|
||||
todayReceiveCnt += FRIEND.FRIEND_FRIENDPOINT_ADD;
|
||||
todayReceiveInc += FRIEND.FRIEND_FRIENDPOINT_ADD;
|
||||
}
|
||||
}
|
||||
if(todayReceiveInc <= 0) return resResult(STATUS.FRIEND_HAS_RECEIVE);
|
||||
if (todayReceiveInc <= 0) return resResult(STATUS.FRIEND_HAS_RECEIVE);
|
||||
let fp = getFriendPointObject(todayReceiveCnt);
|
||||
let goods = await addItems(roleId, roleName, sid, [fp])
|
||||
|
||||
frdPointRec = await FriendPointModel.updatePointToday(roleId, roleName, todayReceiveInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
frdPointRec = await FriendPointModel.updatePointToday(roleId, roleName, todayReceiveInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
goods,
|
||||
@@ -624,14 +626,14 @@ export class FriendHandler {
|
||||
|
||||
let { roleId: hisRoleId, items } = msg;
|
||||
let myRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.FRIEND_NAME_ONLY);
|
||||
let friends = myRelation?myRelation.friends: [];
|
||||
let friends = myRelation ? myRelation.friends : [];
|
||||
let curFriend = friends.find(cur => cur.roleId == hisRoleId);
|
||||
if(!curFriend) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
if (!curFriend) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
|
||||
let friendValueInc = 0;
|
||||
for(let {id, count} of items ) {
|
||||
for (let { id, count } of items) {
|
||||
let dicGood = gameData.goods.get(id);
|
||||
if(!dicGood) {
|
||||
if (!dicGood) {
|
||||
return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
}
|
||||
|
||||
@@ -639,19 +641,19 @@ export class FriendHandler {
|
||||
if (dicItid.type == CONSUME_TYPE.FRIEND_FAVOUR) {
|
||||
friendValueInc += dicGood.value * count;
|
||||
} else {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
}
|
||||
|
||||
let costResult = await handleCost(roleId, sid, items);
|
||||
if(!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
|
||||
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
|
||||
|
||||
let result = await FriendShipModel.addFriendValue(roleId, hisRoleId, friendValueInc);
|
||||
if(!result) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
if (!result) return resResult(STATUS.FRIEND_NOT_FOUND);
|
||||
|
||||
// TODO 日志可以转到log服
|
||||
await FriendPresentLogModel.createRecord(roleId, hisRoleId, items);
|
||||
for(let {id, count} of items ) {
|
||||
for (let { id, count } of items) {
|
||||
const msgData = await createPrivateMsg(roleId, roleName, MSG_TYPE.RICH_TEXT, MSG_SOURCE.PRIVATE_SEND_GIFT, JSON.stringify({ id, count }), hisRoleId, null);
|
||||
await pushMsgToRole(msgData);
|
||||
let hisRole = <RoleType>curFriend.role;
|
||||
@@ -668,7 +670,7 @@ export class FriendHandler {
|
||||
|
||||
// let roleId = session.get('roleId');
|
||||
let { roleId: oppoRoleId } = msg;
|
||||
|
||||
|
||||
let result: PlayerDetail;
|
||||
|
||||
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
||||
@@ -677,10 +679,10 @@ export class FriendHandler {
|
||||
|
||||
let heroes = new Array<PlayerDetailHero>();
|
||||
|
||||
if(showLineup) { // 设置过展示阵容
|
||||
for(let hid of showLineup) {
|
||||
if (showLineup) { // 设置过展示阵容
|
||||
for (let hid of showLineup) {
|
||||
let curHero = dbHeroes.find(cur => cur.hid == hid);
|
||||
if(curHero) {
|
||||
if (curHero) {
|
||||
let { lv, star, colorStar, quality } = curHero;
|
||||
heroes.push({
|
||||
actorId: hid, lv, star, colorStar, quality,
|
||||
@@ -689,9 +691,9 @@ export class FriendHandler {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for(let { hid } of topLineup) {
|
||||
for (let { hid } of topLineup) {
|
||||
let curHero = dbHeroes.find(cur => cur.hid == hid);
|
||||
if(curHero) {
|
||||
if (curHero) {
|
||||
let { lv, star, colorStar, quality } = curHero;
|
||||
heroes.push({
|
||||
actorId: hid, lv, star, colorStar, quality,
|
||||
@@ -704,9 +706,9 @@ export class FriendHandler {
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
let rank = await r.getMyRank({ roleId: oppoRoleId });//去redis中获取排名
|
||||
|
||||
result = new PlayerDetail({...role, defCe: topLineupCe, heroes});
|
||||
result = new PlayerDetail({ ...role, defCe: topLineupCe, heroes });
|
||||
result.setWarStar(role.warStar, rank, towerLv);
|
||||
|
||||
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
}
|
||||
|
||||
@@ -718,22 +720,22 @@ export class FriendHandler {
|
||||
let { roleId: hisRoleId, hids } = msg;
|
||||
|
||||
let role = await RoleModel.findByRoleId(hisRoleId, ROLE_SELECT.ATTR);
|
||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
if (!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
let heroList = await HeroModel.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
|
||||
if(heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND);
|
||||
if (heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
let list = new Array();
|
||||
for(let {roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job, skins, attr: heroAttrs} of heroList) {
|
||||
for (let { roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job, skins, attr: heroAttrs } of heroList) {
|
||||
|
||||
let curSkin = skins.find(cur => cur.enable);
|
||||
let equips = await EquipModel.findListByHidAndRole(hisRoleId, hid, EQUIP_SELECT.HERO_DETAIL);
|
||||
|
||||
|
||||
let attributes = getPlayerMainAttribute(heroAttrs, role.attr);
|
||||
|
||||
list.push({
|
||||
roleId, roleName, hid, hName, ce, lv, star, colorStar, quality, job,
|
||||
skin: curSkin?curSkin.id: 0, equips, attributes
|
||||
skin: curSkin ? curSkin.id : 0, equips, attributes
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ export class HeroHandler {
|
||||
|
||||
public async test(msg: {}, session: BackendSession) {
|
||||
let heroes = [...gameData.hero];
|
||||
return resResult(STATUS.SUCCESS, {heroes})
|
||||
return resResult(STATUS.SUCCESS, { heroes })
|
||||
}
|
||||
|
||||
// ! 测试接口,用来测试前清理并初始化某个武将;代码抄自:gm-server/app/service/users.ts deleteHero
|
||||
@@ -186,6 +186,7 @@ export class HeroHandler {
|
||||
// 武将升星
|
||||
public async starUp(msg: { hid: number, star: number, starStage: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
@@ -226,9 +227,9 @@ export class HeroHandler {
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
|
||||
if (hero.colorStar) {//觉醒升星
|
||||
await accomplishTask(roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, star: hero.star });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, star: hero.star });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +248,7 @@ export class HeroHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: string = session.get('serverId');
|
||||
let serverId: number = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, quality } = msg;
|
||||
@@ -285,7 +286,7 @@ export class HeroHandler {
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||
// 任务
|
||||
await accomplishTask(roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality, quality: hero.quality });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality, quality: hero.quality });
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -301,7 +302,7 @@ export class HeroHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let roleName: string = session.get('roleName');
|
||||
let serverId: string = session.get('serverId');
|
||||
const serverId = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, colorStar, colorStarStage } = msg;
|
||||
@@ -348,7 +349,7 @@ export class HeroHandler {
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||
await accomplishTask(roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { quality: hero.quality });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { quality: hero.quality });
|
||||
}
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -403,6 +404,7 @@ export class HeroHandler {
|
||||
async heroJobStageUp(msg: { hid: number }, session: BackendSession) {
|
||||
console.log(JSON.stringify([...gameData.jobClassMaxGrades]))
|
||||
let roleId: string = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid } = msg;
|
||||
@@ -430,7 +432,7 @@ export class HeroHandler {
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
|
||||
await accomplishTask(roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@ export class RoleHandler {
|
||||
let serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
|
||||
let { roleName } = msg;
|
||||
let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit', true);
|
||||
if(role.hasInit) return resResult(STATUS.ROLE_HAS_INIT);
|
||||
if (role.hasInit) return resResult(STATUS.ROLE_HAS_INIT);
|
||||
|
||||
let checkName = await RoleModel.checkName(roleName, serverId);
|
||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
||||
@@ -79,6 +79,7 @@ export class RoleHandler {
|
||||
async roleTitleLevelUp(msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
const serverId = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
@@ -100,7 +101,7 @@ export class RoleHandler {
|
||||
// 任务
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title });
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.ROLE_TITLE, update.title)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.ROLE_TITLE, update.title)
|
||||
|
||||
return resResult(STATUS.SUCCESS, { roleId, title: role.title });
|
||||
}
|
||||
@@ -231,6 +232,7 @@ export class RoleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
let { schoolId, positionId, hid } = msg;
|
||||
if (!gameData.school.has(schoolId)) {
|
||||
@@ -271,7 +273,7 @@ export class RoleHandler {
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
|
||||
if (hid > 0) {
|
||||
//成长任务
|
||||
await accomplishTask(roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
|
||||
await accomplishTask(serverId, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
|
||||
Reference in New Issue
Block a user