init
This commit is contained in:
@@ -1,34 +1,34 @@
|
||||
import { ACTIVITY_TYPE } from "../../consts/constModules/activityConst";
|
||||
import { ActivityAuthorGachaRecModel } from "../../db/AuthorGachaRec";
|
||||
import { UserGachaModel } from "../../db/UserGacha";
|
||||
import { AuthorGachaData } from "../../domain/activityField/authorGachaField";
|
||||
import { getGachaRemainFloor } from "../../pubUtils/util";
|
||||
import { getRoleCreateTime, getServerCreateTime } from "../redisService";
|
||||
import { getActivityById } from "./activityService";
|
||||
|
||||
export async function getPlayerAuthorGachaData(activityId: number, serverId: number, roleId: string) {
|
||||
let activityData = await getActivityById(activityId);
|
||||
if(!activityData) return
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new AuthorGachaData(activityData, createTime, serverTime);
|
||||
if ((playerData?.type || 0) != ACTIVITY_TYPE.AUTHOR_GACHA) return
|
||||
let playerRecord = await ActivityAuthorGachaRecModel.findData(serverId, activityId, playerData.roundIndex, roleId);
|
||||
playerData.setPlayerRecords(playerRecord);
|
||||
return playerData;
|
||||
}
|
||||
|
||||
export async function getUseGachaData(activityId: number, roleId: string, playerData: AuthorGachaData) {
|
||||
let userGacha = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId);
|
||||
let count = userGacha?.count || 0;
|
||||
let remainFloor = getGachaRemainFloor(playerData.gachaId, userGacha?.floor || []);
|
||||
return { count, remainFloor }
|
||||
}
|
||||
|
||||
export async function getPlayerAuthorGachaDataShow(activityId: number, serverId: number, roleId: string) {
|
||||
let playerData = await getPlayerAuthorGachaData(activityId, serverId, roleId);
|
||||
if (playerData && playerData.canShow && playerData.canShow()) {
|
||||
return { ...playerData.getShowResult(), ...await getUseGachaData(activityId, roleId, playerData) };
|
||||
}
|
||||
return null
|
||||
}
|
||||
import { ACTIVITY_TYPE } from "@consts/constModules/activityConst";
|
||||
import { ActivityAuthorGachaRecModel } from "@db/AuthorGachaRec";
|
||||
import { UserGachaModel } from "@db/UserGacha";
|
||||
import { AuthorGachaData } from "@domain/activityField/authorGachaField";
|
||||
import { getGachaRemainFloor } from "@pubUtils/util";
|
||||
import { getRoleCreateTime, getServerCreateTime } from "../redisService";
|
||||
import { getActivityById } from "./activityService";
|
||||
|
||||
export async function getPlayerAuthorGachaData(activityId: number, serverId: number, roleId: string) {
|
||||
let activityData = await getActivityById(activityId);
|
||||
if(!activityData) return
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new AuthorGachaData(activityData, createTime, serverTime);
|
||||
if ((playerData?.type || 0) != ACTIVITY_TYPE.AUTHOR_GACHA) return
|
||||
let playerRecord = await ActivityAuthorGachaRecModel.findData(serverId, activityId, playerData.roundIndex, roleId);
|
||||
playerData.setPlayerRecords(playerRecord);
|
||||
return playerData;
|
||||
}
|
||||
|
||||
export async function getUseGachaData(activityId: number, roleId: string, playerData: AuthorGachaData) {
|
||||
let userGacha = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId);
|
||||
let count = userGacha?.count || 0;
|
||||
let remainFloor = getGachaRemainFloor(playerData.gachaId, userGacha?.floor || []);
|
||||
return { count, remainFloor }
|
||||
}
|
||||
|
||||
export async function getPlayerAuthorGachaDataShow(activityId: number, serverId: number, roleId: string) {
|
||||
let playerData = await getPlayerAuthorGachaData(activityId, serverId, roleId);
|
||||
if (playerData && playerData.canShow && playerData.canShow()) {
|
||||
return { ...playerData.getShowResult(), ...await getUseGachaData(activityId, roleId, playerData) };
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user