🐞 fix(gvg): 云台贡献接口名错误修改
This commit is contained in:
@@ -2,17 +2,17 @@ import { Application, BackendSession, ChannelService, HandlerService, pinus } fr
|
|||||||
import { GVG_ITEM, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS, GVG_REC_TYPE, TASK_TYPE } from "../../../consts";
|
import { GVG_ITEM, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS, GVG_REC_TYPE, TASK_TYPE } from "../../../consts";
|
||||||
import { GVGLeagueModel } from "../../../db/GVGLeague";
|
import { GVGLeagueModel } from "../../../db/GVGLeague";
|
||||||
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||||
import { GVGMainData, LeagueDistributeInfo, LeagueMemberDistributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
import { GVGMainData, LeagueContributeInfo, LeagueMemberContributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
||||||
import { resResult } from "../../../pubUtils/util";
|
import { resResult } from "../../../pubUtils/util";
|
||||||
import { calLeagueCe, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
import { calLeagueCe, getGVGConfig, getGVGPeriodData, getGVGServerType, getServerTypeByTime } from "../../../services/gvg/gvgService";
|
||||||
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
import { autoCreateLeague, checkCanChooseJob, checkCanPrepare, checkLeagueAuth, getMyAuth } from "../../../services/gvg/gvgTeamService";
|
||||||
import { getAllServerName } from "../../../services/redisService";
|
import { getAllServerName } from "../../../services/redisService";
|
||||||
import { Distribute, GVGUserDataModel } from "../../../db/GVGUserData";
|
import { Contribute, GVGUserDataModel } from "../../../db/GVGUserData";
|
||||||
import { GVGUserItemModel } from "../../../db/GVGUserItem";
|
import { GVGUserItemModel } from "../../../db/GVGUserItem";
|
||||||
import { GVGUserTaskModel } from "../../../db/GVGUserTask";
|
import { GVGUserTaskModel } from "../../../db/GVGUserTask";
|
||||||
import { GVG } from "../../../pubUtils/dicParam";
|
import { GVG } from "../../../pubUtils/dicParam";
|
||||||
import { RoleModel } from "../../../db/Role";
|
import { RoleModel } from "../../../db/Role";
|
||||||
import { addGVGTechActive, calFighterDistribute, calProducerDistribute, checkPreTech, checkTechIsIng, getDailyLoginReward, getMyDistribute } from "../../../services/gvg/gvgPrepareService";
|
import { addGVGTechActive, calFighterContribute, calProducerContribute, checkPreTech, checkTechIsIng, getDailyLoginReward, getMyContribute } from "../../../services/gvg/gvgPrepareService";
|
||||||
import { GVGUserDailyDataModel } from "../../../db/GVGUserDailyData";
|
import { GVGUserDailyDataModel } from "../../../db/GVGUserDailyData";
|
||||||
import { gameData } from "../../../pubUtils/data";
|
import { gameData } from "../../../pubUtils/data";
|
||||||
import { lockLeagueData } from "../../../services/redLockService";
|
import { lockLeagueData } from "../../../services/redLockService";
|
||||||
@@ -153,7 +153,7 @@ export class GVGHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查看贡献
|
// 查看贡献
|
||||||
async getDistribute(msg: {}, session: BackendSession) {
|
async getContribute(msg: {}, session: BackendSession) {
|
||||||
const roleId = session.get('roleId');
|
const roleId = session.get('roleId');
|
||||||
const guildCode = session.get('guildCode');
|
const guildCode = session.get('guildCode');
|
||||||
|
|
||||||
@@ -169,35 +169,35 @@ export class GVGHandler {
|
|||||||
const serverNames = await getAllServerName();
|
const serverNames = await getAllServerName();
|
||||||
|
|
||||||
const myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
const myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
||||||
const { distribute = new Distribute(), box = [] } = myUserData||{};
|
const { contribute = new Contribute(), box = [] } = myUserData||{};
|
||||||
const userDatas = await GVGUserDataModel.findByRoles(configId, myLeague.leagueCode, roleIds);
|
const userDatas = await GVGUserDataModel.findByRoles(configId, myLeague.leagueCode, roleIds);
|
||||||
|
|
||||||
const result: LeagueDistributeInfo[] = [];
|
const result: LeagueContributeInfo[] = [];
|
||||||
for(let curJob of [LEAGUE_JOB.PRODUCER, LEAGUE_JOB.FIGHTER]) {
|
for(let curJob of [LEAGUE_JOB.PRODUCER, LEAGUE_JOB.FIGHTER]) {
|
||||||
const memberResult: LeagueMemberDistributeInfo[] = [];
|
const memberResult: LeagueMemberContributeInfo[] = [];
|
||||||
for(let member of members) {
|
for(let member of members) {
|
||||||
let role = roles.find(role => role.roleId == member.roleId);
|
let role = roles.find(role => role.roleId == member.roleId);
|
||||||
if(!role) continue;
|
if(!role) continue;
|
||||||
let userData = userDatas.find(userData => userData.roleId == member.roleId);
|
let userData = userDatas.find(userData => userData.roleId == member.roleId);
|
||||||
let obj = new LeagueMemberDistributeInfo(role, serverNames);
|
let obj = new LeagueMemberContributeInfo(role, serverNames);
|
||||||
obj.setAuth(member.auth);
|
obj.setAuth(member.auth);
|
||||||
obj.setByUserData(userData);
|
obj.setByUserData(userData);
|
||||||
if(curJob == LEAGUE_JOB.PRODUCER && calProducerDistribute(obj) > 0) memberResult.push(obj);
|
if(curJob == LEAGUE_JOB.PRODUCER && calProducerContribute(obj) > 0) memberResult.push(obj);
|
||||||
if(curJob == LEAGUE_JOB.FIGHTER && obj.score > 0) memberResult.push(obj);
|
if(curJob == LEAGUE_JOB.FIGHTER && obj.score > 0) memberResult.push(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
memberResult.sort((a, b) => {
|
memberResult.sort((a, b) => {
|
||||||
return curJob == LEAGUE_JOB.PRODUCER? calProducerDistribute(b) - calProducerDistribute(a): calFighterDistribute(b) - calFighterDistribute(a);
|
return curJob == LEAGUE_JOB.PRODUCER? calProducerContribute(b) - calProducerContribute(a): calFighterContribute(b) - calFighterContribute(a);
|
||||||
});
|
});
|
||||||
for(let i = 0; i < memberResult.length; i++) {
|
for(let i = 0; i < memberResult.length; i++) {
|
||||||
memberResult[i].setRank(i + 1);
|
memberResult[i].setRank(i + 1);
|
||||||
}
|
}
|
||||||
let sumDistribute = curJob == LEAGUE_JOB.PRODUCER? calProducerDistribute(distribute): calFighterDistribute(distribute);
|
let sumContribute = curJob == LEAGUE_JOB.PRODUCER? calProducerContribute(contribute): calFighterContribute(contribute);
|
||||||
let boxReceived = box.filter(boxId => {
|
let boxReceived = box.filter(boxId => {
|
||||||
let dicBox = gameData.gvgContributeBox.get(boxId);
|
let dicBox = gameData.gvgContributeBox.get(boxId);
|
||||||
return dicBox.job == curJob;
|
return dicBox.job == curJob;
|
||||||
});
|
});
|
||||||
let disObj = new LeagueDistributeInfo(curJob, sumDistribute, boxReceived);
|
let disObj = new LeagueContributeInfo(curJob, sumContribute, boxReceived);
|
||||||
disObj.setMembers(memberResult);
|
disObj.setMembers(memberResult);
|
||||||
result.push(disObj)
|
result.push(disObj)
|
||||||
}
|
}
|
||||||
@@ -206,7 +206,7 @@ export class GVGHandler {
|
|||||||
const myRanks = await GVGVestigeRankModel.findAllByRole(roleId);
|
const myRanks = await GVGVestigeRankModel.findAllByRole(roleId);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
myDistribute: getMyDistribute(userDailyData, myRanks),
|
myContribute: getMyContribute(userDailyData, myRanks),
|
||||||
list: result
|
list: result
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -229,17 +229,17 @@ export class GVGHandler {
|
|||||||
if(!dicBox) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
if(!dicBox) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||||
|
|
||||||
let myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
let myUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
||||||
let { distribute = new Distribute(), box = [] } = myUserData||{};
|
let { contribute = new Contribute(), box = [] } = myUserData||{};
|
||||||
|
|
||||||
if(box.indexOf(boxId) != -1) return resResult(STATUS.GVG_BOX_HAS_RECEIVED)
|
if(box.indexOf(boxId) != -1) return resResult(STATUS.GVG_BOX_HAS_RECEIVED)
|
||||||
let sumDistribute = dicBox.job == LEAGUE_JOB.PRODUCER? calProducerDistribute(distribute): calFighterDistribute(distribute);
|
let sumContribute = dicBox.job == LEAGUE_JOB.PRODUCER? calProducerContribute(contribute): calFighterContribute(contribute);
|
||||||
if(sumDistribute < dicBox.boxPoint) return resResult(STATUS.GVG_BOX_POINT_NOT_ENOUGH);
|
if(sumContribute < dicBox.boxPoint) return resResult(STATUS.GVG_BOX_POINT_NOT_ENOUGH);
|
||||||
|
|
||||||
const leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, dicBox.boxLeagueReward, dicBox.boxReward, ITEM_CHANGE_REASON.GVG_RECEIVE_BOX);
|
const leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, dicBox.boxLeagueReward, dicBox.boxReward, ITEM_CHANGE_REASON.GVG_RECEIVE_BOX);
|
||||||
myUserData = await GVGUserDataModel.receiveBox(configId, myLeague.leagueCode, roleId, boxId);
|
myUserData = await GVGUserDataModel.receiveBox(configId, myLeague.leagueCode, roleId, boxId);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
sumDistribute,
|
sumContribute,
|
||||||
receivedBox: myUserData.box,
|
receivedBox: myUserData.box,
|
||||||
leagueGoods
|
leagueGoods
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import { nowSeconds } from "../../../pubUtils/timeUtil";
|
|||||||
import { resResult } from "../../../pubUtils/util";
|
import { resResult } from "../../../pubUtils/util";
|
||||||
import { getGVGCities } from "../../../services/gvg/gvgBattleService";
|
import { getGVGCities } from "../../../services/gvg/gvgBattleService";
|
||||||
import { addGVGReward, getProduceCoinCnt, handleGVGCost } from "../../../services/gvg/gvgItemService";
|
import { addGVGReward, getProduceCoinCnt, handleGVGCost } from "../../../services/gvg/gvgItemService";
|
||||||
import { addGVGActive, addResource, getCostSeedReward, getItemIdOfSeedType, getLeagueFarmShowResult, getLockFieldCnt, getmyDistributeRank, rollbackUnPlantFields, lockField, calFarmOutput, sumOutputByResults, lockMineOrForestry, calMineOutput, calForestryOutput, checkItemCanUserInFarm } from "../../../services/gvg/gvgPrepareService";
|
import { addGVGActive, addResource, getCostSeedReward, getItemIdOfSeedType, getLeagueFarmShowResult, getLockFieldCnt, getmyContributeRank, rollbackUnPlantFields, lockField, calFarmOutput, sumOutputByResults, lockMineOrForestry, calMineOutput, calForestryOutput, checkItemCanUserInFarm } from "../../../services/gvg/gvgPrepareService";
|
||||||
import { getGVGConfig, getGVGPeriodData } from "../../../services/gvg/gvgService";
|
import { getGVGConfig, getGVGPeriodData } from "../../../services/gvg/gvgService";
|
||||||
import { sendMailByContent } from "../../../services/mailService";
|
import { sendMailByContent } from "../../../services/mailService";
|
||||||
import { getAllServerName, getRoleOnlineInfo } from "../../../services/redisService";
|
import { getAllServerName, getRoleOnlineInfo } from "../../../services/redisService";
|
||||||
@@ -151,7 +151,7 @@ export class GVGProduceHandler {
|
|||||||
if(dicResource.type == GVG_RESOURCE_TYPE.FOOD) {
|
if(dicResource.type == GVG_RESOURCE_TYPE.FOOD) {
|
||||||
await lockField(myLeague.leagueCode, roleId, roleName, farmId);
|
await lockField(myLeague.leagueCode, roleId, roleName, farmId);
|
||||||
}
|
}
|
||||||
const myRank = await getmyDistributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
const myRank = await getmyContributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId),
|
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId),
|
||||||
@@ -313,7 +313,7 @@ export class GVGProduceHandler {
|
|||||||
|
|
||||||
const lockResult = await lockMineOrForestry(myLeague.leagueCode, roleId, farmId, itemId);
|
const lockResult = await lockMineOrForestry(myLeague.leagueCode, roleId, farmId, itemId);
|
||||||
if(!lockResult) return resResult(STATUS.GVG_MINE_HAS_LOCKED);
|
if(!lockResult) return resResult(STATUS.GVG_MINE_HAS_LOCKED);
|
||||||
const myRank = await getmyDistributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
const myRank = await getmyContributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),
|
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),
|
||||||
@@ -440,7 +440,7 @@ export class GVGProduceHandler {
|
|||||||
|
|
||||||
const lockResult = await lockMineOrForestry(myLeague.leagueCode, roleId, farmId, itemId);
|
const lockResult = await lockMineOrForestry(myLeague.leagueCode, roleId, farmId, itemId);
|
||||||
if(!lockResult) return resResult(STATUS.GVG_MINE_HAS_LOCKED);
|
if(!lockResult) return resResult(STATUS.GVG_MINE_HAS_LOCKED);
|
||||||
const myRank = await getmyDistributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
const myRank = await getmyContributeRank(myLeague.leagueCode, myLeague.members, roleId);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),
|
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ export function checkRouteParam(route: string, msg: any) {
|
|||||||
case "guild.gvgHandler.getData":
|
case "guild.gvgHandler.getData":
|
||||||
case "guild.gvgHandler.getMap":
|
case "guild.gvgHandler.getMap":
|
||||||
case "guild.gvgHandler.getRec":
|
case "guild.gvgHandler.getRec":
|
||||||
case "guild.gvgHandler.getDistribute":
|
case "guild.gvgHandler.getContribute":
|
||||||
case "guild.gvgHandler.getTech":
|
case "guild.gvgHandler.getTech":
|
||||||
case "guild.gvgManageHandler.getApplies":
|
case "guild.gvgManageHandler.getApplies":
|
||||||
case "guild.gvgManageHandler.getLeagueInvitations":
|
case "guild.gvgManageHandler.getLeagueInvitations":
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ export function checkTechIsIng(techId: number, activeQueue: number[], techQueue:
|
|||||||
return techQueue.findIndex(cur => cur.id == techId) != -1 || activeQueue.indexOf(techId) != -1
|
return techQueue.findIndex(cur => cur.id == techId) != -1 || activeQueue.indexOf(techId) != -1
|
||||||
}
|
}
|
||||||
|
|
||||||
export function calProducerDistribute(obj: { food: number, mineral: number, wood: number }) {
|
export function calProducerContribute(obj: { food: number, mineral: number, wood: number }) {
|
||||||
let { food = 0, mineral = 0, wood = 0 } = obj||{};
|
let { food = 0, mineral = 0, wood = 0 } = obj||{};
|
||||||
return food + mineral + wood;
|
return food + mineral + wood;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function calFighterDistribute(obj: { score: number }) {
|
export function calFighterContribute(obj: { score: number }) {
|
||||||
return obj?.score||0
|
return obj?.score||0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ export async function getDailyLoginReward(roleId: string, roleName: string, sid:
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getMyDistribute(userDailyData: GVGUserDailyDataType, myRanks: {vestigeId: number, rank: number}[]) {
|
export function getMyContribute(userDailyData: GVGUserDailyDataType, myRanks: {vestigeId: number, rank: number}[]) {
|
||||||
let score = 0;
|
let score = 0;
|
||||||
for(let { vestigeId, rank} of myRanks) {
|
for(let { vestigeId, rank} of myRanks) {
|
||||||
let dicRankMap = gameData.gvgVestige.get(vestigeId);
|
let dicRankMap = gameData.gvgVestige.get(vestigeId);
|
||||||
@@ -129,10 +129,10 @@ export async function addResource(leagueCode: string, roleId: string, roleName:
|
|||||||
let userDailyData = await GVGUserDailyDataModel.addResource(configId, leagueCode, roleId, food, mineral, wood);
|
let userDailyData = await GVGUserDailyDataModel.addResource(configId, leagueCode, roleId, food, mineral, wood);
|
||||||
let myRanks = await GVGVestigeRankModel.findAllByRole(roleId);
|
let myRanks = await GVGVestigeRankModel.findAllByRole(roleId);
|
||||||
|
|
||||||
let myDistribute = getMyDistribute(userDailyData, myRanks);
|
let myContribute = getMyContribute(userDailyData, myRanks);
|
||||||
addResourceRecord(roleId, roleName, leagueCode, resourceType, count);
|
addResourceRecord(roleId, roleName, leagueCode, resourceType, count);
|
||||||
|
|
||||||
return { resource: league.resources, leagueLv: league.lv, myDistribute }
|
return { resource: league.resources, leagueLv: league.lv, myContribute }
|
||||||
}
|
}
|
||||||
|
|
||||||
function getResourceCnt(resourceType: GVG_RESOURCE_TYPE, count: number) {
|
function getResourceCnt(resourceType: GVG_RESOURCE_TYPE, count: number) {
|
||||||
@@ -284,12 +284,12 @@ export async function getLockFieldCnt(leagueCode: string, roleId: string) {
|
|||||||
return items.reduce((pre, cur) => pre + cur.count, 0);
|
return items.reduce((pre, cur) => pre + cur.count, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getmyDistributeRank(leagueCode: string, members: { roleId: string }[], targetRoleId: string) {
|
export async function getmyContributeRank(leagueCode: string, members: { roleId: string }[], targetRoleId: string) {
|
||||||
let { configId } = getGVGConfig();
|
let { configId } = getGVGConfig();
|
||||||
|
|
||||||
const roleIds = members.map(member => member.roleId);
|
const roleIds = members.map(member => member.roleId);
|
||||||
const userDatas = await GVGUserDataModel.findByRoles(configId, leagueCode, roleIds);
|
const userDatas = await GVGUserDataModel.findByRoles(configId, leagueCode, roleIds);
|
||||||
userDatas.sort((a, b) => calProducerDistribute(b.distribute) - calProducerDistribute(a.distribute));
|
userDatas.sort((a, b) => calProducerContribute(b.contribute) - calProducerContribute(a.contribute));
|
||||||
for(let i = 0; i < userDatas.length; i++) {
|
for(let i = 0; i < userDatas.length; i++) {
|
||||||
if(userDatas[i].roleId == targetRoleId) return i + 1;
|
if(userDatas[i].roleId == targetRoleId) return i + 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class ActiveRec {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Distribute {
|
export class Contribute {
|
||||||
@prop({ required: true, default: 0 })
|
@prop({ required: true, default: 0 })
|
||||||
food: number = 0; // 粮食
|
food: number = 0; // 粮食
|
||||||
@prop({ required: true, default: 0 })
|
@prop({ required: true, default: 0 })
|
||||||
@@ -60,7 +60,7 @@ export default class GVGUserData extends BaseModel {
|
|||||||
box: number[];
|
box: number[];
|
||||||
|
|
||||||
@prop({ required: true, default: {}, _id: false })
|
@prop({ required: true, default: {}, _id: false })
|
||||||
distribute: Distribute;
|
contribute: Contribute;
|
||||||
|
|
||||||
@prop({ required: true, default: 0 })
|
@prop({ required: true, default: 0 })
|
||||||
sendFightRewardTime: number; // 发送征战奖励的时间
|
sendFightRewardTime: number; // 发送征战奖励的时间
|
||||||
@@ -103,14 +103,14 @@ export default class GVGUserData extends BaseModel {
|
|||||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({
|
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({
|
||||||
configId, leagueCode, roleId
|
configId, leagueCode, roleId
|
||||||
}, {
|
}, {
|
||||||
$inc: { 'distribute.food': food, 'distribute.mineral': mineral, 'distribute.wood': wood }
|
$inc: { 'contribute.food': food, 'contribute.mineral': mineral, 'contribute.wood': wood }
|
||||||
}, { new: true, upsert: true }).lean();
|
}, { new: true, upsert: true }).lean();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async addVestigeScores(configId: number, memberScores: { leagueCode: string, roleId: string, score: number }[]) {
|
public static async addVestigeScores(configId: number, memberScores: { leagueCode: string, roleId: string, score: number }[]) {
|
||||||
await GVGUserDataModel.bulkWrite(memberScores.map(({ leagueCode, roleId, score }) => {
|
await GVGUserDataModel.bulkWrite(memberScores.map(({ leagueCode, roleId, score }) => {
|
||||||
return { updateOne: { filter: { configId, leagueCode, roleId }, update: { $inc: { 'distribute.score': score } } } }
|
return { updateOne: { filter: { configId, leagueCode, roleId }, update: { $inc: { 'contribute.score': score } } } }
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ export class LeagueMemberListInfo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LeagueMemberDistributeInfo extends LeagueMemberListInfo{
|
export class LeagueMemberContributeInfo extends LeagueMemberListInfo{
|
||||||
rank: number = 0;
|
rank: number = 0;
|
||||||
food: number = 0;
|
food: number = 0;
|
||||||
mineral: number = 0;
|
mineral: number = 0;
|
||||||
@@ -282,10 +282,10 @@ export class LeagueMemberDistributeInfo extends LeagueMemberListInfo{
|
|||||||
if(!data) return;
|
if(!data) return;
|
||||||
this.active = data.active;
|
this.active = data.active;
|
||||||
this.job = data.job;
|
this.job = data.job;
|
||||||
this.food = data.distribute?.food||0;
|
this.food = data.contribute?.food||0;
|
||||||
this.mineral = data.distribute?.mineral||0;
|
this.mineral = data.contribute?.mineral||0;
|
||||||
this.wood = data.distribute?.wood||0;
|
this.wood = data.contribute?.wood||0;
|
||||||
this.score = data.distribute?.score||0
|
this.score = data.contribute?.score||0
|
||||||
}
|
}
|
||||||
|
|
||||||
setRank(rank: number) {
|
setRank(rank: number) {
|
||||||
@@ -293,19 +293,19 @@ export class LeagueMemberDistributeInfo extends LeagueMemberListInfo{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LeagueDistributeInfo {
|
export class LeagueContributeInfo {
|
||||||
job: number; // 1-内政 2-外政
|
job: number; // 1-内政 2-外政
|
||||||
sumDistribute: number; // 总贡献(宝箱显示)
|
sumContribute: number; // 总贡献(宝箱显示)
|
||||||
receivedBox: number[]; // 已领取的宝箱id
|
receivedBox: number[]; // 已领取的宝箱id
|
||||||
members: LeagueMemberDistributeInfo[];
|
members: LeagueMemberContributeInfo[];
|
||||||
|
|
||||||
constructor(job: number, sumDistribute: number, receivedBox: number[]) {
|
constructor(job: number, sumContribute: number, receivedBox: number[]) {
|
||||||
this.job = job;
|
this.job = job;
|
||||||
this.sumDistribute = sumDistribute||0;
|
this.sumContribute = sumContribute||0;
|
||||||
this.receivedBox = receivedBox||[];
|
this.receivedBox = receivedBox||[];
|
||||||
}
|
}
|
||||||
|
|
||||||
setMembers(members: LeagueMemberDistributeInfo[]) {
|
setMembers(members: LeagueMemberContributeInfo[]) {
|
||||||
this.members = members;
|
this.members = members;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user