feat(gvg): 任务

This commit is contained in:
luying
2023-01-18 10:02:31 +08:00
parent aab08f7ed5
commit 6619e33995
16 changed files with 332 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
import { Application, BackendSession, ChannelService, HandlerService } from "pinus";
import { GVG_ACTIVE_TYPE, GVG_ITEM, GVG_ITEM_TYPE, GVG_PERIOD, GVG_RESOURCE_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, STATUS } from "../../../consts";
import { GVG_ACTIVE_TYPE, GVG_ITEM, GVG_ITEM_TYPE, GVG_PERIOD, GVG_RESOURCE_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, STATUS, TASK_TYPE } from "../../../consts";
import { GVGLeagueModel } from "../../../db/GVGLeague";
import { GVGLeagueFarmModel, GVGLeagueFarmType } from "../../../db/GVGLeagueFarm";
import { GVGLeagueFarmRecModel } from "../../../db/GVGLeagueFarmRec";
@@ -17,6 +17,7 @@ import { addGVGActive, addResource, getCostSeedReward, getItemIdOfSeedType, getL
import { getGVGConfig, getGVGPeriodData } from "../../../services/gvg/gvgService";
import { sendMailByContent } from "../../../services/mailService";
import { getAllServerName, getRoleOnlineInfo } from "../../../services/redisService";
import { checkGVGTask } from "../../../services/task/taskService";
export default function (app: Application) {
@@ -158,7 +159,7 @@ export class GVGProduceHandler {
// 种田
async plant(msg: { farmId: number, seeds: { fieldId: number, seedType: number }[] }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const serverId = session.get('serverId');
const guildCode = session.get('guildCode');
const sid = session.get('sid');
@@ -196,6 +197,7 @@ export class GVGProduceHandler {
const plantResult = await GVGLeagueFarmModel.plant(configId, myLeague.leagueCode, farmId, updateFields, roleId);
await rollbackUnPlantFields(cost, plantResult, session, myLeague.leagueCode); // 可能会有田已经被其他人占领的情况,将种子还回去
await GVGLeagueFarmRecModel.insertRecs(plantResult);
checkGVGTask(serverId, roleId, sid, configId, myLeague.leagueCode, TASK_TYPE.GVG_FARM, { count: 1 });
return resResult(STATUS.SUCCESS, {
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId)
@@ -324,6 +326,7 @@ export class GVGProduceHandler {
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const sid = session.get('sid');
const serverId = session.get('serverId');
const { farmId, fieldId, result } = msg;
let { configId, period } = getGVGPeriodData();
@@ -367,6 +370,7 @@ export class GVGProduceHandler {
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
// 活跃
const active = await addGVGActive(myLeague.leagueCode, roleId, GVG_ACTIVE_TYPE.COST_PRODUCE_COIN, produceCoin);
checkGVGTask(serverId, roleId, sid, configId, myLeague.leagueCode, TASK_TYPE.GVG_FARM, { count: 1 });
return resResult(STATUS.SUCCESS, {
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),
@@ -449,6 +453,7 @@ export class GVGProduceHandler {
const roleName = session.get('roleName');
const guildCode = session.get('guildCode');
const sid = session.get('sid');
const serverId = session.get('serverId');
const { farmId, fieldId, result } = msg;
let { configId, period } = getGVGPeriodData();
@@ -486,6 +491,7 @@ export class GVGProduceHandler {
let leagueGoods = await addGVGReward(roleId, roleName, myLeague.leagueCode, sid, leagueReward, reward, ITEM_CHANGE_REASON.HARVEST)
// 活跃
const active = await addGVGActive(myLeague.leagueCode, roleId, GVG_ACTIVE_TYPE.COST_PRODUCE_COIN, produceCoin);
checkGVGTask(serverId, roleId, sid, configId, myLeague.leagueCode, TASK_TYPE.GVG_FARM, { count: 1 });
return resResult(STATUS.SUCCESS, {
...await getLeagueFarmShowResult(myLeague.leagueCode, roleId, farmId, false),