✨ feat(db): 给UserGacha添加只读库和相关操作
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Floor as UserFloor, Hope as UserHope, GachaListReturn, GachaResultIndb } from "../../domain/activityField/gachaField";;
|
||||
import { DicGacha } from "../../pubUtils/dictionary/DicGacha";
|
||||
import { UserGachaType, UserGachaModel } from "../../db/UserGacha";
|
||||
import UserGacha, { UserGachaType } from "../../db/UserGacha";
|
||||
import { shouldRefresh, getRandEelm, getRandEelmWithWeight, getRandSingleIndex, getRandSingleEelm } from "../../pubUtils/util";
|
||||
import { REFRESH_TIME, GACHA_FLOOR_TYPE, HERO_QUALITY_TYPE, IT_TYPE, ITID, CONSUME_TYPE, SPECIAL_ATTR, TIME_OUTPUT_TYPE, GACHA_TYPE, GACHA_PLAN_TYPE } from "../../consts";
|
||||
import { getTimeFunD, getZeroPointD } from "../../pubUtils/timeUtil";
|
||||
@@ -19,7 +19,7 @@ import { isGoodsHidden, isHeroHidden } from "../dataService";
|
||||
* @param roleId
|
||||
*/
|
||||
export async function getGachaList(roleId: string) {
|
||||
let userGachaList = await UserGachaModel.findAllByRole(roleId);
|
||||
let userGachaList = await UserGacha.findAllByRole(roleId);
|
||||
let list: GachaListReturn[] = [];
|
||||
for (let [id, dicGacha] of gameData.gacha) {
|
||||
if(!dicGacha.showInMainPage) continue;
|
||||
@@ -55,12 +55,12 @@ export async function refreshGacha(dicGacha: DicGacha, userGacha: UserGachaType)
|
||||
let { roleId, gachaId, refFreeTime, refHopeTime, hope } = userGacha;
|
||||
if (shouldRefresh(refFreeTime, new Date(), REFRESH_TIME, day)) {
|
||||
let ref = <Date>getTimeFunD().getAfterDayByGap(refFreeTime, day);
|
||||
userGacha = await UserGachaModel.refreshFreeCount(roleId, gachaId, 0, ref);
|
||||
userGacha = await UserGacha.refreshFreeCount(roleId, gachaId, 0, ref);
|
||||
}
|
||||
if (shouldRefresh(refHopeTime, new Date(), REFRESH_TIME)) {
|
||||
hope = hope.map(cur => { return { ...cur, hasGet: false } });
|
||||
let ref = getZeroPointD();
|
||||
userGacha = await UserGachaModel.refreshHopeCount(roleId, gachaId, 0, hope, ref);
|
||||
userGacha = await UserGacha.refreshHopeCount(roleId, gachaId, 0, hope, ref);
|
||||
}
|
||||
return userGacha
|
||||
}
|
||||
@@ -68,7 +68,7 @@ export async function refreshGacha(dicGacha: DicGacha, userGacha: UserGachaType)
|
||||
|
||||
export async function getVisitedHeroList(roleId: string) {
|
||||
let gachaId = getNormalGachaId();
|
||||
let { visitedHero, refVisitedTime } = await UserGachaModel.findByRole(roleId, gachaId, 0);
|
||||
let { visitedHero, refVisitedTime } = await UserGacha.findByRole(roleId, gachaId, 0);
|
||||
if (shouldRefresh(refVisitedTime, new Date())) {
|
||||
visitedHero = [];
|
||||
}
|
||||
@@ -567,7 +567,7 @@ export async function getGuideGachaData(serverId: number, activityId: number, ro
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new GuideGachaData(activityData, createTime, serverTime);
|
||||
let userGacha = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId);
|
||||
let userGacha = await UserGacha.findByRole(roleId, playerData.gachaId, activityId);
|
||||
playerData.setPlayerData(userGacha);
|
||||
if(playerData.hasChoosen || playerData.neverChoose()) return null;
|
||||
return playerData;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ACTIVITY_TYPE } from '../../consts';
|
||||
import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db/ActivityNewHeroGift';
|
||||
import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/ActivityNewHeroGK';
|
||||
import { UserGachaModel, UserGachaType } from '../../db/UserGacha';
|
||||
import UserGacha, { UserGachaType } from '../../db/UserGacha';
|
||||
import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField';
|
||||
import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField';
|
||||
import { NewHeroGKData } from '../../domain/activityField/newHeroGKField';
|
||||
@@ -25,11 +25,11 @@ import { refreshGacha } from './gachaService';
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new NewHeroGachaData(activityData, createTime, serverTime);
|
||||
let userGacha: UserGachaType = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId);
|
||||
let userGacha: UserGachaType = await UserGacha.findByRole(roleId, playerData.gachaId, activityId);
|
||||
let dicGacha = gameData.gacha.get(playerData.gachaId);
|
||||
userGacha = await refreshGacha(dicGacha, userGacha);
|
||||
if(!userGacha.pickHero) {
|
||||
userGacha = await UserGachaModel.updateInfo(roleId, playerData.gachaId, activityId, { pickHero: playerData.getDefaultHero() })
|
||||
userGacha = await UserGacha.updateInfo(roleId, playerData.gachaId, activityId, { pickHero: playerData.getDefaultHero() })
|
||||
}
|
||||
playerData.setPlayerRecords(userGacha, dicGacha);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user