商店: 修复消耗

This commit is contained in:
luying
2021-03-31 21:01:12 +08:00
parent 481d5b98f7
commit 612c8263eb
11 changed files with 168 additions and 119 deletions
@@ -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);
}
}