数数:消耗来源

This commit is contained in:
luying
2021-12-14 13:18:23 +08:00
parent e9c471c583
commit b6501ee4a2
70 changed files with 503 additions and 305 deletions

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { LAND_TYPE, STATUS, CURRENCY_TYPE, CURRENCY_BY_TYPE, BANK_TYPE, ACTIVITY_RESOURCES_TYPE } from '../../../consts';
import { LAND_TYPE, STATUS, CURRENCY_TYPE, CURRENCY_BY_TYPE, BANK_TYPE, ACTIVITY_RESOURCES_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
import { ActivityMonopolyModel, ActivityMonopolyModelType } from '../../../db/ActivityMonopoly';
import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../../../db/ActivityMonopolyLand';
import { getPlayerMonopolyData, nextPosition } from '../../../services/activity/monopolyService';
@@ -58,12 +58,12 @@ export class ActivityMonopolyHandler {
let moveStep = 0;
if (step >= 1 && step <= 6) {//指定,天机骰子
//检查资源
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 }]);
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 }], ITEM_CHANGE_REASON.MONOPOLY_MOVE);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
moveStep = step;
} else {//普通骰子
//检查资源
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.NORMAL_DICE), count: 1 }]);
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.NORMAL_DICE), count: 1 }], ITEM_CHANGE_REASON.MONOPOLY_MOVE);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
moveStep = random(5) + 1;
}
@@ -81,7 +81,7 @@ export class ActivityMonopolyHandler {
if (landData.rewards.length > landData.stopCount) {
let reward = landData.rewards[landData.level - 1];
let rewardArray = stringToRewardParam(reward)
landReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
landReward = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.MONOPOLY_MOVE);
}
//土地升级
@@ -97,7 +97,7 @@ export class ActivityMonopolyHandler {
if (records.length < landData.takeOutMax) {
let resource = landData.record[0].resource;
let rewardArray = stringToRewardParam(resource)
bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.MONOPOLY_MOVE);
let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource);
landData.record = recordResult.record;
}
@@ -109,7 +109,7 @@ export class ActivityMonopolyHandler {
if (records.length < landData.takeOutMax) {
let resource = landData.record[0].resource;
let rewardArray = stringToRewardParam(resource)
bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.MONOPOLY_MOVE);
let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource);
landData.record = recordResult.record;
}
@@ -157,12 +157,12 @@ export class ActivityMonopolyHandler {
|| landData.landType == LAND_TYPE.BANK_NORMAL) {
resrouseStr = `${ACTIVITY_RESOURCES_TYPE.GOODS}&${CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN)}&${addCount}`
//检查资源
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN), count: addCount }]);
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN), count: addCount }], ITEM_CHANGE_REASON.MONOPOLY_BANK);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
} else if (landData.landType == LAND_TYPE.BANK_GOLD) {
resrouseStr = `${ACTIVITY_RESOURCES_TYPE.GOODS}&${CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD)}&${addCount}`
//检查资源
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: addCount }]);
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: addCount }], ITEM_CHANGE_REASON.MONOPOLY_BANK);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
}
@@ -239,11 +239,11 @@ export class ActivityMonopolyHandler {
//检查资源
let consume = stringToConsumeParam(item.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.MONOPOLY_BUY_GOODS);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.MONOPOLY_BUY_GOODS);
await ActivityRefreshShopModel.addRecord(shopActivityId, roleId, roundIndex, pageIndex, id);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerDailyChallengesData } from '../../../services/activity/dailyChallengesService';
import { DailyItem } from '../../../domain/activityField/dailyChallengesField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -68,7 +68,7 @@ export class DailyChallengesHandler {
await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.DAILY_CHALLENGE_REWARD)
dailyItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS } from '../../../consts';
import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { handleCost } from '../../../services/rewardService';
import { getPlayerDailyCoinData, mergeData } from '../../../services/activity/dailyCoinService';
import { ConsumeExchangeFormulaItem, CoinRewardFormulaItem } from '../../../domain/activityField/dailyCoinField';
@@ -106,7 +106,7 @@ export class DailyCoinHandler {
console.log('所有奖励', JSON.stringify(newReward))
//检查资源
let consumeResult = await handleCost(roleId, sid, newConsume);
let consumeResult = await handleCost(roleId, sid, newConsume, ITEM_CHANGE_REASON.DAILY_COIN_EXCHANGE);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
let addCoin = 0
@@ -127,7 +127,7 @@ export class DailyCoinHandler {
//免费期间
let time = moment(new Date()).valueOf();
let result = await addReward(roleId, roleName, sid, serverId, newReward)
let result = await addReward(roleId, roleName, sid, serverId, newReward, ITEM_CHANGE_REASON.DAILY_COIN_EXCHANGE);
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.roundIndex, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
let exchangeCount = playerData.exchangeCount + count;

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_RESOURCES_TYPE } from '../../../consts';
import { STATUS, ACTIVITY_RESOURCES_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
import { handleCost } from '../../../services/rewardService';
import { getPlayerDailyGiftsData } from '../../../services/activity/dailyGiftsService';
import { DailyGiftItem } from '../../../domain/activityField/dailyGiftsField';
@@ -72,7 +72,7 @@ export class DailyGiftsHandler {
let consumeType = consumeData.type;//购买类型
if (consumeType == ACTIVITY_RESOURCES_TYPE.GOODS) {//物品表,元宝、金币、体力
let result = await handleCost(roleId, sid, [{ id: consumeData.id, count: consumeData.count }]);
let result = await handleCost(roleId, sid, [{ id: consumeData.id, count: consumeData.count }], ITEM_CHANGE_REASON.BUY_DAILY_GIFTS);
if (!result) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
} else if (consumeType == ACTIVITY_RESOURCES_TYPE.RMB) {//RMB购买
return resResult(STATUS.ACTIVITY_NEED_PAY);
@@ -81,7 +81,7 @@ export class DailyGiftsHandler {
await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.BUY_DAILY_GIFTS)
dailyItemData.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { handleCost } from '../../../services/rewardService';
import { getPlayerDailyMealData } from '../../../services/activity/dailyMealService';
import { DailyMealItem } from '../../../domain/activityField/dailyMealField';
@@ -71,12 +71,12 @@ export class DailyMealHandler {
if (curDate > itemData.endTime) {//补领
//检查资源
let consume = stringToConsumeParam(itemData.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.DAILY_MEAL_RECEIVE_REPAIRE);
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
}
//免费期间
let rewardParamArr: Array<RewardParam> = stringToRewardParam(itemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.DAILY_MEAL_RECEIVE);
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate, playerData.roundIndex);
itemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS, } from '../../../consts';
import { getPlayerDailyRMBGiftsData } from '../../../services/activity/dailyRMBGiftsService';
import { RewardParam } from '../../../domain/activityField/rewardField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -65,7 +65,7 @@ export class DailyRMBGiftsHandler {
return resResult(STATUS.ACTIVITY_NEED_PAY);
}
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.DAILY_RMB_GIFT)
await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), [item.id]);
item.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -88,7 +88,7 @@ export class DailyRMBGiftsHandler {
rewardArray = rewardArray.concat(rewardParamArr);
item.isReceive = true;
}
let result = await addReward(roleId, roleName, sid, serverId, rewardArray)
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.DAILY_RMB_GIFT)
await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), ids);
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId },

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { FIRST_GIFT_STATE, STATUS } from '../../../consts';
import { FIRST_GIFT_STATE, ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerFirstGiftData } from '../../../services/activity/firstGiftService';
import { RoleModel } from '../../../db/Role';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -74,7 +74,7 @@ export class FirstGiftHandler {
indexArray.push(item.index)
item.isReceive = true;
}
let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.FIRST_GIFT);
let isOver = playerData.isComplete();

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from "pinus";
import { resResult, shouldRefresh, getRandSingleEelm } from "../../../pubUtils/util";
import { STATUS, GACHA_ID, HERO_QUALITY_TYPE, TASK_TYPE, } from "../../../consts";
import { STATUS, GACHA_ID, HERO_QUALITY_TYPE, TASK_TYPE, ITEM_CHANGE_REASON, } from "../../../consts";
import { gameData } from "../../../pubUtils/data";
import { GachaResult, GachaData } from "../../../domain/activityField/gachaField";
import { UserGachaModel } from "../../../db/UserGacha";
@@ -85,13 +85,13 @@ export class GachaHandler {
// 消耗东西
if (costNum > 0) {
let cost = dicGacha.cost.map(cur => { return { id: cur.id, count: cur.count * costNum } });
let costResult = await handleCost(roleId, sid, cost);
let costResult = await handleCost(roleId, sid, cost, ITEM_CHANGE_REASON.GACHA_PULL);
if (!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH);
}
// 给东西
// console.log('****', heroInfo)
let { heroes, resultHeroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
await addItems(roleId, roleName, sid, items);
await addItems(roleId, roleName, sid, items, ITEM_CHANGE_REASON.GACHA_ITEMS);
// 更新数据
userGacha = await UserGachaModel.updateInfo(roleId, gachaId, activityId, {
freeCount, hope, floor, count: historyCount + count
@@ -328,7 +328,7 @@ export class GachaHandler {
visitedHero.push(hid);
let userGacha = await UserGachaModel.updateInfo(roleId, GACHA_ID.NORMAL, 0, { visitedHero, refVisitedTime });
let goods = await addItems(roleId, roleName, sid, [{ id: pieceId, count: RECRUIT.RECRUIT_SHARD_LIMIT }]);
let goods = await addItems(roleId, roleName, sid, [{ id: pieceId, count: RECRUIT.RECRUIT_SHARD_LIMIT }], ITEM_CHANGE_REASON.VISIT_HERO);
return resResult(STATUS.SUCCESS, {
hids: userGacha.visitedHero,
@@ -376,7 +376,7 @@ export class GachaHandler {
if(guideCount == 0) {
// 消耗东西
let cost = dicGacha.cost.map(cur => { return { id: cur.id, count: cur.count * count } });
let costResult = await handleCost(roleId, sid, cost);
let costResult = await handleCost(roleId, sid, cost, ITEM_CHANGE_REASON.GACHA_PULL);
if (!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH);
}
@@ -468,7 +468,7 @@ export class GachaHandler {
// 给东西
// console.log('****', heroInfo)
let { heroes, resultHeroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
await addItems(roleId, roleName, sid, items);
await addItems(roleId, roleName, sid, items, ITEM_CHANGE_REASON.GACHA_ITEMS);
// 更新数据
role = await RoleModel.updateRoleInfo(roleId, { gachaHasGuide: true });
await UserGachaRecModel.createRec(roleId, gachaId, 0, count, resultList);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerGrowthFundData } from '../../../services/activity/growthFundService';
import { GrowthFundItem } from '../../../domain/activityField/growthFundField';
import { ActivityGrowthFundModel } from '../../../db/ActivityGrowthFund';
@@ -72,7 +72,7 @@ export class GrowthFundHandler {
await ActivityGrowthFundModel.addRecord(activityId, roleId, pageIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthFundItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.GROWTH_FUND)
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, pageIndex, cellIndex },

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerGrowthData } from '../../../services/activity/growthService';
import { GrowthItem, PointRewardItem } from '../../../domain/activityField/growthField';
import { ActivityGrowthModel } from '../../../db/ActivityGrowth';
@@ -68,7 +68,7 @@ export class GrowthHandler {
await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.GROWTH_REWARD)
growthItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -108,7 +108,7 @@ export class GrowthHandler {
await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.GROWTH_DAY_EXCHANGE)
pointItemData.getPointReward = true;

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { ACTIVITY_TYPE, STATUS } from '../../../consts';
import { ACTIVITY_TYPE, ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { newPlayerLimitPackageActivity, getPlayerLimitPackageData } from '../../../services/activity/limitPackageService';
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { ActivityShopModel } from '../../../db/ActivityShop';
@@ -116,11 +116,11 @@ export class LimitPackageHandler {
//检查资源
let consume = stringToConsumeParam(item.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.BUY_LIMIT_PACKAGE);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.BUY_LIMIT_PACKAGE);
await ActivityShopModel.addRecord(activityId, roleId, roundIndex, id);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, GACHA_ID } from '../../../consts';
import { STATUS, GACHA_ID, ITEM_CHANGE_REASON } from '../../../consts';
import { getPlayerNewHeroGachaData } from '../../../services/activity/newHeroGachaService';
import { RoleModel } from '../../../db/Role';
import { HeroModel } from '../../../db/Hero';
@@ -88,7 +88,7 @@ export class NewHeroGachaHandler {
// 消耗东西
let cost = item.cost.map(cur => { return { id: cur.id, count: cur.count * count } });
let costResult = await handleCost(roleId, sid, cost);
let costResult = await handleCost(roleId, sid, cost, ITEM_CHANGE_REASON.NEW_HERO_GACHA_PULL);
if (!costResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
//记录数据
@@ -96,11 +96,11 @@ export class NewHeroGachaHandler {
// 给东西
let { heroes, resultHeroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
await addItems(roleId, roleName, sid, items);
await addItems(roleId, roleName, sid, items, ITEM_CHANGE_REASON.GACHA_ITEMS);
//固定奖励
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.commonReward);
let newRewardParamArr: Array<RewardParam> = rewardParamArr.map(obj => { return { id: obj.id, type: obj.type, count: obj.count * count } });
let commonResult = await addReward(roleId, roleName, sid, serverId, newRewardParamArr)
let commonResult = await addReward(roleId, roleName, sid, serverId, newRewardParamArr, ITEM_CHANGE_REASON.NEW_HERO_GACHA_PULL)
return resResult(STATUS.SUCCESS, {
hid, activityId, count, randomReward: { heroes: resultHeroes, result: resultList }, commonReward: commonResult

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS, } from '../../../consts';
import { getPlayerNewHeroGiftsData } from '../../../services/activity/newHeroGiftsService';
import { RewardParam } from '../../../domain/activityField/rewardField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -63,7 +63,7 @@ export class NewHeroGiftsHandler {
return resResult(STATUS.ACTIVITY_NO_POINT);
}
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.NEW_HERO_EXCHANGE)
await ActivityNewHeroGiftModel.addReceiveRecord(serverId, activityId, roleId, index, item.consumePoint);
item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult, splitString } from '../../../pubUtils/util';
import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, STATUS, CURRENCY_TYPE, } from '../../../consts';
import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, STATUS, CURRENCY_TYPE, ITEM_CHANGE_REASON, } from '../../../consts';
import { getPlayerPopUpShopData } from '../../../services/activity/popUpShopService';
import { ActivityModel, ActivityModelType } from '../../../db/Activity';
import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../../db/ActivityPopUpShop';
@@ -94,11 +94,11 @@ export class PopUpShopHandler {
return resResult(STATUS.ACTIVITY_GOLD_RESOURCE);
}
let price = arr[2];//数量
let resourceResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: price }]);
let resourceResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: price }], ITEM_CHANGE_REASON.POP_UP_BUY_GIFT);
if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.POP_UP_BUY_GIFT)
await ActivityPopUpShopModel.addRecord(serverId, activityId, roleId, id, playerData.taskType, 1, beginTime);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerRechargeMoneyData } from '../../../services/activity/rechargeMoneyService';
import { RechargeMoneyItem } from '../../../domain/activityField/rechargeMoneyField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -66,7 +66,7 @@ export class RechargeMoneyHandler {
console.log('recordArray', JSON.stringify(recordArray));
await ActivityRechargeMoneyModel.addRecord(rechargeItem._id, item.id, item.reward)
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.RECHARGE_REWARD)
if (playerData.isLast()) {
let _ids = playerData.recordArray.map(a => a._id)
await ActivityRechargeMoneyModel.setEndState(serverId, roleId, _ids);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerRefreshShopData } from '../../../services/activity/refreshShopService';
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
import { ActivityRefreshShopModel } from '../../../db/ActivityRefreshShop';
@@ -72,11 +72,11 @@ export class RefreshShopHandler {
//检查资源
let consume = stringToConsumeParam(item.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.BUY_REFRESH_SHOP);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.BUY_REFRESH_SHOP);
await ActivityRefreshShopModel.addRecord(activityId, roleId, roundIndex, pageIndex, id);

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
import { getPlayerRefreshTaskData } from '../../../services/activity/refreshTaskService';
import { RefreshTaskItem } from '../../../domain/activityField/refreshTaskField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -71,7 +71,7 @@ export class RefreshTaskHandler {
await ActivityRefreshTaskModel.addReceiveRecord(serverId, activityId, roleId, roundIndex, pageIndex, id, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.REFRESH_TASK_REWARD)
//获得点数
await ActivityRefreshTaskPointModel.addPoint(serverId, activityId, roleId, dailyItemData.point);
@@ -123,7 +123,7 @@ export class RefreshTaskHandler {
await ActivityRefreshTaskPointModel.addReceiveRecord(serverId, activityId, roleId, playerData.consumePoint);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.REFRESH_TASK_EXCHANGE)
playerData.exchangePoint += playerData.consumePoint;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult, splitString } from '../../../pubUtils/util';
import { STATUS, } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS, } from '../../../consts';
import { SelfServiceShopData } from '../../../domain/activityField/selfServiceShopField';
import { handleCost } from '../../../services/rewardService';
import { ActivitySelfServiceShopModel, ActivitySelfServiceShopModelType } from '../../../db/ActivitySelfServiceShop';
@@ -73,7 +73,7 @@ export class SelfServiceShopHandler {
}
//检查资源
let consume = stringToConsumeParam(item.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.SELF_SERVICE_SHOP_BUY_GIFT);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, activityId, roundIndex, index, item);
@@ -131,12 +131,12 @@ export class SelfServiceShopHandler {
//检查资源
let consume = stringToConsumeParam(unitPrice)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.SELF_SERVICE_SHOP_BUY_RESOURCE);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
await ActivitySelfServiceModel.addBuyRecord(serverId, activityId, roleId, roundIndex, 1);
let rewardArray = stringToRewardParam(unitReward)
let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let result = await addReward(roleId, roleName, sid, serverId, rewardArray, ITEM_CHANGE_REASON.SELF_SERVICE_SHOP_BUY_RESOURCE);
return resResult(STATUS.SUCCESS, Object.assign(result, { unitBuyCount: buyCount + 1 }));
}

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_RESOURCES_TYPE } from '../../../consts';
import { STATUS, ACTIVITY_RESOURCES_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
import { handleCost } from '../../../services/rewardService';
import { ActivityGrowthModel } from '../../../db/ActivityGrowth';
import { ActivityDailyGiftsModel } from '../../../db/ActivityDailyGifts';
@@ -72,7 +72,7 @@ export class SevenDaysHandler {
await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.GROWTH_REWARD)
growthItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -112,7 +112,7 @@ export class SevenDaysHandler {
await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.GROWTH_DAY_EXCHANGE)
pointItemData.getPointReward = true;
@@ -155,7 +155,7 @@ export class SevenDaysHandler {
await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.DAILY_CHALLENGE_REWARD)
dailyItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -200,7 +200,7 @@ export class SevenDaysHandler {
let consumeType = consumeData.type;//购买类型
if (consumeType == ACTIVITY_RESOURCES_TYPE.GOODS) {//物品表,元宝、金币、体力
let result = await handleCost(roleId, sid, [{ id: consumeData.id, count: consumeData.count }]);
let result = await handleCost(roleId, sid, [{ id: consumeData.id, count: consumeData.count }], ITEM_CHANGE_REASON.BUY_DAILY_GIFTS);
if (!result) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
} else if (consumeType == ACTIVITY_RESOURCES_TYPE.RMB) {//RMB购买
return resResult(STATUS.ACTIVITY_NEED_PAY);
@@ -209,7 +209,7 @@ export class SevenDaysHandler {
await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.BUY_DAILY_GIFTS)
dailyItemData.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_TYPE, SERVER_OPEN_TIME, } from '../../../consts';
import { STATUS, ACTIVITY_TYPE, SERVER_OPEN_TIME, ITEM_CHANGE_REASON, } from '../../../consts';
import { canBuyVip, getPlayerSignInData } from '../../../services/activity/signInService';
import { handleCost } from '../../../services/rewardService';
import { SignInItem } from '../../../domain/activityField/signInField';
@@ -100,14 +100,14 @@ export class SignInHandler {
}
if (isDelay) {
let consume = stringToConsumeParam(playerData.consume)
let consumeResult = await handleCost(roleId, sid, consume);
let consumeResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.REPAIRE_SIGNIN);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
}
await ActivitySignInModel.addSignInRecord(activityId, roleId, roundIndex, [dayIndex]);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(signinItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.SIGNIN)
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, dayIndex },

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, ACTIVITY_TYPE } from '../../../consts';
import { STATUS, ACTIVITY_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays } from '../../../services/activity/thirtyDaysService';
import { ThirtyDaysData, ThirtyDaysItem, ThirtyDaysPointItem } from '../../../domain/activityField/thirtyDaysField';
import { ActivityThirtyDaysModel } from '../../../db/ActivityThirtyDays';
@@ -104,7 +104,7 @@ export class ThirtyDaysHandler {
await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex, tab);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(thirtyDaysItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.THIRTHDAY_TASK)
thirtyDaysItemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, pageIndex, cellIndex },
@@ -148,7 +148,7 @@ export class ThirtyDaysHandler {
}
let rewardParamArr: Array<RewardParam> = stringToRewardParam(reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.THIRTHDAY_EXCHANGE)
thirtyDaysPointItemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS, } from '../../../consts';
import { getPlayerTreasureHuntData, getTreasureHuntData, getPlayerTreasureHuntShopData, getPlayerTreasureHuntTaskData, getPlayerTreasureHuntTreasureShopData, getPlayerTreasureHuntChallengeData, getPlayerTreasureHuntFirstPageData } from '../../../services/activity/treasureHuntService';
import { ActivityTreasureHuntShopModel } from '../../../db/ActivityTreasureHuntShop';
import { ActivityTreasureHuntTaskModel } from '../../../db/ActivityTreasureHuntTask';
@@ -77,7 +77,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntFirstPageModel.receiveReward(serverId, activityId, roleId, huntRoundIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.firstPage.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.TREASURE_HUNT_FIRST_PAGE_REWARD)
playerData.firstPage.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -122,14 +122,14 @@ export class TreasureHuntHandler {
let consumeStr = item.getConsume();
let consume = stringToConsumeParam(consumeStr)
let resourceResult = await handleCost(roleId, sid, consume);
let resourceResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.TREASURE_HUNT_SHOP_BUY);
if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
//添加购买记录
await ActivityTreasureHuntShopModel.buyShopRecord(activityId, roleId, huntRoundIndex, playerData.todayIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.TREASURE_HUNT_SHOP_BUY)
item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -176,7 +176,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntTaskModel.receiveReward(serverId, activityId, roleId, huntRoundIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.TREASURE_HUNT_TASK_REWARD)
item.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -212,7 +212,7 @@ export class TreasureHuntHandler {
//消耗资源
let consumeStr = challengeData.consume;
let consume = stringToConsumeParam(consumeStr)
let resourceResult = await handleCost(roleId, sid, consume);
let resourceResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.TREASURE_HUNT_CHALLENGE);
if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let warId = playerData.challenge.randomGK();
@@ -255,14 +255,14 @@ export class TreasureHuntHandler {
let consumeStr = item.consume;
let consume = stringToConsumeParam(consumeStr)
let resourceResult = await handleCost(roleId, sid, consume);
let resourceResult = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.TREASURE_HUNT_SP_SHOP_BUY);
if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
//添加购买记录
await ActivityTreasureHuntTreasureShopModel.addRecord(activityId, roleId, huntRoundIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.TREASURE_HUNT_SP_SHOP_BUY)
item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -1,6 +1,6 @@
import { Application, BackendSession, HandlerService, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS, } from '../../../consts';
import { ITEM_CHANGE_REASON, STATUS, } from '../../../consts';
import { getPlayerVipRechargeMoneyData, } from '../../../services/activity/vipRechargeMoneyService';
import { VipRechargeMoneyItem } from '../../../domain/activityField/vipRechargeMoneyField';
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
@@ -68,7 +68,7 @@ export class VipRechargeMoneyHandler {
await ActivityVipRechargeMoneyModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.VIP_RECHARGE_MONEY)
item.receiveCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, {