func(session): add Ip address to session,for analyze

This commit is contained in:
eagleon 2024-09-12 18:17:07 +08:00
parent e881735a23
commit 3feacde18d
7 changed files with 21 additions and 9 deletions

View file

@ -58,6 +58,7 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
subdivision1,
subdivision2,
city,
ip,
};
}
@ -80,6 +81,7 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
subdivision1,
subdivision2,
city,
ip,
});
} catch (e: any) {
if (!e.message.toLowerCase().includes('unique constraint')) {

View file

@ -221,4 +221,5 @@ export interface SessionData {
subdivision1: string;
subdivision2: string;
city: string;
ip: string;
}

View file

@ -15,6 +15,7 @@ export async function createSession(data: Prisma.SessionCreateInput) {
subdivision1,
subdivision2,
city,
ip,
} = data;
return prisma.client.session.create({
@ -31,6 +32,7 @@ export async function createSession(data: Prisma.SessionCreateInput) {
subdivision1,
subdivision2,
city,
ip,
},
});
}

View file

@ -25,6 +25,7 @@ async function relationalQuery(websiteId: string, sessionId: string) {
country,
subdivision1,
city,
ip,
min(min_time) as "firstAt",
max(max_time) as "lastAt",
count(distinct visit_id) as visits,
@ -44,6 +45,7 @@ async function relationalQuery(websiteId: string, sessionId: string) {
session.country,
session.subdivision1,
session.city,
session.ip,
min(website_event.created_at) as min_time,
max(website_event.created_at) as max_time,
sum(case when website_event.event_type = 1 then 1 else 0 end) as views,
@ -75,6 +77,7 @@ async function clickhouseQuery(websiteId: string, sessionId: string) {
country,
subdivision1,
city,
ip,
${getDateStringSQL('min(min_time)')} as firstAt,
${getDateStringSQL('max(max_time)')} as lastAt,
uniq(visit_id) visits,
@ -94,6 +97,7 @@ async function clickhouseQuery(websiteId: string, sessionId: string) {
country,
subdivision1,
city,
ip,
min(min_time) as min_time,
max(max_time) as max_time,
sum(views) as views,