✨ feat(gvg): 农庄
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Application, BackendSession, ChannelService, HandlerService, pinus } from "pinus";
|
||||
import { BATTLE_FEAT_ID, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS } from "../../../consts";
|
||||
import { GVG_ITEM, DATA_NAME, GVG_ACTIVE_TYPE, GVG_PERIOD, GVG_SERVER_TYPE, ITEM_CHANGE_REASON, LEAGUE_JOB, LEAGUE_MANAGE_TYPE, STATUS } from "../../../consts";
|
||||
import { GVGLeagueModel } from "../../../db/GVGLeague";
|
||||
import { GVGLeaguePrepareModel } from "../../../db/GVGLeaguePrepare";
|
||||
import { GVGMainData, LeagueDistributeInfo, LeagueMemberDistributeInfo, LeagueMemberListInfo } from "../../../domain/gvgField/returnData";
|
||||
@@ -12,13 +12,13 @@ import { GVGUserItemModel } from "../../../db/GVGUserItem";
|
||||
import { GVGUserTaskModel } from "../../../db/GVGUserTask";
|
||||
import { GVG } from "../../../pubUtils/dicParam";
|
||||
import { RoleModel } from "../../../db/Role";
|
||||
import { addGVGActive, addGVGTechActive, calProduce, checkPreTech, checkTechIsIng, getDailyLoginReward, getGVGDailyItems } from "../../../services/gvg/gvgPrepareService";
|
||||
import { addGVGTechActive, calProduce, checkPreTech, checkTechIsIng, getDailyLoginReward, getMyDistribute } from "../../../services/gvg/gvgPrepareService";
|
||||
import { GVGUserDailyDataModel } from "../../../db/GVGUserDailyData";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { lockLeagueData } from "../../../services/redLockService";
|
||||
import { addGVGReward, handleGVGCost } from "../../../services/gvg/gvgItemService";
|
||||
import { RewardInter } from "../../../pubUtils/interface";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { getGVGCities } from "../../../services/gvg/gvgBattleService";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -61,10 +61,13 @@ export class GVGHandler {
|
||||
let tasks = await GVGUserTaskModel.findByRole(configId, league.leagueCode, roleId);
|
||||
data.setPlayerInfo(userData, getMyAuth(league, roleId), await checkCanPrepare(roleId), checkCanChooseJob(userData?.job, leaguePrepare), items, tasks);
|
||||
|
||||
let { reward: dailyReward } = await getDailyLoginReward(roleId, roleName, sid, league.leagueCode, userData?.job);
|
||||
if(dailyReward) data.setFistLogin(dailyReward);
|
||||
let dailyReward = await getDailyLoginReward(roleId, roleName, sid, league.leagueCode, userData?.job);
|
||||
if(dailyReward) data.setFistLogin(dailyReward.reward);
|
||||
|
||||
data.setLeagueCe(await calLeagueCe(league));
|
||||
|
||||
let cities = await getGVGCities(league);
|
||||
data.setCities(cities);
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, data)
|
||||
@@ -107,14 +110,14 @@ export class GVGHandler {
|
||||
myUserData = await GVGUserDataModel.chooseJob(configId, myLeague.leagueCode, roleId, job);
|
||||
// 更新prepare
|
||||
leaguePrepare = await GVGLeaguePrepareModel.chooseJob(configId, myLeague.leagueCode, job);
|
||||
let { reward: dailyReward } = await getDailyLoginReward(roleId, roleName, sid, myLeague.leagueCode, myUserData?.job);
|
||||
let dailyReward = await getDailyLoginReward(roleId, roleName, sid, myLeague.leagueCode, myUserData?.job);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
leagueCode: myLeague.leagueCode,
|
||||
job: myUserData.job,
|
||||
producerCnt: leaguePrepare.producerCnt,
|
||||
fighterCnt: leaguePrepare.fighterCnt,
|
||||
leagueGoods: dailyReward? dailyReward: []
|
||||
leagueGoods: dailyReward? dailyReward.reward: []
|
||||
});
|
||||
}
|
||||
|
||||
@@ -161,15 +164,10 @@ export class GVGHandler {
|
||||
result.push(disObj)
|
||||
}
|
||||
|
||||
const myDistribute = await GVGUserDailyDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
||||
const userDailyData = await GVGUserDailyDataModel.findByRole(configId, myLeague.leagueCode, roleId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
myDistribute: {
|
||||
food: myDistribute?.food||0,
|
||||
mineral: myDistribute?.mineral||0,
|
||||
wood: myDistribute?.wood||0,
|
||||
score: myDistribute?.score||0,
|
||||
},
|
||||
myDistribute: getMyDistribute(userDailyData),
|
||||
list: result
|
||||
});
|
||||
}
|
||||
@@ -269,7 +267,7 @@ export class GVGHandler {
|
||||
}
|
||||
|
||||
// 扣战功
|
||||
const costResult = await handleGVGCost(roleId, myLeague.leagueCode, sid, [{ id: BATTLE_FEAT_ID, count: battleFeats }], [], ITEM_CHANGE_REASON.GVG_ACTIVE_TECH);
|
||||
const costResult = await handleGVGCost(roleId, myLeague.leagueCode, sid, [{ id: GVG_ITEM.BATTLE_FEAT, count: battleFeats }], [], ITEM_CHANGE_REASON.GVG_ACTIVE_TECH);
|
||||
if(!costResult) return resResult(STATUS.GVG_BATTLE_FEAT_NOT_ENOUGH);
|
||||
|
||||
leaguePrepare = await GVGLeaguePrepareModel.addProgress(configId, myLeague.leagueCode, techId, battleFeats);
|
||||
|
||||
Reference in New Issue
Block a user