任务:埋点30/70

This commit is contained in:
luying
2021-04-19 13:17:17 +08:00
parent bc07e1ea31
commit 9f4f346447
38 changed files with 1088 additions and 692 deletions
@@ -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