From 064b3258fefdfa5e78fec178b3ba5367ad630d75 Mon Sep 17 00:00:00 2001 From: qiaoxin Date: Wed, 26 May 2021 16:09:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/handler/activityHandler.ts | 42 +++++++++++++++++-- .../servers/activity/handler/gachaHandler.ts | 2 +- .../activity/handler/limitPackageHandler.ts | 3 ++ .../activity/handler/popUpShopHandler.ts | 2 +- .../handler/selfServiceShopHandler.ts | 2 +- .../activity/handler/sevenDaysHandler.ts | 2 +- .../app/servers/order/handler/orderHandler.ts | 4 +- .../app/services/dailyChallengesService.ts | 24 ++++++++++- game-server/app/services/dailyGiftsService.ts | 25 ++++++++++- .../app/services/dailyRMBGiftsService.ts | 4 +- game-server/app/services/equipService.ts | 1 + game-server/app/services/firstGiftService.ts | 2 +- game-server/app/services/gachaService.ts | 2 +- game-server/app/services/growthFundService.ts | 2 +- game-server/app/services/growthService.ts | 21 +++++++--- .../app/services/limitPackageService.ts | 2 +- .../app/services/monthlyTicketService.ts | 6 +-- game-server/app/services/orderService.ts | 10 ++--- game-server/app/services/popUpShopService.ts | 4 +- .../app/services/rechargeMoneyService.ts | 2 +- .../selfServiceShopActivityService.ts | 2 +- game-server/app/services/signInService.ts | 4 +- game-server/app/services/thirtyDaysService.ts | 4 +- .../app/services/treasureHuntService.ts | 10 ++--- game-server/app/services/yuanbaoService.ts | 4 +- shared/consts/constModules/activityConst.ts | 3 +- shared/consts/statusCode.ts | 1 + shared/db/Activity.ts | 12 +++--- shared/db/ActivityGrowth.ts | 6 +-- shared/domain/activityField/activityField.ts | 2 +- shared/domain/activityField/growthField.ts | 8 +++- shared/pubUtils/taskUtil.ts | 5 ++- 32 files changed, 162 insertions(+), 61 deletions(-) diff --git a/game-server/app/servers/activity/handler/activityHandler.ts b/game-server/app/servers/activity/handler/activityHandler.ts index ad82fc362..79804ab59 100644 --- a/game-server/app/servers/activity/handler/activityHandler.ts +++ b/game-server/app/servers/activity/handler/activityHandler.ts @@ -2,12 +2,12 @@ import { Application, BackendSession } from 'pinus'; import { resResult } from '../../../pubUtils/util'; import { ACTIVITY_TYPE, FIRST_GIFT_STATE, STATUS } from '../../../consts'; import { firstGiftActivity, getPlayerFirstGiftData } from '../../../services/firstGiftService'; -import { RoleModel } from '../../../db/Role'; -import { addReward, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService'; -import { ActivityFirstGiftModel } from '../../../db/ActivityFirstGift'; import { signInActivity, signInVIPActivity } from '../../../services/signInService'; import { growthFundActivity } from '../../../services/growthFundService'; import { newPlayerLimitPackageActivity } from '../../../services/limitPackageService'; +import { growthActivity } from '../../../services/growthService'; +import { dailyChallengesActivity } from '../../../services/dailyChallengesService'; +import { dailyGiftsActivity } from '../../../services/dailyGiftsService'; export default function (app: Application) { return new ActivityHandler(app); @@ -30,6 +30,42 @@ export class ActivityHandler { const serverId = session.get('serverId'); let playerActivityArray = []; + //七天乐活动-成长任务 + { + let sevenData = []; + let growthData = await growthActivity(serverId, roleId); + if (growthData) { + sevenData.push({ + type: ACTIVITY_TYPE.TASK_GROWTH, + activityId: growthData.activityId, + data: growthData, + }); + } + let dailyChallengesData = await dailyChallengesActivity(serverId, roleId); + if (dailyChallengesData) { + sevenData.push({ + type: ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, + activityId: dailyChallengesData.activityId, + data: dailyChallengesData, + }); + } + let dailyGiftsData = await dailyGiftsActivity(serverId, roleId); + if (dailyGiftsData) { + sevenData.push({ + type: ACTIVITY_TYPE.DAILY_DISCOUNT_GIFT, + activityId: dailyGiftsData.activityId, + data: dailyGiftsData, + }); + } + if (sevenData.length > 0) { + playerActivityArray.push({ + type: ACTIVITY_TYPE.SEVEN_DAY, + activityId: 0, + data: sevenData, + }); + } + } + //首冲礼包活动 { let data = await firstGiftActivity(serverId, roleId); diff --git a/game-server/app/servers/activity/handler/gachaHandler.ts b/game-server/app/servers/activity/handler/gachaHandler.ts index f285260fe..6a400764c 100644 --- a/game-server/app/servers/activity/handler/gachaHandler.ts +++ b/game-server/app/servers/activity/handler/gachaHandler.ts @@ -266,7 +266,7 @@ export class GachaHandler { let heroes: number[] = []; if (gachaId == GACHA_ID.TIMELIMIT) { - let activityData = await ActivityModel.findActivity(serverId, activityId, true); + let activityData = await ActivityModel.findActivity(serverId, activityId); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); let gachaData = new GachaData(activityData); diff --git a/game-server/app/servers/activity/handler/limitPackageHandler.ts b/game-server/app/servers/activity/handler/limitPackageHandler.ts index 987f0dca8..8a9b4d3fa 100644 --- a/game-server/app/servers/activity/handler/limitPackageHandler.ts +++ b/game-server/app/servers/activity/handler/limitPackageHandler.ts @@ -91,6 +91,9 @@ export class LimitPackageHandler { } let item = playerData.findItem(id); + if (!item) { + return resResult(STATUS.ACTIVITY_ID_ERROR); + } if (item.countMax > 0 && item.buyCount >= item.countMax) { return resResult(STATUS.ACTIVITY_MAX_COUNT); } diff --git a/game-server/app/servers/activity/handler/popUpShopHandler.ts b/game-server/app/servers/activity/handler/popUpShopHandler.ts index 70d5e44c7..c8523953e 100644 --- a/game-server/app/servers/activity/handler/popUpShopHandler.ts +++ b/game-server/app/servers/activity/handler/popUpShopHandler.ts @@ -51,7 +51,7 @@ export class PopUpShopHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING); } diff --git a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts index 59806f260..34d33efa2 100644 --- a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts +++ b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts @@ -50,7 +50,7 @@ export class SelfServiceShopHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new SelfServiceShopData(activityData); let item = playerData.getItem(index); diff --git a/game-server/app/servers/activity/handler/sevenDaysHandler.ts b/game-server/app/servers/activity/handler/sevenDaysHandler.ts index 4dcf57f2a..97c37bf93 100644 --- a/game-server/app/servers/activity/handler/sevenDaysHandler.ts +++ b/game-server/app/servers/activity/handler/sevenDaysHandler.ts @@ -72,7 +72,7 @@ export class SevenDaysHandler { return resResult(STATUS.ACTIVITY_REWARDED); } - await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1, growthItemData.point); + await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1); let rewardParamArr: Array = stringToRewardParam(growthItemData.reward); let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) diff --git a/game-server/app/servers/order/handler/orderHandler.ts b/game-server/app/servers/order/handler/orderHandler.ts index c5c1d8de5..8de4c418c 100644 --- a/game-server/app/servers/order/handler/orderHandler.ts +++ b/game-server/app/servers/order/handler/orderHandler.ts @@ -175,7 +175,7 @@ export class orderHandler { orderInfo = await UserOrderModel.success(roleId, localOrderID); if (orderInfo) { //结算奖励 - let result = await makeOrder(localOrderID, sid); + let result = await makeOrder(localOrderID, sid, orderInfo); //活动统计 await addRechargeMoney(roleId, serverId, price); console.log('结算完成', localOrderID) @@ -235,7 +235,7 @@ export class orderHandler { let orderInfo = await UserOrderModel.success(roleId, localOrderID); if (orderInfo) { //结算奖励 - let result = await makeOrder(localOrderID, sid); + let result = await makeOrder(localOrderID, sid, orderInfo); //活动统计 await addRechargeMoney(roleId, serverId, price); console.log(`测试支付完成!!!!!!!!!!!!! serverId:${serverId}, productID:${productID}, roleId:${roleId}, localOrderID:${localOrderID}`) diff --git a/game-server/app/services/dailyChallengesService.ts b/game-server/app/services/dailyChallengesService.ts index 1df44d8f0..ebc2600b1 100644 --- a/game-server/app/services/dailyChallengesService.ts +++ b/game-server/app/services/dailyChallengesService.ts @@ -1,8 +1,30 @@ +import { ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../db/ActivityDailyChallenges'; import { DailyChallengesData, DailyItem } from '../domain/activityField/dailyChallengesField'; +/** + * 获取活动数据 + * + * @param {number} serverId 区Id + * @param {number} activityId 活动Id + * @param {string} roleId 角色Id + * + */ +export async function dailyChallengesActivity(serverId: number, roleId: string) { + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); + if (activityDataArray.length === 0) { + return null; + } + let activityData: ActivityModelType = activityDataArray[0]; + let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityData.activityId, roleId); + let playerData = new DailyChallengesData(activityData); + playerData.setPlayerRecords(playerRecords); + return playerData; +} + + /** * 玩家玩家活动数据 * @@ -12,7 +34,7 @@ import { DailyChallengesData, DailyItem } from '../domain/activityField/dailyCha * */ export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); let playerData = new DailyChallengesData(activityData); diff --git a/game-server/app/services/dailyGiftsService.ts b/game-server/app/services/dailyGiftsService.ts index 05bc6ffdd..904b81d38 100644 --- a/game-server/app/services/dailyGiftsService.ts +++ b/game-server/app/services/dailyGiftsService.ts @@ -1,8 +1,31 @@ +import { ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../db/ActivityDailyGifts'; import { DailyGiftsData, DailyGiftItem } from '../domain/activityField/dailyGiftsField'; + +/** + * 获取活动数据 + * + * @param {number} serverId 区Id + * @param {number} activityId 活动Id + * @param {string} roleId 角色Id + * + */ +export async function dailyGiftsActivity(serverId: number, roleId: string) { + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.DAILY_DISCOUNT_GIFT, new Date()); + if (activityDataArray.length === 0) { + return null; + } + let activityData: ActivityModelType = activityDataArray[0]; + let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityData.activityId, roleId); + let playerData = new DailyGiftsData(activityData); + playerData.setPlayerRecords(playerRecords); + return playerData; +} + + /** * 玩家玩家活动数据 * @@ -12,7 +35,7 @@ import { DailyGiftsData, DailyGiftItem } from '../domain/activityField/dailyGift * */ export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId); let playerData = new DailyGiftsData(activityData); diff --git a/game-server/app/services/dailyRMBGiftsService.ts b/game-server/app/services/dailyRMBGiftsService.ts index 2a4e6366c..66cb77dc8 100644 --- a/game-server/app/services/dailyRMBGiftsService.ts +++ b/game-server/app/services/dailyRMBGiftsService.ts @@ -39,7 +39,7 @@ export async function thirtyDaysActivity(type: number, serverId: number, roleId: * */ export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new DailyRMBGiftsData(activityData); let productID = playerData.productID; @@ -68,7 +68,7 @@ export async function getPlayerDailyGiftsData(activityId: number, serverId: numb */ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new DailyRMBGiftsData(activityData); let bigGiftProductID = playerData.productID; if (bigGiftProductID == productID) {//一次性购买7天礼包 diff --git a/game-server/app/services/equipService.ts b/game-server/app/services/equipService.ts index 8b8d9c801..2bdc2b60b 100644 --- a/game-server/app/services/equipService.ts +++ b/game-server/app/services/equipService.ts @@ -130,6 +130,7 @@ export async function dressEquip(serverId: number, roleId: string, sid: string, await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, hero, [1]); await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equip, [1]); await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equip.quality }) + await accomplishTask(serverId, roleId, TASK_TYPE.EQUIP_SUM, 1) return { seqId: equip.seqId, hid: hero.hid }; } \ No newline at end of file diff --git a/game-server/app/services/firstGiftService.ts b/game-server/app/services/firstGiftService.ts index 4633560bf..436dc6ba8 100644 --- a/game-server/app/services/firstGiftService.ts +++ b/game-server/app/services/firstGiftService.ts @@ -38,7 +38,7 @@ export async function firstGiftActivity(serverId: number, roleId: string) { * */ export async function getPlayerFirstGiftData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId); let playerData = new FirstGiftData(activityData); diff --git a/game-server/app/services/gachaService.ts b/game-server/app/services/gachaService.ts index 5a97f8aae..ca48ef1af 100644 --- a/game-server/app/services/gachaService.ts +++ b/game-server/app/services/gachaService.ts @@ -15,7 +15,7 @@ import { gameData, getDicGachaFloor } from "../pubUtils/data"; */ export async function getLimitGacha(serverId: number, roleId: string, activityId: number) { - let activityData = await ActivityModel.findActivity(serverId, activityId, true); + let activityData = await ActivityModel.findActivity(serverId, activityId); if (!activityData) return false; let gachaData = new GachaData(activityData); diff --git a/game-server/app/services/growthFundService.ts b/game-server/app/services/growthFundService.ts index 1455ecb11..634637234 100644 --- a/game-server/app/services/growthFundService.ts +++ b/game-server/app/services/growthFundService.ts @@ -43,7 +43,7 @@ export async function growthFundActivity(type: number, serverId: number, roleId: * */ export async function getPlayerGrowthFundData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId); let playerData = new GrowthFundData(activityData); diff --git a/game-server/app/services/growthService.ts b/game-server/app/services/growthService.ts index 6483b2dfb..c75a7d699 100644 --- a/game-server/app/services/growthService.ts +++ b/game-server/app/services/growthService.ts @@ -12,9 +12,19 @@ import { GrowthData, GrowthItem } from '../domain/activityField/growthField'; * @param {string} roleId 角色Id * */ -export async function getGrowthActivityData(serverId: number, roleId: string) { - let activityData: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); - return { data: activityData }; +export async function growthActivity(serverId: number, roleId: string) { + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); + if (activityDataArray.length === 0) { + return null; + } + let activityData: ActivityModelType = activityDataArray[0]; + let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId); + let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId); + + let playerData = new GrowthData(activityData); + await playerData.setPlayerRecords(playerRecords, roleId); + playerData.setPlayerPointRecord(playerPointRecord); + return playerData; } /** @@ -26,14 +36,13 @@ export async function getGrowthActivityData(serverId: number, roleId: string) { * */ export async function getPlayerGrowthData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); let playerData = new GrowthData(activityData); - playerData.setPlayerRecords(playerRecords); + await playerData.setPlayerRecords(playerRecords, roleId); playerData.setPlayerPointRecord(playerPointRecord); - return playerData; } diff --git a/game-server/app/services/limitPackageService.ts b/game-server/app/services/limitPackageService.ts index 16cd63045..938b4db68 100644 --- a/game-server/app/services/limitPackageService.ts +++ b/game-server/app/services/limitPackageService.ts @@ -34,7 +34,7 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st * */ export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new LimitShopData(activityData); let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityId, roleId, playerData.roundIndex); diff --git a/game-server/app/services/monthlyTicketService.ts b/game-server/app/services/monthlyTicketService.ts index 6e225e9a7..9af5f1471 100644 --- a/game-server/app/services/monthlyTicketService.ts +++ b/game-server/app/services/monthlyTicketService.ts @@ -37,7 +37,7 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty * */ export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); let playerData = new MonthlyTicketData(activityData); playerData.setPlayerRecords(playerRecord); @@ -54,7 +54,7 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n */ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number,) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); if (!playerRecord) {//没有购买过 return null; @@ -84,7 +84,7 @@ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: */ export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new MonthlyTicketData(activityData); let endTime = moment(new Date()).startOf('d').add(playerData.days, 'day').toDate(); diff --git a/game-server/app/services/orderService.ts b/game-server/app/services/orderService.ts index d7650654a..ed5231e48 100644 --- a/game-server/app/services/orderService.ts +++ b/game-server/app/services/orderService.ts @@ -1,4 +1,4 @@ -import { UserOrderModel } from '../db/UserOrder'; +import { UserOrderModel, UserOrderModelType } from '../db/UserOrder'; import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn'; import { SignInData, SignInItem } from '../domain/activityField/signInField'; import { ACTIVITY_TYPE, ORDER_STATE } from '../consts'; @@ -20,14 +20,12 @@ import { ActivityFirstGiftModel } from '../db/ActivityFirstGift'; * 结算账单 * @param localOrderID 本地订单号 */ -export async function makeOrder(localOrderID: string, sid: string) { - let orderInfo = await UserOrderModel.findOrder(localOrderID); +export async function makeOrder(localOrderID: string, sid: string, orderInfo: UserOrderModelType) { + // let orderInfo = await UserOrderModel.findOrder(localOrderID); if (!orderInfo) { return '查无此订单'; } - if (orderInfo.state == ORDER_STATE.RESULT_SUCCESS) { - return '结算过'; - } + //商品价格信息 let productInfo = dicRMB.get(orderInfo.productID) if (!productInfo) { diff --git a/game-server/app/services/popUpShopService.ts b/game-server/app/services/popUpShopService.ts index 42589994e..bf321ca13 100644 --- a/game-server/app/services/popUpShopService.ts +++ b/game-server/app/services/popUpShopService.ts @@ -36,7 +36,7 @@ export async function popUpShopActivity(serverId: number, roleId: string) { * */ export async function getPlayerPopUpShopData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityPopUpShopModelType[] = await ActivityPopUpShopModel.findAllOpenData(serverId, activityId, roleId); let allPlayerShop = []; @@ -65,7 +65,7 @@ export async function getPlayerPopUpShopData(activityId: number, serverId: numbe */ export async function makePopUpShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); if (!activityData) { return null; } diff --git a/game-server/app/services/rechargeMoneyService.ts b/game-server/app/services/rechargeMoneyService.ts index bec9a1e15..7d8028648 100644 --- a/game-server/app/services/rechargeMoneyService.ts +++ b/game-server/app/services/rechargeMoneyService.ts @@ -38,7 +38,7 @@ export async function rechargeMoneyActivity(serverId: number, roleId: string) { * */ export async function getPlayerRechargeMoneyData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId); let playerData = new RechargeMoneyData(activityData); diff --git a/game-server/app/services/selfServiceShopActivityService.ts b/game-server/app/services/selfServiceShopActivityService.ts index 19b89a993..2a4586217 100644 --- a/game-server/app/services/selfServiceShopActivityService.ts +++ b/game-server/app/services/selfServiceShopActivityService.ts @@ -37,7 +37,7 @@ export async function getActivityData(serverId: number, roleId: string) { * */ export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new SelfServiceShopData(activityData); let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByPriceType(serverId, activityId, roleId, playerData.roundIndex, ACTIVITY_RESOURCES_TYPE.RMB); diff --git a/game-server/app/services/signInService.ts b/game-server/app/services/signInService.ts index 9e04a18d8..303ccb657 100644 --- a/game-server/app/services/signInService.ts +++ b/game-server/app/services/signInService.ts @@ -65,7 +65,7 @@ export async function signInVIPActivity(serverId: number, roleId: string) { * */ export async function getPlayerSignInData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new SignInData(activityData); let playerRecords: ActivitySignInModelType[] = await ActivitySignInModel.findData(activityId, roleId, playerData.roundIndex); @@ -86,7 +86,7 @@ export async function getPlayerSignInData(activityId: number, serverId: number, */ export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new SignInData(activityData); await ActivitySignInModel.buyVIP(activityId, roleId, playerData.roundIndex); diff --git a/game-server/app/services/thirtyDaysService.ts b/game-server/app/services/thirtyDaysService.ts index 26f258288..3b4c2de1c 100644 --- a/game-server/app/services/thirtyDaysService.ts +++ b/game-server/app/services/thirtyDaysService.ts @@ -39,7 +39,7 @@ export async function thirtyDaysActivity(type: number, serverId: number, roleId: * */ export async function getPlayerThirtyDaysData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); @@ -58,7 +58,7 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb * */ export async function addPlayerThirtyDaysTask(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); diff --git a/game-server/app/services/treasureHuntService.ts b/game-server/app/services/treasureHuntService.ts index 86efe30df..9b5ba34ba 100644 --- a/game-server/app/services/treasureHuntService.ts +++ b/game-server/app/services/treasureHuntService.ts @@ -35,7 +35,7 @@ export async function treasureHuntActivity(serverId: number, roleId: string) { * */ export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new TreasureHuntData(activityData); playerData.beginTime = moment(huntBeginTime).valueOf(); @@ -49,7 +49,7 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu } export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new TreasureHuntData(activityData); playerData.beginTime = moment(huntBeginTime).valueOf(); @@ -74,7 +74,7 @@ export async function getTreasureHuntData(serverId: number) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); - activityData = await ActivityModel.findActivity(serverId, huntActivityId, true); + activityData = await ActivityModel.findActivity(serverId, huntActivityId); return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } if (now > tempData.huntEndTime) {//活动过期 @@ -83,11 +83,11 @@ export async function getTreasureHuntData(serverId: number) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } tempData = await ServerTempModel.updateTreasureHuntData(serverId, huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex); - activityData = await ActivityModel.findActivity(serverId, huntActivityId, true); + activityData = await ActivityModel.findActivity(serverId, huntActivityId); return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } if (!activityData) { - activityData = await ActivityModel.findActivity(serverId, tempData.huntActivityId, true); + activityData = await ActivityModel.findActivity(serverId, tempData.huntActivityId); } return { huntActivityId: tempData.huntActivityId, diff --git a/game-server/app/services/yuanbaoService.ts b/game-server/app/services/yuanbaoService.ts index 327de612e..86f0cb2d5 100644 --- a/game-server/app/services/yuanbaoService.ts +++ b/game-server/app/services/yuanbaoService.ts @@ -33,7 +33,7 @@ export async function yuanbaoActivity(serverId: number, roleId: string) { * */ export async function getPlayerYuanbaoShopData(activityId: number, serverId: number, roleId: string) { - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId); let playerData = new YuanBaoShopData(activityData); @@ -54,7 +54,7 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { let records = await UserOrderModel.findOrderByProductID(productID, roleId, activityId); - let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId, true); + let activityData: ActivityModelType = await ActivityModel.findActivity(serverId, activityId); let playerData = new YuanBaoShopData(activityData); let item = playerData.findItem(productID); diff --git a/shared/consts/constModules/activityConst.ts b/shared/consts/constModules/activityConst.ts index 713c39617..46d87e31e 100644 --- a/shared/consts/constModules/activityConst.ts +++ b/shared/consts/constModules/activityConst.ts @@ -5,6 +5,7 @@ */ export enum ACTIVITY_TYPE { + SEVEN_DAY = 0, // 七天乐活动(虚) DAILY_DISCOUNT_GIFT = 1, // 七天乐活动,每日特惠礼包 TASK_GROWTH = 2, // 成长任务活动 TASK_DAILY_CHALLENGES = 3, // 今日挑战活动 @@ -97,4 +98,4 @@ export const DAILYRMBGIFTS_DAYS = 7;//一次性购买*天 //签到活动开启时间 export const SIGNIN_OPEN = 5;//*号0点开启 -export const SIGNIN_CLOSE = 24;//*号晚上24点结束 \ No newline at end of file +export const SIGNIN_CLOSE = 30;//*号晚上24点结束 \ No newline at end of file diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index 343a6bb4d..580dc5fb0 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -359,6 +359,7 @@ export const STATUS = { ACTIVITY_POP_UP_SHOP_EXPIRE: { code: 50022, simStr: '弹出商店过期' }, ACTIVITY_NEED_PAY: { code: 50023, simStr: '客户端调错接口了' }, ACTIVITY_GOLD_RESOURCE: { code: 50024, simStr: '元宝资源' }, + ACTIVITY_ID_ERROR: { code: 50025, simStr: 'id错误' }, // GM后台相关状态 60000 - 69999 GM_ERR_PASSWORD: { code: 60001, simStr: '账号或密码错误' }, GM_MISS_API: { code: 60002, simStr: '未找到该接口' }, diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index 529a21e42..2e262215a 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -23,8 +23,8 @@ export default class Activity extends BaseModel { data: string; // 活动表中的数据 //根据活动类型查询开启的活动数据 - public static async findOpenActivityByType(serverId: number, type: number, date: Date, lean = true) { - let result: ActivityModelType[] = await ActivityModel.find({ serverId, type, beginTime: { $lte: date }, endTime: { $gte: date } }).sort({ activityId: -1 }).lean(lean); + public static async findOpenActivityByType(serverId: number, type: number, date: Date) { + let result: ActivityModelType[] = await ActivityModel.find({ serverId, type, beginTime: { $lte: date }, endTime: { $gte: date } }).sort({ activityId: -1 }).lean(true); return result; } @@ -35,13 +35,13 @@ export default class Activity extends BaseModel { } //根据活动id查询活动数据 - public static async findActivity(serverId: number, activityId: number, lean = true) { - let result: ActivityModelType = await ActivityModel.findOne({ serverId, activityId }).lean(lean); + public static async findActivity(serverId: number, activityId: number) { + let result: ActivityModelType = await ActivityModel.findOne({ serverId, activityId }).lean(true); return result; } //新增活动 - public static async addActivity(aids: number[], serverId: number, beginTime: Date, endTime: Date, type: number, data: string, lean = true) { + public static async addActivity(aids: number[], serverId: number, beginTime: Date, endTime: Date, type: number, data: string) { let result: ActivityModelType[] = []; for (let activityId of aids) { if (!activityId) activityId = await CounterModel.getNewCounter(COUNTER.ACTIVITY); @@ -56,7 +56,7 @@ export default class Activity extends BaseModel { update["endTime"] = endTime; } let rec: ActivityModelType = await ActivityModel.findOneAndUpdate({ activityId }, { $set: update }, - { new: true, upsert: true }).lean(lean); + { new: true, upsert: true }).lean(true); result.push(rec); } return result; diff --git a/shared/db/ActivityGrowth.ts b/shared/db/ActivityGrowth.ts index 7e0ef4717..6324a83a4 100644 --- a/shared/db/ActivityGrowth.ts +++ b/shared/db/ActivityGrowth.ts @@ -23,15 +23,13 @@ export default class Activity_Growth extends BaseModel { totalCount: number; // 累计达成次数 @prop({ required: true }) receiveRewardCount: number; // 领取奖励次数 - @prop({ required: true, default: 0 }) - addPointCount: number; // 获得奖章个数 @prop({ required: true, default: false }) getPointReward: boolean; // 是否兑换领取奖章奖励 //任务领取记录 - public static async addCellRecord(serverId: number, activityId: number, roleId: string, dayIndex: number, cellIndex: number, type: number, count: number, addPointCount: number, lean = true) { + public static async addCellRecord(serverId: number, activityId: number, roleId: string, dayIndex: number, cellIndex: number, type: number, count: number,) { let result: ActivityGrowthModelType = await ActivityGrowthModel.findOneAndUpdate({ serverId, roleId, activityId, dayIndex, cellIndex, type }, - { $inc: { receiveRewardCount: count, addPointCount: addPointCount } }, { upsert: true, new: true }).lean(lean); + { $inc: { receiveRewardCount: count } }, { upsert: true, new: true }).lean(true); return result; } diff --git a/shared/domain/activityField/activityField.ts b/shared/domain/activityField/activityField.ts index 722af31e2..d33833d27 100644 --- a/shared/domain/activityField/activityField.ts +++ b/shared/domain/activityField/activityField.ts @@ -24,6 +24,6 @@ export abstract class ActivityBase { this.type = activityData.type; // this.data = activityData.data; this.todayIndex = deltaDays(activityData.beginTime, new Date) + 1; - console.log('今天是活动第几天', activityData.beginTime, new Date, this.todayIndex) + // console.log('今天是活动第几天', activityData.beginTime, new Date, this.todayIndex) } } diff --git a/shared/domain/activityField/growthField.ts b/shared/domain/activityField/growthField.ts index 41a530309..6169bb71f 100644 --- a/shared/domain/activityField/growthField.ts +++ b/shared/domain/activityField/growthField.ts @@ -2,6 +2,7 @@ import { TASK_TYPE, ACTIVITY_RESOURCES_TYPE } from '../../consts'; import { ActivityModelType } from '../../db/Activity'; import { ActivityGrowthModelType } from '../../db/ActivityGrowth'; import { ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint'; +import { RoleModel } from '../../db/Role'; import { RewardInter } from '../../pubUtils/interface'; import { parseGoodStrWithType, parseHeroStrWithType, splitString } from '../../pubUtils/util'; import { CreateHeroParam } from '../roleField/hero'; @@ -174,12 +175,17 @@ export class GrowthData extends ActivityBase { } //解析玩家领取记录 - public setPlayerRecords(data: ActivityGrowthModelType[]) { + public async setPlayerRecords(data: ActivityGrowthModelType[], roleId: string) { + let { heroNum } = await RoleModel.findByRoleId(roleId); for (let obj of this.list) { let index = data.findIndex(record => { return obj.dayIndex == record.dayIndex && obj.cellIndex == record.cellIndex }) if (index != -1) { obj.totalCount = data[index].totalCount ? data[index].totalCount : 0; obj.receiveRewardCount = data[index].receiveRewardCount ? data[index].receiveRewardCount : 0; + } else { + if (obj.taskType === TASK_TYPE.HERO_NUM) { + obj.totalCount = heroNum; + } } } } diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index 52e87c8cc..207916208 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -566,7 +566,7 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin let addCount: number = 0; // 条件是否满足 switch (taskType) { case TASK_TYPE.ROLE_LV://重置数据 - addCount = param[0] <= count ? count : 0; + addCount = count; break; case TASK_TYPE.GUILD_JOIN: addCount = count; @@ -642,6 +642,9 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin case TASK_TYPE.HERO_TRAIN_SUM: addCount = count; break; + case TASK_TYPE.EQUIP_SUM: + addCount = count; + break; default: addCount = 0; break;