寻宝:点击头像接口设置机器人
This commit is contained in:
@@ -2,10 +2,10 @@
|
|||||||
import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
|
import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
|
||||||
import { uniq, findWhere, findIndex } from 'underscore';
|
import { uniq, findWhere, findIndex } from 'underscore';
|
||||||
import { gameData, getPvpBoxs, getPLvByScore } from '../../../pubUtils/data';
|
import { gameData, getPvpBoxs, getPLvByScore } from '../../../pubUtils/data';
|
||||||
import { refreshEnemies, getEnemies, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, checkRoleIsRobot, getRefOppCnt, findPvpDefAllByRoleId, generPVPOppRecInfo, generMyRecInfo, robotIdComBack } from '../../../services/pvpService';
|
import { refreshEnemies, getEnemies, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, getRefOppCnt, findPvpDefAllByRoleId, generPVPOppRecInfo, generMyRecInfo } from '../../../services/pvpService';
|
||||||
import { RoleModel, RoleType } from '../../../db/Role';
|
import { RoleModel, RoleType } from '../../../db/Role';
|
||||||
import { STATUS } from '../../../consts/statusCode';
|
import { STATUS } from '../../../consts/statusCode';
|
||||||
import { resResult, genCode } from '../../../pubUtils/util';
|
import { resResult, genCode, checkRoleIsRobot, robotIdComBack } from '../../../pubUtils/util';
|
||||||
import { PvpDefenseModel, OppPlayers } from '../../../db/PvpDefense';
|
import { PvpDefenseModel, OppPlayers } from '../../../db/PvpDefense';
|
||||||
import { pvpEndParamInter } from '../../../pubUtils/interface';
|
import { pvpEndParamInter } from '../../../pubUtils/interface';
|
||||||
import { PlayerDetail, PlayerDetailHero } from '../../../domain/battleField/guild';
|
import { PlayerDetail, PlayerDetailHero } from '../../../domain/battleField/guild';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Application, BackendSession, ChannelService, HandlerService, } from "pinus";
|
import { Application, BackendSession, ChannelService, HandlerService, } from "pinus";
|
||||||
import { resResult, getRandEelm, getResStr, shouldRefresh, sortArrRandom } from "../../../pubUtils/util";
|
import { resResult, getRandEelm, getResStr, shouldRefresh, sortArrRandom, checkRoleIsRobot, getRobotSysType, makeRobotId } 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, TASK_TYPE } from "../../../consts";
|
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, ROBOT_SYS_TYPE } from "../../../consts";
|
||||||
import { RoleModel, RoleType } from "../../../db/Role";
|
import { RoleModel, RoleType } from "../../../db/Role";
|
||||||
import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil";
|
import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil";
|
||||||
import { FriendApplyModel } from "../../../db/FriendApply";
|
import { FriendApplyModel } from "../../../db/FriendApply";
|
||||||
@@ -23,6 +23,7 @@ import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guil
|
|||||||
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
||||||
import { Rank } from "../../../services/rankService";
|
import { Rank } from "../../../services/rankService";
|
||||||
import { checkTaskWithRoles, checkTask, checkActivityTask } from "../../../services/taskService";
|
import { checkTaskWithRoles, checkTask, checkActivityTask } from "../../../services/taskService";
|
||||||
|
import { ComBattleTeamModel } from "../../../db/ComBattleTeam";
|
||||||
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
@@ -607,6 +608,45 @@ export class FriendHandler {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getPlayerSimpleInfo(msg: { roleId: string }, session: BackendSession) {
|
||||||
|
|
||||||
|
let roleId: string = session.get('roleId');
|
||||||
|
|
||||||
|
let { roleId: targetRoleId } = msg;
|
||||||
|
let isRobot = checkRoleIsRobot(targetRoleId);
|
||||||
|
if(isRobot) {
|
||||||
|
let role = await RoleModel.findByRoleId(roleId);
|
||||||
|
let sysType = getRobotSysType(targetRoleId);
|
||||||
|
let addObj: any = { roleId: makeRobotId(''), roleName: '' };
|
||||||
|
if(sysType == ROBOT_SYS_TYPE.COM_BTL) {
|
||||||
|
let comBattle = await ComBattleTeamModel.findByRoleId(targetRoleId);
|
||||||
|
if(comBattle) {
|
||||||
|
addObj = comBattle.roleStatus.find(cur => cur.roleId == targetRoleId)||{};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let param = new FriendRecommendParams({...role, ...addObj});
|
||||||
|
let { serverId, userInfo: { serverType } } = role;
|
||||||
|
let serverName = await getServerName(serverType, serverId);
|
||||||
|
param.setServerName(serverId, serverName);
|
||||||
|
|
||||||
|
return resResult(STATUS.SUCCESS, {...param, isRobot });
|
||||||
|
} else {
|
||||||
|
|
||||||
|
let role = await RoleModel.findByRoleId(targetRoleId);
|
||||||
|
let myFriendRelation = await FriendRelationModel.findFriendByRole(roleId, POPULATE_TYPE.NOT);
|
||||||
|
|
||||||
|
let type = getRecommendType(myFriendRelation, roleId, role.roleId);
|
||||||
|
let param = new FriendRecommendParams(role);
|
||||||
|
param.setType(type);
|
||||||
|
|
||||||
|
let { serverId, userInfo: { serverType } } = role;
|
||||||
|
let serverName = await getServerName(serverType, serverId);
|
||||||
|
param.setServerName(serverId, serverName);
|
||||||
|
return resResult(STATUS.SUCCESS, {...param, isRobot });
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
async getPlayerDetail(msg: { roleId: string }, session: BackendSession) {
|
async getPlayerDetail(msg: { roleId: string }, session: BackendSession) {
|
||||||
|
|
||||||
// let roleId = session.get('roleId');
|
// let roleId = session.get('roleId');
|
||||||
@@ -616,11 +656,13 @@ export class FriendHandler {
|
|||||||
|
|
||||||
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
||||||
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
|
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
|
||||||
|
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||||
|
|
||||||
let { topLineup, topLineupCe, towerLv, showLineup } = role;
|
let { topLineup, topLineupCe, towerLv, showLineup } = role;
|
||||||
|
|
||||||
let heroes = new Array<PlayerDetailHero>();
|
let heroes = new Array<PlayerDetailHero>();
|
||||||
|
|
||||||
if (showLineup) { // 设置过展示阵容
|
if (showLineup && showLineup.length) { // 设置过展示阵容
|
||||||
for (let hid of showLineup) {
|
for (let hid of showLineup) {
|
||||||
let curHero = dbHeroes.find(cur => cur.hid == hid);
|
let curHero = dbHeroes.find(cur => cur.hid == hid);
|
||||||
if (curHero) {
|
if (curHero) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { RoleType } from '../db/Role';
|
|||||||
import { PVP_HERO_POS, REDIS_KEY, PVP_CONST, COUNTER } from '../consts';
|
import { PVP_HERO_POS, REDIS_KEY, PVP_CONST, COUNTER } from '../consts';
|
||||||
import { setPvpDefResult } from '../services/timeTaskService';
|
import { setPvpDefResult } from '../services/timeTaskService';
|
||||||
import { dicPvpOpponent, DicPvpOpponent } from "../pubUtils/dictionary/DicPvpOpponent";
|
import { dicPvpOpponent, DicPvpOpponent } from "../pubUtils/dictionary/DicPvpOpponent";
|
||||||
import { getRandSingleIndex, genCode, shouldRefresh, getChineseName } from '../pubUtils/util';
|
import { getRandSingleIndex, genCode, shouldRefresh, getChineseName, makeRobotId, robotIdComBack } from '../pubUtils/util';
|
||||||
import { oppPlayersInter, pvpEndParamInter } from '../pubUtils/interface';
|
import { oppPlayersInter, pvpEndParamInter } from '../pubUtils/interface';
|
||||||
import { gameData, getPLvByScore } from "../pubUtils/data";
|
import { gameData, getPLvByScore } from "../pubUtils/data";
|
||||||
import { PVP } from '../pubUtils/dicParam';
|
import { PVP } from '../pubUtils/dicParam';
|
||||||
@@ -313,21 +313,6 @@ function generateRobotRoleId() {
|
|||||||
return `${genCode(10)}_r`;
|
return `${genCode(10)}_r`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据roleId判断是不是机器人
|
|
||||||
export function checkRoleIsRobot(roleId: string) {
|
|
||||||
return !!roleId.match(/_r/);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将一般的roleId转为带_r的
|
|
||||||
export function makeRobotId(roleId: string) {
|
|
||||||
return `${roleId}_r`;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将一般的roleId去掉_r
|
|
||||||
export function robotIdComBack(robotRoleId: string) {
|
|
||||||
return robotRoleId.replace(/_r/, '')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据连胜次数,获得加成的积分
|
// 根据连胜次数,获得加成的积分
|
||||||
export function getPlusScore(win: number) {
|
export function getPlusScore(win: number) {
|
||||||
let result = win - 1;
|
let result = win - 1;
|
||||||
|
|||||||
@@ -704,4 +704,9 @@ export enum HANDLE_REWARD_TYPE {
|
|||||||
export enum RECEIVE_MAIL_TYPE {
|
export enum RECEIVE_MAIL_TYPE {
|
||||||
SINGLE = 1, // 领取单个
|
SINGLE = 1, // 领取单个
|
||||||
ALL = 2, // 一件领取
|
ALL = 2, // 一件领取
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum ROBOT_SYS_TYPE {
|
||||||
|
COM_BTL = 1,
|
||||||
|
PVP = 2
|
||||||
}
|
}
|
||||||
@@ -183,6 +183,11 @@ export default class ComBattleTeam extends BaseModel {
|
|||||||
return team;
|
return team;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async findByRoleId(roleId: string) {
|
||||||
|
const team: ComBattleTeamType = await ComBattleTeamModel.findOne({ roleIds: { $in: [roleId] }}).lean();
|
||||||
|
return team;
|
||||||
|
}
|
||||||
|
|
||||||
public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) {
|
public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) {
|
||||||
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean);
|
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean);
|
||||||
return team;
|
return team;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { RoleType } from "../../db/Role";
|
import { RoleType } from "../../db/Role";
|
||||||
import { FriendShipType } from "../../db/FriendShip";
|
import { FriendShipType } from "../../db/FriendShip";
|
||||||
import * as friendUtil from '../../pubUtils/friendUtil'
|
import * as friendUtil from '../../pubUtils/friendUtil'
|
||||||
|
import { FRIEND_RELATION_TYPE } from "../../consts";
|
||||||
|
|
||||||
export class FriendParams {
|
export class FriendParams {
|
||||||
roleId: string;
|
roleId: string;
|
||||||
@@ -13,7 +14,7 @@ export class FriendParams {
|
|||||||
title: number;
|
title: number;
|
||||||
serverId: number;
|
serverId: number;
|
||||||
serverName: string;
|
serverName: string;
|
||||||
type: number;
|
type: number = FRIEND_RELATION_TYPE.NORMAL;
|
||||||
|
|
||||||
constructor(role: RoleType) {
|
constructor(role: RoleType) {
|
||||||
this.roleId = role.roleId;
|
this.roleId = role.roleId;
|
||||||
|
|||||||
+32
-3
@@ -4,7 +4,7 @@ import { HeroModel, HeroType } from '../db/Hero';
|
|||||||
|
|
||||||
import fs = require('fs');
|
import fs = require('fs');
|
||||||
import path = require('path');
|
import path = require('path');
|
||||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, } from '../consts';
|
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, } from '../consts';
|
||||||
|
|
||||||
import { findIndex } from 'underscore';
|
import { findIndex } from 'underscore';
|
||||||
import { getTimeFunM } from './timeUtil';
|
import { getTimeFunM } from './timeUtil';
|
||||||
@@ -546,13 +546,42 @@ export function getChineseName() {
|
|||||||
return randomName.generate()
|
return randomName.generate()
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getRobotInfo() {
|
export function getRobotInfo(sysType = ROBOT_SYS_TYPE.COM_BTL) {
|
||||||
return {
|
return {
|
||||||
robotRoleName: getChineseName(),
|
robotRoleName: getChineseName(),
|
||||||
robotRoleId: genCode(8)
|
robotRoleId: makeRobotId(genCode(8), sysType),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据roleId判断是不是机器人
|
||||||
|
export function checkRoleIsRobot(roleId: string) {
|
||||||
|
return !!roleId.match(/_r/);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将一般的roleId转为带_r的
|
||||||
|
export function makeRobotId(roleId: string, sysType = ROBOT_SYS_TYPE.COM_BTL) {
|
||||||
|
if(sysType) {
|
||||||
|
return `${sysType}|${roleId}_r`;
|
||||||
|
} else {
|
||||||
|
return `${roleId}_r`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 获取来源系统
|
||||||
|
export function getRobotSysType(roleId: string) {
|
||||||
|
let type = roleId.split('|')[0];
|
||||||
|
if(isNaN(parseInt(type))) {
|
||||||
|
return 0
|
||||||
|
} else {
|
||||||
|
return parseInt(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将一般的roleId去掉_r
|
||||||
|
export function robotIdComBack(robotRoleId: string) {
|
||||||
|
return robotRoleId.replace(/_r/, '')
|
||||||
|
}
|
||||||
|
|
||||||
export function splitString(dataString: string, key: string) {
|
export function splitString(dataString: string, key: string) {
|
||||||
if (!dataString) {
|
if (!dataString) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// This file is created by egg-ts-helper@1.25.8
|
// This file is created by egg-ts-helper@1.26.0
|
||||||
// Do not modify this file!!!!!!!!!
|
// Do not modify this file!!!!!!!!!
|
||||||
|
|
||||||
import 'egg';
|
import 'egg';
|
||||||
|
|||||||
Reference in New Issue
Block a user