feat(gvg): 动态

This commit is contained in:
luying
2023-01-17 14:27:13 +08:00
parent 72a25640aa
commit aab08f7ed5
14 changed files with 191 additions and 41 deletions

View File

@@ -135,6 +135,7 @@ export class GVGProduceHandler {
// 小游戏界面
async getMyFarm(msg: { farmId: number }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const { farmId } = msg;
@@ -145,7 +146,7 @@ export class GVGProduceHandler {
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
await lockField(myLeague.leagueCode, roleId, farmId);
await lockField(myLeague.leagueCode, roleId, roleName, farmId);
const myRank = await getmyDistributeRank(myLeague.leagueCode, myLeague.members, roleId);
return resResult(STATUS.SUCCESS, {
@@ -220,13 +221,13 @@ export class GVGProduceHandler {
// 计算产量
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults(myResultFields);
// 资源
let resourceResult = await addResource(myLeague.leagueCode, roleId, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
// 相关物品
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueRewardSum, rewardSum, ITEM_CHANGE_REASON.HARVEST)
// 活跃
const active = await addGVGActive(myLeague.leagueCode, roleId, GVG_ACTIVE_TYPE.COST_PRODUCE_COIN, activeSum);
// 收获后再次预锁定一批田
await lockField(myLeague.leagueCode, roleId, farmId);
await lockField(myLeague.leagueCode, roleId, roleName, farmId);
await GVGLeagueFarmRecModel.updateRecs(myResultFields, roleId);
return resResult(STATUS.SUCCESS, {
@@ -276,7 +277,7 @@ export class GVGProduceHandler {
// 计算产量
const { foodSum, rewardSum, leagueRewardSum, activeSum } = await sumOutputByResults([resultField]);
// 资源
await addResource(myLeague.leagueCode, targetRoleId, GVG_RESOURCE_TYPE.FOOD, foodSum)||{};
await addResource(myLeague.leagueCode, targetRoleId, resultField.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)
@@ -361,7 +362,7 @@ export class GVGProduceHandler {
let { reward, leagueReward, leagueConsume } = dicGVGItem;
let produceCoin = getProduceCoinCnt(leagueConsume);
// 资源
let resourceResult = await addResource(myLeague.leagueCode, roleId, GVG_RESOURCE_TYPE.MINERAL, output)||{};
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.MINERAL, output)||{};
// 相关物品
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
// 活跃
@@ -480,7 +481,7 @@ export class GVGProduceHandler {
let { reward, leagueReward, leagueConsume } = dicGVGItem;
let produceCoin = getProduceCoinCnt(leagueConsume);
// 资源
let resourceResult = await addResource(myLeague.leagueCode, roleId, GVG_RESOURCE_TYPE.WOOD, output)||{};
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, GVG_RESOURCE_TYPE.WOOD, output)||{};
// 相关物品
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
// 活跃
@@ -497,13 +498,14 @@ export class GVGProduceHandler {
// 获取资源
async debugAddResource(msg: { type: number, count: number }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const { type, count } = msg;
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
let resourceResult = await addResource(myLeague.leagueCode, roleId, type, count);
let resourceResult = await addResource(myLeague.leagueCode, roleId, roleName, type, count);
if(!resourceResult) return resResult(STATUS.WRONG_PARMS);
return resResult(STATUS.SUCCESS, resourceResult);