55 lines
2.9 KiB
TypeScript
55 lines
2.9 KiB
TypeScript
import { DataSource, Repository } from 'typeorm';
|
|
import { UserSignInModel } from 'src/model/user_sign_in.model';
|
|
import { UserSignInCalendarModel } from 'src/model/user_sign_in_calendar.model';
|
|
import { UserSignInTaskModel } from 'src/model/user_sign_in_task.model';
|
|
import { UserSignInTaskRewardModel } from 'src/model/user_sign_in_task_reward.model';
|
|
import { UserFinancialProductModel } from 'src/model/user_financial_product.model';
|
|
import { SignInProgressDayVo, TaskStatus } from '../vo/signin.vo';
|
|
export declare class SignInService {
|
|
private userSignInModel;
|
|
private userSignInCalendarModel;
|
|
private userSignInTaskModel;
|
|
private userSignInTaskRewardModel;
|
|
private userFinancialProductModel;
|
|
private dataSource;
|
|
constructor(userSignInModel: Repository<UserSignInModel>, userSignInCalendarModel: Repository<UserSignInCalendarModel>, userSignInTaskModel: Repository<UserSignInTaskModel>, userSignInTaskRewardModel: Repository<UserSignInTaskRewardModel>, userFinancialProductModel: Repository<UserFinancialProductModel>, dataSource: DataSource);
|
|
getSignInInfo(userId: number): Promise<import("src/app/common/api").ApiResponseVo<{
|
|
signToDay: boolean;
|
|
userId?: number | undefined;
|
|
firstSignInDate?: string;
|
|
lastSignInDate?: string;
|
|
consecutiveDays?: number | undefined;
|
|
makeUpCount?: number | undefined;
|
|
usedMakeUpCount?: number | undefined;
|
|
maxMakeUpCount?: number | undefined;
|
|
user?: import("../../../model/user.model").UserModel;
|
|
id?: number | undefined;
|
|
createTime?: string | undefined;
|
|
updateTime?: string | undefined;
|
|
deleteTime?: string;
|
|
} | undefined>>;
|
|
getSignInCalendar(userId: number, year: number, month: number): Promise<import("src/app/common/api").ApiResponseVo<import("src/app/common/api").PaginatedVo<UserSignInCalendarModel[]>>>;
|
|
getProgress(): Promise<import("src/app/common/api").ApiResponseVo<import("src/app/common/api").PaginatedVo<SignInProgressDayVo[]>>>;
|
|
getTaskList(userId: number): Promise<import("src/app/common/api").ApiResponseVo<never[] | undefined> | import("src/app/common/api").ApiResponseVo<import("src/app/common/api").PaginatedVo<({
|
|
id: number;
|
|
title: string;
|
|
subtitle: string;
|
|
requiredDays: number;
|
|
icon: string;
|
|
status: TaskStatus;
|
|
rewardId: number;
|
|
} | {
|
|
id: number;
|
|
title: string;
|
|
subtitle: string;
|
|
requiredDays: number;
|
|
icon: string;
|
|
status: TaskStatus;
|
|
rewardId: undefined;
|
|
})[]>>>;
|
|
todaySignIn(userId: number): Promise<import("src/app/common/api").ApiResponseVo<null>>;
|
|
makeUpSignIn(userId: number, date: string): Promise<import("src/app/common/api").ApiResponseVo<null>>;
|
|
private calcConsecutiveDays;
|
|
claimReward(userId: number, rewardId: number): Promise<import("src/app/common/api").ApiResponseVo<null>>;
|
|
}
|