任务:埋点30/70
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Application, BackendSession, ChannelService } from "pinus";
|
||||
import { resResult, getRandEelm, getResStr, shouldRefresh, getRefTime, sortArrRandom } from "../../../pubUtils/util";
|
||||
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT, REDIS_KEY, MSG_SOURCE, MSG_TYPE } from "../../../consts";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, EQUIP_SELECT, REDIS_KEY, MSG_SOURCE, MSG_TYPE, TASK_TYPE } from "../../../consts";
|
||||
import Role, { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { getBeforeHourSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { FriendApplyModel } from "../../../db/FriendApply";
|
||||
import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend";
|
||||
@@ -22,6 +22,7 @@ import { FRIEND } from "../../../pubUtils/dicParam";
|
||||
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
|
||||
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
import { checkTaskWithRole, checkTaskWithRoles, checkTask } from "../../../services/taskService";
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -200,10 +201,12 @@ export class FriendHandler {
|
||||
// (一键)同意/拒绝申请
|
||||
public async handleApply(msg: { applyCodeList: string[], isPass: boolean }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
|
||||
let { applyCodeList, isPass } = msg;
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let roles = new Array<RoleType>();
|
||||
let friendCnt = role.friendCnt;
|
||||
|
||||
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
|
||||
@@ -230,6 +233,7 @@ export class FriendHandler {
|
||||
let friend = <RoleType>apply.friend;
|
||||
str = await increaseFrdCnt(role, friend, friendCnt);
|
||||
if(str != '') continue;
|
||||
roles.push(friend);
|
||||
|
||||
// 创建friendShip
|
||||
let friendShip = await FriendShipModel.createFriendShip([roleId, friend.roleId]);
|
||||
@@ -257,7 +261,10 @@ export class FriendHandler {
|
||||
}
|
||||
|
||||
await FriendApplyModel.deleteApply(resultApplyCodeList);
|
||||
await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
|
||||
role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
|
||||
roles.push(role);
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, TASK_TYPE.FRIEND_NUM, roles);
|
||||
|
||||
// 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好
|
||||
if(str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
|
||||
@@ -363,9 +370,11 @@ export class FriendHandler {
|
||||
// 拉黑/移除
|
||||
public async setBlackList(msg: { roleId: string, type: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
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) { // 拉黑
|
||||
@@ -382,15 +391,12 @@ export class FriendHandler {
|
||||
if(!role) {
|
||||
return resResult(STATUS.FRIEND_BLACK_MAX)
|
||||
}
|
||||
await RoleModel.increaseFriendCnt(hisRoleId, curFriend? -1: 0); // 对方好友减少
|
||||
friend = await RoleModel.increaseFriendCnt(hisRoleId, curFriend? -1: 0); // 对方好友减少
|
||||
|
||||
let friend: RoleType, friendShip: FriendShipType;
|
||||
let friendShip: FriendShipType;
|
||||
if(!!curFriend) {
|
||||
await FriendShipModel.clearValue([roleId, hisRoleId]);
|
||||
friend = <RoleType>curFriend.role;
|
||||
friendShip = <FriendShipType>curFriend.friendShip;
|
||||
} else {
|
||||
friend = await RoleModel.findByRoleId(hisRoleId);
|
||||
}
|
||||
|
||||
await FriendRelationModel.moveFromFriend(hisRoleId, role, friendShip, false, !!curFriend); //从对方好友删除
|
||||
@@ -422,12 +428,11 @@ export class FriendHandler {
|
||||
if(!role) {
|
||||
return resResult(STATUS.FRIEND_NOT_FOUND)
|
||||
}
|
||||
await RoleModel.increaseFriendCnt(hisRoleId, -1); // 对方好友减少
|
||||
friend = await RoleModel.increaseFriendCnt(hisRoleId, -1); // 对方好友减少
|
||||
|
||||
let friend: RoleType, friendShip: FriendShipType;
|
||||
let friendShip: FriendShipType;
|
||||
|
||||
await FriendShipModel.clearValue([roleId, hisRoleId]);
|
||||
friend = <RoleType>curFriend.role;
|
||||
friendShip = <FriendShipType>curFriend.friendShip;
|
||||
|
||||
await FriendRelationModel.moveFromFriend(hisRoleId, role, friendShip, false, !!curFriend); //从对方好友删除
|
||||
@@ -452,8 +457,8 @@ export class FriendHandler {
|
||||
|
||||
if(type == BLOCK_OPEATE.REMOVE_AND_APPLY) {
|
||||
// 申请好友
|
||||
let applyResult = await RoleModel.increaseFriendApplyCnt(hisRoleId, 1, FRIEND.FRIEND_MANAGE_APPLICATION);
|
||||
if(!applyResult) {
|
||||
friend = await RoleModel.increaseFriendApplyCnt(hisRoleId, 1, FRIEND.FRIEND_MANAGE_APPLICATION);
|
||||
if(!friend) {
|
||||
str = getResStr(STATUS.FRIEND_HIS_APPLY_MAX);
|
||||
} else {
|
||||
await FriendApplyModel.createApply(hisRoleId, role);
|
||||
@@ -467,6 +472,9 @@ export class FriendHandler {
|
||||
|
||||
let { friendCnt = 0, blockCnt = 0 } = role;
|
||||
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, TASK_TYPE.FRIEND_NUM, [role, friend]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
frdRoleIds, blackRoleIds,
|
||||
isSuccess: str == '',
|
||||
@@ -480,6 +488,7 @@ export class FriendHandler {
|
||||
public async sendHeart(msg: { roleId: string }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
|
||||
let { roleId: hisRoleId } = msg;
|
||||
|
||||
@@ -533,6 +542,8 @@ export class FriendHandler {
|
||||
|
||||
// 更新情谊值
|
||||
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
todaySendCnt, list
|
||||
|
||||
Reference in New Issue
Block a user