diff --git a/apps/server/src/models/visit/visit.service.ts b/apps/server/src/models/visit/visit.service.ts index 20607e3..e050fa5 100755 --- a/apps/server/src/models/visit/visit.service.ts +++ b/apps/server/src/models/visit/visit.service.ts @@ -9,17 +9,22 @@ export class VisitService extends BaseService { } async create(args: Prisma.VisitCreateArgs, staff?: UserProfile) { const { postId, lectureId, messageId } = args.data; - const visitorId = args.data.visitorId || staff?.id; + const visitorId = args.data?.visitorId || staff?.id; let result; + console.log(args.data.type); + console.log(visitorId); + console.log(postId); const existingVisit = await db.visit.findFirst({ where: { type: args.data.type, - visitorId, - OR: [{ postId }, { lectureId }, { messageId }], + // visitorId: visitorId ? visitorId : null, + OR: [{ postId }, { messageId }], }, }); + console.log('result', existingVisit); if (!existingVisit) { result = await super.create(args); + console.log('createdResult', result); } else if (args.data.type === VisitType.READED) { result = await super.update({ where: { id: existingVisit.id }, diff --git a/apps/server/src/tasks/init/gendev.service.ts b/apps/server/src/tasks/init/gendev.service.ts index e2c31c9..e5c3f9f 100755 --- a/apps/server/src/tasks/init/gendev.service.ts +++ b/apps/server/src/tasks/init/gendev.service.ts @@ -31,6 +31,7 @@ export class GenDevService { domainDepts: Record = {}; staffs: Staff[] = []; deptGeneratedCount = 0; + courseGeneratedCount = 1; constructor( private readonly appConfigService: AppConfigService, @@ -194,8 +195,9 @@ export class GenDevService { cate.id, randomLevelId, ); + this.courseGeneratedCount++; this.logger.log( - `Generated ${this.deptGeneratedCount}/${total} departments`, + `Generated ${this.courseGeneratedCount}/${total} course`, ); } } diff --git a/apps/web/src/app/main/layout/MainHeader.tsx b/apps/web/src/app/main/layout/MainHeader.tsx index deb6b62..8598603 100755 --- a/apps/web/src/app/main/layout/MainHeader.tsx +++ b/apps/web/src/app/main/layout/MainHeader.tsx @@ -1,4 +1,3 @@ - import { Input, Layout, Avatar, Button, Dropdown } from "antd"; import { EditFilled, @@ -30,7 +29,6 @@ export function MainHeader() { - {/* 右侧区域 - 可以灵活收缩 */}
@@ -43,7 +41,9 @@ export function MainHeader() { className="w-full md:w-96 rounded-full" value={searchValue} onClick={(e) => { - if (!window.location.pathname.startsWith("/search")) { + if ( + !window.location.pathname.startsWith("/search") + ) { navigate(`/search`); window.scrollTo({ top: 0, @@ -53,7 +53,9 @@ export function MainHeader() { }} onChange={(e) => setSearchValue(e.target.value)} onPressEnter={(e) => { - if (!window.location.pathname.startsWith("/search")) { + if ( + !window.location.pathname.startsWith("/search") + ) { navigate(`/search`); window.scrollTo({ top: 0, @@ -74,8 +76,7 @@ export function MainHeader() { : "/course/editor"; navigate(url); }} - type="primary" - > + type="primary"> {id ? "编辑课程" : "创建课程"} @@ -87,7 +88,8 @@ export function MainHeader() { onClick={() => { window.location.href = "/path/editor"; }} - ghost type="primary" + ghost + type="primary" icon={}> 创建思维导图 @@ -100,7 +102,6 @@ export function MainHeader() { size="large" shape="round" onClick={() => navigate("/login")} - icon={}> 登录 @@ -110,4 +111,3 @@ export function MainHeader() {
); } - diff --git a/apps/web/src/components/models/course/detail/CourseDetailContext.tsx b/apps/web/src/components/models/course/detail/CourseDetailContext.tsx index 42ec128..c833dc5 100755 --- a/apps/web/src/components/models/course/detail/CourseDetailContext.tsx +++ b/apps/web/src/components/models/course/detail/CourseDetailContext.tsx @@ -85,17 +85,28 @@ export function CourseDetailProvider({ ); useEffect(() => { - if (lecture?.id) { + if (lectureId) { console.log(123); + console.log(lectureId); read.mutateAsync({ data: { visitorId: user?.id || null, - postId: lecture?.id, + postId: lectureId, + type: VisitType.READED, + }, + }); + } else { + console.log(321); + console.log(editId); + read.mutateAsync({ + data: { + visitorId: user?.id || null, + postId: editId, type: VisitType.READED, }, }); } - }, [course]); + }, [editId, lectureId]); useEffect(() => { if (lectureId !== selectedLectureId) { navigate(`/course/${editId}/detail/${selectedLectureId}`); diff --git a/apps/web/src/components/models/course/detail/CourseDetailTitle.tsx b/apps/web/src/components/models/course/detail/CourseDetailTitle.tsx index 940981b..de577eb 100755 --- a/apps/web/src/components/models/course/detail/CourseDetailTitle.tsx +++ b/apps/web/src/components/models/course/detail/CourseDetailTitle.tsx @@ -54,7 +54,9 @@ export default function CourseDetailTitle() {
{`观看次数${ - !selectedLectureId ? course?.views : lecture?.views || 0 + !selectedLectureId + ? course?.views || 0 + : lecture?.views || 0 }`}
diff --git a/packages/common/prisma/schema.prisma b/packages/common/prisma/schema.prisma index 7f5138e..ed02c77 100755 --- a/packages/common/prisma/schema.prisma +++ b/packages/common/prisma/schema.prisma @@ -286,8 +286,8 @@ model Visit { views Int @default(1) @map("views") // sourceIP String? @map("source_ip") // 关联关系 - visitorId String @map("visitor_id") - visitor Staff @relation(fields: [visitorId], references: [id]) + visitorId String? @map("visitor_id") + visitor Staff? @relation(fields: [visitorId], references: [id]) postId String? @map("post_id") post Post? @relation(fields: [postId], references: [id]) message Message? @relation(fields: [messageId], references: [id])