zs пре 1 година
родитељ
комит
0598207a93
2 измењених фајлова са 40 додато и 0 уклоњено
  1. 10 0
      src/controller/OrderDetail.controller.ts
  2. 30 0
      src/service/OrderDetail.service.ts

+ 10 - 0
src/controller/OrderDetail.controller.ts

@@ -35,6 +35,16 @@ export class OrderDetailController extends BaseController {
     const result = new CVO_OrderDetail(dbData);
     return result;
   }
+
+  @Get('/queryInfo')
+  @ApiQuery({ name: 'queryInfo' })
+  @ApiResponse({ type: QVO_OrderDetail })
+  async queryInfo(@Query() filter: any) {
+    const list: any = await this.service.queryInfo(filter);
+    const data = list.list;
+    const total = list.total;
+    return { data, total };
+  }
   @Get('/')
   @ApiQuery({ name: 'query' })
   @ApiResponse({ type: QVO_OrderDetail })

+ 30 - 0
src/service/OrderDetail.service.ts

@@ -3,9 +3,39 @@ import { InjectEntityModel } from '@midwayjs/typegoose';
 import { ReturnModelType } from '@typegoose/typegoose';
 import { BaseService } from 'free-midway-component';
 import { OrderDetail } from '../entity/OrderDetail.entity';
+import { Good } from '../entity/Good.entity';
+import { Specs } from '../entity/Specs.entity';
+import { User } from '../entity/User.entity';
 type modelType = ReturnModelType<typeof OrderDetail>;
 @Provide()
 export class OrderDetailService extends BaseService<modelType> {
   @InjectEntityModel(OrderDetail)
   model: modelType;
+
+  @InjectEntityModel(Good)
+  goodModel: ReturnModelType<typeof Good>;
+
+  @InjectEntityModel(Specs)
+  specModel: ReturnModelType<typeof Specs>;
+
+  @InjectEntityModel(User)
+  userModel: ReturnModelType<typeof User>;
+
+  async queryInfo(filter): Promise<object> {
+    const { skip = 0, limit, ...info } = filter;
+    let list: any = [];
+    let total: any = 0;
+    list = await this.model.find(info).skip(skip).limit(limit).lean();
+    total = await this.model.count(info);
+    for (const val of list) {
+      let res;
+      res = await this.goodModel.findById(val.good).lean();
+      val.good_name = res.name;
+      res = await this.specModel.findById(val.spec).lean();
+      val.spec_name = res.name;
+      res = await this.userModel.findById(val.user).lean();
+      val.user_name = res.name;
+    }
+    return { list, total };
+  }
 }