🐞 fix(gvg): 内政帮收改为按玩家收获

This commit is contained in:
luying
2023-02-09 16:55:21 +08:00
parent e1004d4960
commit 83cf8db9fe
4 changed files with 19 additions and 14 deletions

View File

@@ -262,28 +262,27 @@ export class GVGProduceHandler {
}
// 帮收
async helpHarvest(msg: { farmId: number, fieldId: number }, session: BackendSession) {
async helpHarvest(msg: { farmId: number, roleId: string }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const { farmId, fieldId } = msg;
const { farmId, roleId: targetRoleId } = msg;
let { configId, period } = getGVGPeriodData();
if(period != GVG_PERIOD.PREPARE) return resResult(STATUS.GVG_NOT_PREPARE_PERIOD);
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
const resultField = await GVGLeagueFarmModel.helpHarvest(configId, myLeague.leagueCode, farmId, fieldId); // 解锁
if(!resultField) return resResult(STATUS.GVG_CANNOT_HARVEST);
const resultField = await GVGLeagueFarmModel.helpHarvest(configId, myLeague.leagueCode, farmId, targetRoleId); // 解锁
if(!resultField || resultField.length == 0) return resResult(STATUS.GVG_CANNOT_HARVEST);
let targetRoleId = resultField.lockRoleId;
let targetOnlineInfo = await getRoleOnlineInfo(targetRoleId);
// 计算产量
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults([resultField]);
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults(resultField);
// 资源
await addResource(myLeague.leagueCode, targetRoleId, resultField.lockRoleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
await addResource(myLeague.leagueCode, targetRoleId, resultField[0].lockRoleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
await sendMailByContent(MAIL_TYPE.HELP_HARVEST, targetRoleId, { sendName: roleName, goods: rewardSum });
// 相关物品
await addGVGReward(targetRoleId, roleName, myLeague.leagueCode, targetOnlineInfo.sid, leagueRewardSum, [], ITEM_CHANGE_REASON.HARVEST)