lrf 2 months ago
parent
commit
4e8d616280

+ 1 - 0
src/controller/gsxx.controller.ts

@@ -31,6 +31,7 @@ export class GsxxController {
   @Get('/detail/:content_id', { routerName: '供水信息各详情' })
   async detail(@Param('content_id') content_id: string) {
     const data = await this.service.contentDetail(content_id)
+    // TODO:增加浏览量,然后将浏览量放到返回数据中
     return RF.success(data);
   }
 }

+ 1 - 0
src/controller/jtxw.controller.ts

@@ -29,6 +29,7 @@ export class JtxwController {
   @Get('/detail/:content_id', { routerName: '集团新闻详情' })
   async detail(@Param('content_id') content_id: string) {
     const data = await this.service.contentDetail(content_id)
+    // TODO:增加浏览量,然后将浏览量放到返回数据中
     return RF.success(data);
   }
 }

+ 23 - 0
src/entityV2/pageView.entity.ts

@@ -0,0 +1,23 @@
+import dayjs = require('dayjs');
+import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, VersionColumn } from 'typeorm';
+
+@Entity('pageView', { comment: '浏览记录' })
+export class PageView {
+  /**数据id */
+  @PrimaryGeneratedColumn({ type: 'integer' })
+  id: number;
+  /**数据创建时间 */
+  @CreateDateColumn({ type: 'timestamp', transformer: { from: value => (value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : value), to: value => value } })
+  created_time?: Date;
+  /**数据最后更新时间 */
+  @UpdateDateColumn({ type: 'timestamp', transformer: { from: value => (value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : value), to: value => value } })
+  update_time?: Date;
+  /**数据版本 */
+  @VersionColumn({ type: 'integer', default: 1 })
+  __v?: number;
+
+  @Column({ comment: 'content_id', nullable: true })
+  content_id: number;
+  @Column({ comment: '浏览量', default: 1 })
+  num: number
+}

+ 26 - 0
src/service/v2/pageView.service.ts

@@ -0,0 +1,26 @@
+import { Provide } from "@midwayjs/core";
+import { InjectEntityModel } from "@midwayjs/typeorm";
+import { Repository } from "typeorm";
+import { PageView } from "../../entityV2/pageView.entity";
+import { get } from "lodash";
+
+@Provide()
+export class PageViewService {
+  @InjectEntityModel(PageView, 'v2')
+  model: Repository<PageView>;
+  /**查询浏览量,直接把当前的添加上 */
+  async fetch(content_id) {
+    const data = await this.model.createQueryBuilder().where(`content_id=:content_id`, { content_id }).getOne()
+    let num = 1;
+    if (!data) {
+      const body = { content_id }
+      await this.model.save(body);
+    } else {
+      const id = get(data, 'id')
+      num = get(data, 'num', 1);
+      num = num + 1
+      await this.model.update({ id }, { num })
+    }
+    return num
+  }
+}