/** * 每日本相关 */ import { DailyRecordModel } from '../db/DailyRecord'; import { getGamedata } from '../pubUtils/gamedata'; import { resResult } from '../pubUtils/util'; import { STATUS } from '../consts/statusCode'; // 检查每日本次数checkBattle使用 export async function checkDaily(roleId: string, battleId: number, inc: number) { let dicDaily = getGamedata('dic_zyz_daily'); let dicDailyWar = getGamedata('dic_zyz_gk_daily'); let dailyWar = dicDailyWar.find(cur => cur.war_id == battleId); if(!dailyWar) return { status: -1, resResult: resResult(STATUS.DAILY_WAR_NOT_FOUND) }; let type = dailyWar.dailyType; let curDaily = dicDaily.find(cur => cur.dailyType == type); if(!curDaily) return { status: -1, resResult: resResult(STATUS.DAILY_TYPE_NOT_FOUND) }; let dailyRecord = await DailyRecordModel.refreshRecord(roleId, type); let { count } = dailyRecord; if(count + inc > curDaily.sum ) { return { status: -1, resResult: resResult(STATUS.DAILY_TIMES_LACK) } } return {status: 1, type, count, sum: curDaily.sum}; } // 检查每日本次数warEnd和warSweep使用 export async function checkDailyAndIncrease(roleId: string, battleId: number, inc: number, isRef: boolean) { let dicDaily = getGamedata('dic_zyz_daily'); let dicDailyWar = getGamedata('dic_zyz_gk_daily'); let dailyWar = dicDailyWar.find(cur => cur.war_id == battleId); if(!dailyWar) return { status: -1, resResult: resResult(STATUS.DAILY_WAR_NOT_FOUND) }; let type = dailyWar.dailyType; let curDaily = dicDaily.find(cur => cur.dailyType == type); if(!curDaily) return { status: -1, resResult: resResult(STATUS.DAILY_TYPE_NOT_FOUND) }; let dailyRecord: any; if(isRef) { dailyRecord = await DailyRecordModel.refreshRecord(roleId, type); } else { dailyRecord = await DailyRecordModel.getDailyRecordById(roleId, type); } let { count } = dailyRecord; if(count + inc > curDaily.sum ) { return { status: -1, resResult: resResult(STATUS.DAILY_TIMES_LACK) } } let result = await DailyRecordModel.increseDailyCount(roleId, type, inc); return {status: 1, type, count: result.count, sum: curDaily.sum}; }