活动:每日限购活动扩展资源消耗的字段
This commit is contained in:
@@ -2,10 +2,11 @@ import { Application, BackendSession } from 'pinus';
|
|||||||
import { deltaDays, resResult } from '../../../pubUtils/util';
|
import { deltaDays, resResult } from '../../../pubUtils/util';
|
||||||
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, SERVER_OPEN_TIME, STATUS } from '../../../consts';
|
import { ACTIVITY_TYPE, FIRST_GIFT_STATE, SERVER_OPEN_TIME, STATUS } from '../../../consts';
|
||||||
import { newPlayerLimitPackageActivity, getPlayerLimitPackageData, limitPackageActivity } from '../../../services/limitPackageService';
|
import { newPlayerLimitPackageActivity, getPlayerLimitPackageData, limitPackageActivity } from '../../../services/limitPackageService';
|
||||||
import { addReward, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService';
|
import { addReward, stringToConsumeParam, stringToRewardParam, useGiftPackage } from '../../../services/giftPackageService';
|
||||||
import { ActivityShopModel } from '../../../db/ActivityShop';
|
import { ActivityShopModel } from '../../../db/ActivityShop';
|
||||||
import moment = require('moment');
|
import moment = require('moment');
|
||||||
import { RoleModel } from '../../../db/Role';
|
import { RoleModel } from '../../../db/Role';
|
||||||
|
import { handleCost } from '../../../services/rewardService';
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new LimitPackageHandler(app);
|
return new LimitPackageHandler(app);
|
||||||
@@ -108,6 +109,14 @@ export class LimitPackageHandler {
|
|||||||
if (item.countMax > 0 && item.buyCount >= item.countMax) {
|
if (item.countMax > 0 && item.buyCount >= item.countMax) {
|
||||||
return resResult(STATUS.ACTIVITY_MAX_COUNT);
|
return resResult(STATUS.ACTIVITY_MAX_COUNT);
|
||||||
}
|
}
|
||||||
|
if (item.price > 0) {
|
||||||
|
return resResult(STATUS.ACTIVITY_NEED_PAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
//检查资源
|
||||||
|
let consume = stringToConsumeParam(item.consume)
|
||||||
|
let consumeResult = await handleCost(roleId, sid, consume);
|
||||||
|
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
|
||||||
|
|
||||||
let rewardArray = stringToRewardParam(item.reward)
|
let rewardArray = stringToRewardParam(item.reward)
|
||||||
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray);
|
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export class ShopItem {
|
|||||||
name: string; //名字
|
name: string; //名字
|
||||||
price: number; //价格
|
price: number; //价格
|
||||||
productID: string; //商品id
|
productID: string; //商品id
|
||||||
|
consume: string; //消耗
|
||||||
imageName: string;
|
imageName: string;
|
||||||
discount: number; //折扣
|
discount: number; //折扣
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@ export class ShopItem {
|
|||||||
this.productID = data.productID;
|
this.productID = data.productID;
|
||||||
this.imageName = data.imageName;
|
this.imageName = data.imageName;
|
||||||
this.discount = data.discount ? data.discount : 0;
|
this.discount = data.discount ? data.discount : 0;
|
||||||
|
this.consume = data.consume ? data.consume : '';
|
||||||
this.buyCount = 0;
|
this.buyCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user