feat(gvg): 每日首次获得

This commit is contained in:
luying
2023-01-09 19:40:36 +08:00
parent 098a7c85c6
commit 2b96f6be6a
7 changed files with 68 additions and 18 deletions

View File

@@ -12,7 +12,7 @@ import { GVGUserItemModel } from "../../../db/GVGUserItem";
import { GVGUserTaskModel } from "../../../db/GVGUserTask";
import { GVG } from "../../../pubUtils/dicParam";
import { RoleModel } from "../../../db/Role";
import { addGVGActive, calProduce, checkPreTech, checkTechIsIng } from "../../../services/gvg/gvgPrepareService";
import { addGVGActive, addGVGTechActive, calProduce, checkPreTech, checkTechIsIng, getDailyLoginReward, getGVGDailyItems } from "../../../services/gvg/gvgPrepareService";
import { GVGUserDailyDataModel } from "../../../db/GVGUserDailyData";
import { gameData } from "../../../pubUtils/data";
import { lockLeagueData } from "../../../services/redLockService";
@@ -33,8 +33,10 @@ export class GVGHandler {
// 测试
async getData(msg: {}, session: BackendSession) {
const roleId = session.get('roleId');
const guildCode = session.get('guildCode');
const roleName = session.get('roleName');
const serverId = session.get('serverId');
const guildCode = session.get('guildCode');
const sid = session.get('sid');
let { configId, period, countdownTime } = getGVGPeriodData();
let serverType = await getGVGServerType(serverId);
@@ -57,6 +59,9 @@ export class GVGHandler {
let items = await GVGUserItemModel.findByRole(configId, league.leagueCode, roleId);
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);
}
return resResult(STATUS.SUCCESS, data)
@@ -71,6 +76,8 @@ export class GVGHandler {
// 选择职能
async chooseJob(msg: { job: number }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const sid = session.get('sid');
const guildCode = session.get('guildCode');
const { job } = msg;
@@ -97,12 +104,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);
return resResult(STATUS.SUCCESS, {
return resResult(STATUS.SUCCESS, {
leagueCode: myLeague.leagueCode,
job: myUserData.job,
producerCnt: leaguePrepare.producerCnt,
fighterCnt: leaguePrepare.fighterCnt
fighterCnt: leaguePrepare.fighterCnt,
leagueGoods: dailyReward? dailyReward: []
});
}
@@ -270,7 +279,7 @@ export class GVGHandler {
}
// 添加 活跃
let active = await addGVGActive(myLeague.leagueCode, roleId, GVG_ACTIVE_TYPE.TECH_ACTIVATE);
let active = await addGVGTechActive(myLeague.leagueCode, roleId);
return resResult(STATUS.SUCCESS, {
active,