xiongzhu 2 anni fa
parent
commit
1b858a6f45

+ 5 - 1
src/paper/dto/create-order.dto.ts

@@ -1,4 +1,4 @@
-import { IsString } from "class-validator";
+import { IsOptional, IsString } from "class-validator";
 
 export class CreatePaperOrderDto {
 
@@ -7,4 +7,8 @@ export class CreatePaperOrderDto {
 
     @IsString()
     description: string
+
+    @IsString()
+    @IsOptional()
+    remark?: string
 }

+ 3 - 0
src/paper/entities/paper-order.entity.ts

@@ -23,6 +23,9 @@ export class PaperOrder {
     @Column({ type: 'text' })
     description: string
 
+    @Column({ nullable: true })
+    remark?: string
+
     @Column({ type: 'enum', enum: PaperOrderStatus, default: PaperOrderStatus.Pending })
     status: PaperOrderStatus
 }

+ 6 - 1
src/paper/paper.controller.ts

@@ -1,4 +1,4 @@
-import { Body, Controller, Get, Param, Post, Put } from '@nestjs/common'
+import { Body, Controller, Get, Param, Patch, Post, Put } from '@nestjs/common'
 import { PaperService } from './paper.service'
 import { PageRequest } from '../common/dto/page-request'
 import { PaperOrder } from './entities/paper-order.entity'
@@ -29,6 +29,11 @@ export class PaperController {
         return await this.paperService.findOrderById(Number(id))
     }
 
+    @Patch('/orders/:id')
+    async updateOrder(@Param('id') id: string, @Body() data) {
+        return await this.paperService.updateOrder(Number(id), data)
+    }
+
     @Post('/orders/:id/gen')
     async gen(@Param('id') id: string) {
         return await this.paperService.gen(Number(id))

+ 7 - 3
src/paper/paper.service.ts

@@ -34,7 +34,7 @@ export class PaperService implements OnModuleInit {
         }
     }
 
-    async findAllOrders(req: PageRequest<PaperOrder>): Promise<Pagination<PaperOrder>> {
+    async findAllOrders(req: PageRequest<PaperOrder>) {
         return await paginate<PaperOrder>(this.paperOrderRepository, req.page, req.search)
     }
 
@@ -44,14 +44,18 @@ export class PaperService implements OnModuleInit {
         })
     }
 
-    async findAllResults(req: PageRequest<PaperGenResult>): Promise<Pagination<PaperGenResult>> {
+    async findAllResults(req: PageRequest<PaperGenResult>) {
         return await paginate<PaperGenResult>(this.paperGenResultRepository, req.page, req.search)
     }
 
-    async createOrder(dto: CreatePaperOrderDto): Promise<PaperOrder> {
+    async createOrder(dto: CreatePaperOrderDto) {
         return await this.paperOrderRepository.save(dto)
     }
 
+    async updateOrder(id: number, data) {
+        return await this.paperOrderRepository.update(id, data)
+    }
+
     async gen(orderId: number) {
         const order = await this.findOrderById(orderId)
         if (order.status === PaperOrderStatus.Generating) {