活动:修改30天任务的数据结构
This commit is contained in:
@@ -15,7 +15,7 @@ export class DailyRMBGiftsHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
/************************每日特惠礼包RMB购买4挡,一次性支付购买7天,每天只能领取当天的礼包奖励****************************/
|
||||
/************************每日特惠礼包RMB购买4挡,有可能免费,一次性支付购买7天,每天只能领取当天的礼包奖励****************************/
|
||||
|
||||
/**
|
||||
* @description 获取每日特惠礼包活动数据
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Application, BackendSession } from 'pinus';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { STATUS, ACTIVITY_TYPE } from '../../../consts';
|
||||
import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays, thirtyDaysActivity } from '../../../services/thirtyDaysService';
|
||||
import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays } from '../../../services/thirtyDaysService';
|
||||
import { ThirtyDaysData, ThirtyDaysItem, ThirtyDaysPointItem } from '../../../domain/activityField/thirtyDaysField';
|
||||
import { ActivityThirtyDaysModel } from '../../../db/ActivityThirtyDays';
|
||||
import { ActivityThirtyDaysPointRewardModel } from '../../../db/ActivityThirtyDaysPointReward';
|
||||
@@ -42,12 +42,12 @@ export class ThirtyDaysHandler {
|
||||
|
||||
/**
|
||||
* @description 获取30天完成任务的奖励
|
||||
* @param {{ activityId: number, pageIndex: number, cellIndex: number}} msg
|
||||
* @param {{ activityId: number, pageIndex: number, cellIndex: number,tab: number}} msg
|
||||
* @param {BackendSession} session
|
||||
* @memberof ThirtyDaysHandler
|
||||
*/
|
||||
async getThirtyDaysCellReward(msg: { activityId: number, pageIndex: number, cellIndex: number }, session: BackendSession) {
|
||||
const { activityId, pageIndex, cellIndex } = msg;
|
||||
async getThirtyDaysCellReward(msg: { activityId: number, pageIndex: number, cellIndex: number, tab: number }, session: BackendSession) {
|
||||
const { activityId, pageIndex, cellIndex, tab } = msg;
|
||||
const roleId = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
const sid = session.get('sid');
|
||||
@@ -71,7 +71,7 @@ export class ThirtyDaysHandler {
|
||||
let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId)
|
||||
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
|
||||
|
||||
let thirtyDaysItemData: ThirtyDaysItem = playerData.findThirtyDaysItem(pageIndex, cellIndex);
|
||||
let thirtyDaysItemData: ThirtyDaysItem = playerData.findThirtyDaysItem(pageIndex, cellIndex, tab);
|
||||
if (!thirtyDaysItemData) {
|
||||
return resResult(STATUS.ACTIVITY_DATA_ERROR);
|
||||
}
|
||||
@@ -93,11 +93,10 @@ export class ThirtyDaysHandler {
|
||||
return resResult(STATUS.ACTIVITY_TIME_ERROR);
|
||||
}
|
||||
|
||||
await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex);
|
||||
await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex, tab);
|
||||
|
||||
let rewardParamArr: Array<RewardParam> = stringToRewardParam(thirtyDaysItemData.reward);
|
||||
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
|
||||
|
||||
thirtyDaysItemData.isReceive = true;
|
||||
return resResult(STATUS.SUCCESS, Object.assign(result, {
|
||||
param: { activityId, pageIndex, cellIndex },
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import { ACTIVITY_TYPE, REFRESH_TIME, STATUS, TASK_TYPE } from '../consts';
|
||||
import { ACTIVITY_TYPE, STATUS } from '../consts';
|
||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||
import { ActivityDailyRMBGiftsModel, ActivityDailyRMBGiftsModelType } from '../db/ActivityDailyRMBGifts';
|
||||
import { DailyRMBGiftsData, DailyRMBGiftsItem } from '../domain/activityField/dailyRMBGiftsField';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { DailyRMBGiftsData } from '../domain/activityField/dailyRMBGiftsField';
|
||||
import moment = require('moment');
|
||||
import { UserOrderModel, UserOrderModelType } from '../db/UserOrder';
|
||||
import { RewardParam } from '../domain/activityField/rewardField';
|
||||
import { addReward, stringToRewardParam } from './giftPackageService';
|
||||
import { ServerlistModel } from '../db/Serverlist';
|
||||
@@ -42,15 +40,14 @@ export async function getPlayerDailyGiftsData(activityId: number, serverId: numb
|
||||
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
|
||||
|
||||
let playerData = new DailyRMBGiftsData(activityData);
|
||||
let productID = playerData.productID;
|
||||
|
||||
let playerOrders: UserOrderModelType[] = await UserOrderModel.findPlayerOrder(productID, roleId, activityId, 1);
|
||||
let buyTime = moment(new Date()).startOf('d').toDate()
|
||||
let endTime = null;
|
||||
if (playerOrders.length > 0) {
|
||||
buyTime = playerOrders[0].createdAt;//购买时候的日期
|
||||
endTime = moment(buyTime).add(7, 'd').endOf('d').toDate()
|
||||
}
|
||||
// let productID = playerData.productID;
|
||||
// let playerOrders: UserOrderModelType[] = await UserOrderModel.findPlayerOrder(productID, roleId, activityId, 1);
|
||||
// let buyTime = moment(new Date()).startOf('d').toDate()
|
||||
// let endTime = null;
|
||||
// if (playerOrders.length > 0) {
|
||||
// buyTime = playerOrders[0].createdAt;//购买时候的日期
|
||||
// endTime = moment(buyTime).add(7, 'd').endOf('d').toDate()
|
||||
// }
|
||||
let playerRecord: ActivityDailyRMBGiftsModelType = await ActivityDailyRMBGiftsModel.findRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate());
|
||||
let unReceiveRecord: ActivityDailyRMBGiftsModelType[] = await ActivityDailyRMBGiftsModel.findBuyRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate());
|
||||
|
||||
@@ -78,6 +75,11 @@ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string,
|
||||
let playerData = new DailyRMBGiftsData(activityData);
|
||||
let bigGiftProductID = playerData.productID;
|
||||
if (bigGiftProductID == productID) {//一次性购买7天礼包
|
||||
let playerRecord: ActivityDailyRMBGiftsModelType = await ActivityDailyRMBGiftsModel.findRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate());
|
||||
if (playerRecord && playerRecord.records && playerRecord.records.length > 0) {//今天已经购买过其他奖励
|
||||
playerData.beginTime += 24 * 60 * 60 * 1000;
|
||||
}
|
||||
|
||||
for (let i = 0; i < playerData.day; i++) {
|
||||
let beginTime = playerData.beginTime + 24 * 60 * 60 * 1000 * i;
|
||||
// let beginTime = moment(new Date()).startOf('d').add(i, 'day').add(REFRESH_TIME, 'h').toDate();
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import { ACTIVITY_TYPE, TASK_TYPE } from '../consts';
|
||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||
import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../db/ActivityThirtyDays';
|
||||
import { ActivityBuyRecordsModel, ActivityBuyRecordsModelType } from '../db/ActivityBuyRecords';
|
||||
import { ThirtyDaysData, ThirtyDaysItem } from '../domain/activityField/thirtyDaysField';
|
||||
import { ThirtyDaysData } from '../domain/activityField/thirtyDaysField';
|
||||
import { ActivityThirtyDaysPointRewardModel, ActivityThirtyDaysPointRewardModelType } from '../db/ActivityThirtyDaysPointReward';
|
||||
import Role, { RoleModel } from '../db/Role';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import moment = require('moment');
|
||||
import { deltaDays } from '../pubUtils/util';
|
||||
import { ServerlistModel } from '../db/Serverlist';
|
||||
|
||||
Reference in New Issue
Block a user