商店: 修复消耗
This commit is contained in:
@@ -112,6 +112,7 @@ export class RaceActivityHandler {
|
||||
|
||||
let events = obj.getEvents(guildCode, woodenHorse.distance);
|
||||
let hasJoin = obj.hasJoin(guildCode, roleId);
|
||||
let items = obj.getItem(roleId);
|
||||
|
||||
let woodenHorseList = await getWoodenHorseList(guildCode, serverId);
|
||||
|
||||
@@ -119,7 +120,8 @@ export class RaceActivityHandler {
|
||||
...statusResult,
|
||||
hasJoin,
|
||||
woodenHorseList,
|
||||
events
|
||||
events,
|
||||
items
|
||||
});
|
||||
}
|
||||
|
||||
@@ -144,7 +146,7 @@ export class RaceActivityHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
timestamp: Date.now(),
|
||||
event: obj.getEvents(guildCode, 0)
|
||||
events: obj.getEvents(guildCode, 0)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import { handleCost, addItems } from "../../../services/rewardService";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { SHOP } from "../../../pubUtils/dicParam";
|
||||
import { getHonourObject } from "../../../pubUtils/itemUtils";
|
||||
import { HeroModel } from "../../../db/Hero";
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ShopHandler(app);
|
||||
@@ -94,6 +95,13 @@ export class ShopHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let goodsId = dicShopItem.goodid;
|
||||
let skinInfo = gameData.fashion.get(goodsId);
|
||||
if (skinInfo) {
|
||||
let hero = await HeroModel.findByHidAndRole(skinInfo.actorId, roleId);
|
||||
if(!hero) return resResult(STATUS.SKIN_HAS_NOT_HERO);
|
||||
}
|
||||
|
||||
let dbShop = await DicShopListModel.findByShopId(dicShopItem.shop);
|
||||
|
||||
let discount = 1;
|
||||
@@ -105,8 +113,10 @@ export class ShopHandler {
|
||||
}
|
||||
|
||||
let userShop = await UserShopModel.findByRoleAndItem(roleId, dicShopItem.id);
|
||||
if(userShop && userShop.count + count > dicShopItem.purchaseLimit) {
|
||||
return resResult(STATUS.BUY_COUNT_OVER);
|
||||
if(dicShopItem.purchaseLimit != -1) {
|
||||
if(userShop && userShop.count + count > dicShopItem.purchaseLimit) {
|
||||
return resResult(STATUS.BUY_COUNT_OVER);
|
||||
}
|
||||
}
|
||||
|
||||
// 消耗
|
||||
@@ -184,4 +194,12 @@ export class ShopHandler {
|
||||
await DicShopListModel.createShop(dic.shop, true, { id, order: index--, discount: 1 })
|
||||
}
|
||||
}
|
||||
|
||||
// !测试接口。 去除限购次数
|
||||
async clearPurchaseLimit(msg: { goodsId: number, count: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
|
||||
await UserShopModel.deleteAccount(roleId);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
@@ -158,6 +158,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
|
||||
let skinInfos = [];
|
||||
let addSkinIds = [];
|
||||
|
||||
for (let skinId of skins) {//皮肤推送
|
||||
let result = await addSkins(roleId, skinId);
|
||||
if (!!result) {
|
||||
|
||||
Reference in New Issue
Block a user