数数:消耗来源

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);