活动:30天任务减少查询

This commit is contained in:
luying
2022-05-21 20:13:44 +08:00
parent 48a87b3023
commit f4a27f9a6e
4 changed files with 15 additions and 44 deletions

View File

@@ -1,7 +1,7 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays } from '../../../services/activity/thirtyDaysService';
import { getPlayerThirtyDaysData } from '../../../services/activity/thirtyDaysService';
import { ThirtyDaysData, ThirtyDaysItem, ThirtyDaysPointItem } from '../../../domain/activityField/thirtyDaysField';
import { ActivityThirtyDaysModel } from '../../../db/ActivityThirtyDays';
import { ActivityThirtyDaysPointRewardModel } from '../../../db/ActivityThirtyDaysPointReward';
@@ -35,12 +35,10 @@ export class ThirtyDaysHandler {
const roleId = session.get('roleId');
const serverId = session.get('serverId');
let todayIndex = await playerThirtyDaysActivityDays(roleId)
let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_THIRTY_DAYS_END);
return resResult(STATUS.SUCCESS, { playerData, todayIndex });
return resResult(STATUS.SUCCESS, { playerData, todayIndex: playerData.todayIndex });
}
/**
@@ -56,8 +54,6 @@ export class ThirtyDaysHandler {
const sid = session.get('sid');
const roleName = session.get('roleName');
let todayIndex = await playerThirtyDaysActivityDays(roleId);//玩家当前的天数
let activityArray = await getActivitiesByType(serverId, ACTIVITY_TYPE.THIRTY_DAYS);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
@@ -93,9 +89,9 @@ export class ThirtyDaysHandler {
return resResult(STATUS.ACTIVITY_REWARDED);
}
if (activityDays < todayIndex && todayIndex <= (activityDays + playerData.days)) {//时间正常范围内
if (activityDays < playerData.todayIndex && playerData.todayIndex <= (activityDays + playerData.days)) {//时间正常范围内
} else if (todayIndex > (activityDays + playerData.days)) {//活动已经过期
} else if (playerData.todayIndex > (activityDays + playerData.days)) {//活动已经过期
// console.log('过期奖励')
let expiredItems: Array<ThirtyDaysPointItem> = playerData.needMark();
let cells = expiredItems.map(obj => obj.cellIndex)

View File

@@ -6,7 +6,7 @@ import { getPlayerLimitPackageData, } from './limitPackageService';
import { getPlayerYuanbaoShopData, } from './yuanbaoService';
import { getPlayerMonthlyTicketData, } from './monthlyTicketService';
import { getPlayerRechargeMoneyDataShow, } from './rechargeMoneyService';
import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays, } from './thirtyDaysService';
import { getPlayerThirtyDaysData } from './thirtyDaysService';
import { getPlayerVipRechargeMoneyData, } from './vipRechargeMoneyService';
import { getPlayerActivityData, } from './selfServiceShopActivityService';
import { ActivitySelfServiceGoodsModel } from '../../db/ActivitySelfServiceGoods';
@@ -73,8 +73,9 @@ export async function getActivity(serverId: number, roleId: string, guildCode: s
case ACTIVITY_TYPE.THIRTY_DAYS://30天目标活动 12
{
let data = await getPlayerThirtyDaysData(activityId, serverId, roleId);
let todayIndex = await playerThirtyDaysActivityDays(roleId);
activityData = { playerData: data, todayIndex, canShow: () => data.canShow }
if(data.canShow()) {
activityData = { playerData: data, todayIndex: data.todayIndex }
}
break;
}
case ACTIVITY_TYPE.SELF_SERVICE_SHOP://自选商店 糜家商队 13

View File

@@ -1,11 +1,6 @@
import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../../db/ActivityThirtyDays';
import { ThirtyDaysData } from '../../domain/activityField/thirtyDaysField';
import { ActivityThirtyDaysPointRewardModel, ActivityThirtyDaysPointRewardModelType } from '../../db/ActivityThirtyDaysPointReward';
import { RoleModel } from '../../db/Role';
import moment = require('moment');
import { deltaDays } from '../../pubUtils/util';
import { ServerlistModel } from '../../db/Serverlist';
import { getActivitiesByType, getActivityById } from './activityService';
import { getRoleCreateTime, getServerCreateTime } from '../redisService';
@@ -74,22 +69,4 @@ export async function addPlayerThirtyDaysTask(activityId: number, serverId: numb
playerData.setPlayerRecords(playerRecords);
playerData.setPlayerPointRecords(playerPointRecords);
return playerData;
}
/**
* 玩家活动第几天
*
* @param {number} serverId 区Id
* @param {number} activityId 活动Id
* @param {string} roleId 角色Id
*
*/
export async function playerThirtyDaysActivityDays(roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let createDate = moment(createTime * 1000).toDate();
let todayIndex = deltaDays(moment(createDate).startOf('d').toDate(), new Date) + 1;
return todayIndex;
}
{
}

View File

@@ -1,22 +1,19 @@
import Marquee, { MarqueeType, MarqueeModel } from "../db/Marquee";
import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, REF_CIRCLE_MAIL_TIME, SERVER_STATUS, SURVEY_SELECT } from "../consts";
import { MarqueeType, MarqueeModel } from "../db/Marquee";
import { ACTIVITY_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, SURVEY_SELECT } from "../consts";
import { scheduleJob, scheduledJobs, Job } from 'node-schedule';
import { createMarqueeMsg as sysCreateMarqueeMsg, pushMarqueeMsg as sysPushMarqueeMsg } from './sysChatService';
import { GroupMessageType } from "../db/GroupMessage";
import { pinus } from "pinus";
import { getWorldChannelSid } from "./chatChannelService";
import { ServerlistModel, ServerlistType } from "../db/Serverlist";
import { NoticeModel, NoticeType } from "../db/Notice";
import { SendMailFun, sendMailsByGmMail } from "./mailService";
import GMMail, { GMMailModel, GMMailType } from '../db/GMMail';
import moment = require("moment");
import { getSeconds, nowSeconds } from "../pubUtils/timeUtil";
import { sendMailsByGmMail } from "./mailService";
import GMMail, { GMMailModel } from '../db/GMMail';
import { nowSeconds } from "../pubUtils/timeUtil";
import { CreateServerParam } from "../domain/backEndField/params";
import { SignInData } from "../domain/activityField/signInField";
import { RegionModel, RegionType } from "../db/Region";
import { GMMail as StategyMail } from "../db/ServerStategy";
import { uniq } from "underscore";
import { ActivityModel, ActivityModelType } from "../db/Activity";
import { ActivityModelType } from "../db/Activity";
import { dicRMB } from "../pubUtils/dictionary/DicRMB";
import { LimitShopData } from "../domain/activityField/limitShopField";
import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField";
@@ -28,7 +25,7 @@ import { TreasureHuntData } from "../domain/activityField/treasureHuntField";
import { RefreshShopData } from "../domain/activityField/refreshShopField";
import { RoleType } from "../db/Role";
import { MonopolyData } from "../domain/activityField/monopolyField";
import { ActivityPopUpShopModel, ActivityPopUpShopModelType, PopUpShopItem } from "../db/ActivityPopUpShop";
import { ActivityPopUpShopModel, PopUpShopItem } from "../db/ActivityPopUpShop";
import { getActivitiesByType } from "./activity/activityService";
import { SurveyModel } from "../db/Survery";
import { SurveyRecModel } from "../db/SurveyRec";