形象:头像相框形象字段

This commit is contained in:
luying
2021-03-11 19:29:50 +08:00
parent b2566f3fb6
commit 09a7a8b89b
30 changed files with 290 additions and 166 deletions
+2 -2
View File
@@ -73,8 +73,8 @@ export async function towerBattleEnd(sid: string, roleId: string, serverId: numb
if (inc === 1) {
let role = await RoleModel.towerLvUp(roleId);
// 更新redis
let { roleName, towerLv, towerUpTime, lv, vLv, headHid, sHid, title } = role;
let rankRank = new RankParam(roleName, lv, vLv, headHid, sHid, title);
let { roleName, towerLv, towerUpTime, lv, vLv, head, frame, spine, title } = role;
let rankRank = new RankParam(roleName, lv, vLv, head, frame, spine, title);
await setRank(REDIS_KEY.TOWER_RANK, serverId, roleId, towerLv, towerUpTime.getTime(), rankRank);
const nextTowerInfo = getTowerDataByLv(towerLv + 1);
+8 -7
View File
@@ -14,7 +14,7 @@ import { getRandEelm, getRandValue, resResult, ratioReward, getRandValueByMinMax
import { getRandRobot, transBossHpArr } from "./battleService";
import { difference, omit } from 'underscore';
import { Channel, ChannelService } from 'pinus';
import { TREASURE } from '../pubUtils/dicParam';
import { TREASURE, FIGURE } from '../pubUtils/dicParam';
import { decreaseItems } from './rewardService';
import { getFriendLvAdd } from './friendService';
import { getRoleIds } from '../pubUtils/friendUtil';
@@ -56,9 +56,9 @@ export function getRandComBtlRobots(topLineupCe: number, ceLimit: number, lv: nu
robotCe = getRandValue(topLineupCe || 0, COM_BTL_CONST.ROBOT_CE_RATIO, 0);
}
const robotLv = getRandValue(lv, COM_BTL_CONST.ROBOT_CE_RATIO, 0);
const imgHid = robot[Math.floor(Math.random() * robot.length)];
// const imgHid = robot[Math.floor(Math.random() * robot.length)];
const { robotRoleId, robotRoleName } = robotInfos[idx];
let robotStatus = new RoleStatus(robotRoleId, robotRoleName, false, false, imgHid, imgHid, robotCe, robotLv, robot, true);
let robotStatus = new RoleStatus(robotRoleId, robotRoleName, false, false, FIGURE.DEFAULT_HEAD, FIGURE.DEFAULT_FRAME, FIGURE.DEFAULT_SPINE, robotCe, robotLv, robot, true);
robotStArr.push(robotStatus);
robotIdArr.push(robotRoleId);
});
@@ -490,12 +490,13 @@ async function teammateValid(roleInfo: Partial<RoleType>, roleId: string, roleId
*/
export async function getValidTeammateRoleSt(roleId: string, roleIds: string[], ceLimit: number, quality: number) {
let roleInfo = await RoleModel.findByRoleId(roleId, null, true);
let { roleName, headHid = 19, sHid = 19, topLineupCe, lv } = roleInfo;
let { roleName, head = FIGURE.DEFAULT_HEAD, frame = FIGURE.DEFAULT_FRAME, spine = FIGURE.DEFAULT_SPINE, topLineupCe, lv } = roleInfo;
const valid = await teammateValid(roleInfo, roleId, roleIds, ceLimit);
if (!valid) return null;
let isFrd = await getFrd(roleId, quality);
const result = new RoleStatus(roleId, roleName, false, isFrd, headHid, sHid, topLineupCe, lv);
const result = new RoleStatus(roleId, roleName, false, isFrd, head, frame, spine, topLineupCe, lv);
return result;
}
@@ -573,9 +574,9 @@ export async function hasEnoughBlueprt(roleId: string, blueprtId: number) {
* @param {boolean} isFrd
*/
export function addRoleToTeam(comTeam: MemComBtlTeam, roleInfo: RoleType, isCap: boolean, isFrd: boolean) {
const { roleId, roleName, headHid = 19, sHid = 19, lv } = roleInfo;
const { roleId, roleName, head = FIGURE.DEFAULT_HEAD, frame = FIGURE.DEFAULT_FRAME, spine = FIGURE.DEFAULT_SPINE, lv } = roleInfo;
let { topLineupCe = 1000 } = roleInfo;
const roleSt = new RoleStatus(roleId, roleName, isCap, isFrd, headHid, sHid, topLineupCe, lv);
const roleSt = new RoleStatus(roleId, roleName, isCap, isFrd, head, frame, spine, topLineupCe, lv);
addRoleStToTeam(comTeam, roleSt);
}
+9 -7
View File
@@ -44,8 +44,8 @@ export async function initPvpInfo(role: RoleType) {
let result = await PvpDefenseModel.createPvpDefense({ roleId: role.roleId, roleName: role.roleName, role: role._id, heroes, oppPlayers, defCe, seasonNum, challengeCnt });
//加入排行榜
let { roleId, roleName, lv, vLv, headHid, sHid, title } = role;
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
let { roleId, roleName, lv, vLv, head, frame,spine, title } = role;
let params = new RankParam(roleName, lv, vLv, head, frame, spine, title);
await setRank(REDIS_KEY.PVP_RANK, 0, roleId, result.score, result.updatedAt.getTime(), params);
return result;
@@ -70,7 +70,7 @@ export async function getEnemies(oppPlayers: OppPlayers[], winStreakNum: number)
let result = new Array<oppPlayersInter>();
for(let oppPlayer of oppPlayers) {
let dicOpponent = dicPvpOpponent.get(oppPlayer.pos);
let oppDef = <PvpHistoryOppType>oppPlayer.oppDef; // select 'oppRoleId pos roleName headHid sHid rankLv pLv defCe'
let oppDef = <PvpHistoryOppType>oppPlayer.oppDef; // select 'oppRoleId pos roleName head frame spine rankLv pLv defCe'
delete oppDef.heroes;
result.push({
...oppDef,
@@ -573,8 +573,9 @@ export async function generMyRecInfo(heroScores: HeroScores[], winStreakNum: num
roleId,
roleName,
lv: role.lv,
sHid: role.sHid,
headHid: role.headHid,
head: role.head,
frame: role.frame,
spine: role.spine,
title: role.title,
ce: reduceCe(role.topLineupCe),
heroes: myHeroRecords,
@@ -601,8 +602,9 @@ export async function generPVPOppRecInfo(isSuccess: boolean, curOpp: OppPlayers,
roleId: robotIdComBack(oppRole.oppRoleId),
roleName: oppRole.roleName,
lv: oppRole.lv,
sHid: oppRole.sHid,
headHid: oppRole.headHid,
head: oppRole.head,
frame: oppRole.frame,
spine: oppRole.spine,
title: oppRole.title,
ce: reduceCe(oppRole.defCe),
heroes: oppHeroRecords,
+7 -7
View File
@@ -77,20 +77,20 @@ export async function initSingleRankWithServer(key: string, serverId: number) {
*/
async function setRankRedisFromDb(type: string, serverId: number) {
if(type == REDIS_KEY.TOWER_RANK) {
let ranks = await RoleModel.getRank('tower', serverId, ['roleId', 'roleName', 'towerLv', 'lv', 'vLv', 'headHid', 'sHid', 'title', 'updatedAt']);
for(let {towerLv, roleId, roleName, lv, vLv, towerUpTime, headHid, sHid, title} of ranks) {
let ranks = await RoleModel.getRank('tower', serverId, ['roleId', 'roleName', 'towerLv', 'lv', 'vLv', 'head', 'frame', 'spine','title', 'updatedAt']);
for(let {towerLv, roleId, roleName, lv, vLv, towerUpTime, head, frame, spine, title} of ranks) {
// console.log(roleId);
await redisClient().zaddAsync(getKeyName(REDIS_KEY.TOWER_RANK, serverId), encodeScoreWithTime(towerLv, towerUpTime?towerUpTime.getTime():0), roleId);
let rankPram = new RankParam(roleName, lv, vLv, headHid, sHid, title);
let rankPram = new RankParam(roleName, lv, vLv, head, frame, spine, title);
await redisUserInfoAdd(REDIS_KEY.USER_INFO, roleId, rankPram);
}
} else if (type == REDIS_KEY.GUILD_ACTIVE_RANK) {
let ranks = await GuildModel.getRank(serverId);
for(let { code, icon, name, lv, leader, activeWeekly = 0, activeUpdateTime = 0 } of ranks) {
let _leader = <RoleType>leader;
let { roleName, title, sHid, headHid, lv: leaderLv } = _leader;
let { roleName, title, head, frame, spine, lv: leaderLv } = _leader;
await redisClient().zaddAsync(getKeyName(REDIS_KEY.GUILD_ACTIVE_RANK, serverId), encodeScoreWithTime(activeWeekly, activeUpdateTime * 1000 ), code);
let rankParam = new GuildRankParam(icon, name, lv, { roleName, title, sHid, headHid, lv: leaderLv });
let rankParam = new GuildRankParam(icon, name, lv, { roleName, title, head, frame, spine, lv: leaderLv });
await redisUserInfoAdd(REDIS_KEY.GUILD_INFO, code, rankParam);
}
}
@@ -444,12 +444,12 @@ export async function resetPvpRanks() {
if (!role) {
continue;
}
let { roleName, headHid, sHid, title, lv, vLv } = role;
let { roleName, head, frame, spine, title, lv, vLv } = role;
await redisClient().zaddAsync(getKeyName(REDIS_KEY.PVP_RANK), encodeScoreWithTime(score, updatedAt?updatedAt.getTime():0), roleId);
const hasCurUser = await redisClient().hexistsAsync(REDIS_KEY.USER_INFO, roleId);
if(!hasCurUser) {
let rankPram = new RankParam(roleName, lv, vLv, headHid, sHid, title);
let rankPram = new RankParam(roleName, lv, vLv, head, frame, spine, title);
await redisUserInfoAdd(REDIS_KEY.USER_INFO, roleId, rankPram);
}
}
+1 -1
View File
@@ -131,7 +131,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
currencysMap[key] += role[key];
}
}
RoleModel.updateRoleInfo(roleId, currencysMap);
await RoleModel.updateRoleInfo(roleId, currencysMap);
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, currencysMap), uids);
}
+2 -2
View File
@@ -184,8 +184,8 @@ export async function setPvpDefResult(pvpDefense: PvpDefenseType, seasonNum: num
let rankLv = resultMaxRank.min; //最大排名挡位结算
let {score, pLv, heroScores, challengeCnt, challengeRefTime, rankGoods, heroGoods } = await checkResult(pvpDefense, seasonNum, oldSeasonEndTime, rankLv);
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(pvpDefense.roleId, {score, pLv, heroScores, seasonNum, challengeCnt, challengeRefTime});
let { roleName, lv, vLv, headHid, sHid, title , roleId } = role;
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
let { roleName, lv, vLv, head, frame, spine, title, roleId } = role;
let params = new RankParam(roleName, lv, vLv, head, frame, spine, title);
setRank(REDIS_KEY.PVP_RANK, 0, roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
//下发邮件
if (!!rankGoods.length)