抽卡:修复拜访、引导抽卡、转盘bug

This commit is contained in:
luying
2022-07-08 14:47:39 +08:00
parent bbfa4b51c5
commit 040a3c96b1
2 changed files with 12 additions and 5 deletions

View File

@@ -4,7 +4,7 @@ import { STATUS, GACHA_TYPE, HERO_QUALITY_TYPE, TASK_TYPE, ITEM_CHANGE_REASON, }
import { gameData } from "../../../pubUtils/data";
import { GachaData, GachaResultIndb } from "../../../domain/activityField/gachaField";
import { SimpleResult, UserGachaModel } from "../../../db/UserGacha";
import { refreshGacha, getGachaList, getVisitedHeroList, GachaPull, getGuideGachaId, GachaResults, getDicGachaByGachaCnt } from "../../../services/activity/gachaService";
import { refreshGacha, getGachaList, getVisitedHeroList, GachaPull, getGuideGachaId, GachaResults, getDicGachaByGachaCnt, getNormalGachaId } from "../../../services/activity/gachaService";
import { RoleModel } from "../../../db/Role";
import { HeroModel } from "../../../db/Hero";
import { handleCost, addItems } from "../../../services/role/rewardService";
@@ -291,7 +291,8 @@ export class GachaHandler {
if (index == -1) return resResult(STATUS.GACHA_CAN_NOT_PICK);
let { pieceId } = dicHero;
let { visitedHero, refVisitedTime } = await UserGachaModel.findByRole(roleId, GACHA_TYPE.NORMAL, 0);
let gachaId = getNormalGachaId();
let { visitedHero, refVisitedTime } = await UserGachaModel.findByRole(roleId, gachaId, 0);
if (shouldRefresh(refVisitedTime, new Date())) {
visitedHero = [];
refVisitedTime = getZeroPointD();
@@ -304,7 +305,7 @@ export class GachaHandler {
}
visitedHero.push(hid);
let userGacha = await UserGachaModel.updateInfo(roleId, GACHA_TYPE.NORMAL, 0, { visitedHero, refVisitedTime });
let userGacha = await UserGachaModel.updateInfo(roleId, gachaId, 0, { visitedHero, refVisitedTime });
let goods = await addItems(roleId, roleName, sid, [{ id: pieceId, count: RECRUIT.RECRUIT_SHARD_LIMIT }], ITEM_CHANGE_REASON.VISIT_HERO);
return resResult(STATUS.SUCCESS, {
@@ -325,7 +326,8 @@ export class GachaHandler {
let { gachaHasGuide } = await RoleModel.findByRoleId(roleId, 'gachaHasGuide');
let guideCount = 0, guideResultList = [], candidates = [];
if(!gachaHasGuide) {
const userGacha = await UserGachaModel.findByRole(roleId, GACHA_TYPE.NORMAL);
let gachaId = getGuideGachaId();
const userGacha = await UserGachaModel.findByRole(roleId, gachaId);
({ guideCount = 0, guideResultList = [], candidates = [] } = userGacha);
}
@@ -350,7 +352,7 @@ export class GachaHandler {
const gachaId = getGuideGachaId();
const dicGacha = gameData.gacha.get(gachaId);
let userGacha = await UserGachaModel.findByRole(roleId, GACHA_TYPE.NORMAL);
let userGacha = await UserGachaModel.findByRole(roleId, gachaId);
let { guideCount = 0 } = userGacha;
if(guideCount >= RECRUIT.RECRUIT_FIRST_RECRUIT) return resResult(STATUS.GACHA_GUIDE_PULL_CNT_LACK);