diff --git a/src/app.module.ts b/src/app.module.ts index bd714a626b3bb1d4dd4d4ef55845d1ba79fbe3de..5903259246de38fb0e7771c7e055283391f18a6d 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -5,9 +5,7 @@ import { OrderDataModule } from './controller/orderdata/orderdata.module'; import { OrdersGateway } from './controller/orders/orders.gateway'; import { OrdersModule } from './controller/orders/orders.module'; import { SupplierGateway } from './controller/supplier/supplier.gateway'; -import { Module, Inject } from '@nestjs/common'; -import { AppController } from './app.controller'; -import { AppService } from './app.service'; +import { Module } from '@nestjs/common'; import * as mongoose from 'mongoose'; mongoose.set('useFindAndModify', false) @@ -18,15 +16,14 @@ import { UserModule } from './controller/user/user.module'; import { GlobalGateway } from './global.gateway'; import { AuthModule } from './controller/auth/auth.module'; - -import { AuthGateway } from './controller/auth/auth.gateway'; import { SupplierModule } from './controller/supplier/supplier.module'; import { ShipperModule } from './controller/shipper/shipper.module'; import { ShipperGateway } from './controller/shipper/shipper.gateway'; import { EventEmitter } from 'events'; import { PaymentModule } from './controller/payment/payment.module'; import { PaymentGateway } from './controller/payment/payment.gateway'; -import { UserGateway } from './controller/user/user.gateway'; +import { ShipperBillGateway } from './controller/shipper-bill/shipper-bill.gateway'; +import { ShipperBillModule } from './controller/shipper-bill/shipper-bill.module'; EventEmitter.defaultMaxListeners=1024; @@ -41,6 +38,7 @@ EventEmitter.defaultMaxListeners=1024; OrderDataModule, PaymentModule, ItemModule, + ShipperBillModule, ], controllers: [], @@ -53,6 +51,7 @@ EventEmitter.defaultMaxListeners=1024; OrderDataGateway, PaymentGateway, ItemGateway, + ShipperBillGateway, // UserGateway,UserService,HashService ], diff --git a/src/controller/item/item.gateway.ts b/src/controller/item/item.gateway.ts index 99236c13bd1f1c6efb48ce82c4cf38ea3b2604fc..ad07678c83cba0a37684a530c6a6e43122341095 100644 --- a/src/controller/item/item.gateway.ts +++ b/src/controller/item/item.gateway.ts @@ -35,7 +35,7 @@ export class ItemGateway { }) console.log('ItemGet',filter); return new Promise((resolve, reject) =>{ - let result=new ResultDTO(); + const result=new ResultDTO(); this._od.Get(filter).then(docs=>{ console.log("Finded:",docs.length); if(docs){ @@ -52,8 +52,8 @@ export class ItemGateway { @SubscribeMessage('ItemGetOne') GetOne( client: Socket, filter: any): Promise { console.log('ItemGetOne',filter); - return new Promise((resolve, reject) =>{ - let result=new ResultDTO(); + return new Promise((resolve) =>{ + const result=new ResultDTO(); this._od.GetOne(filter).then(doc=>{ if(doc){ result.ok=1; diff --git a/src/controller/shipper-bill/shipper-bill.gateway.ts b/src/controller/shipper-bill/shipper-bill.gateway.ts new file mode 100644 index 0000000000000000000000000000000000000000..99657fa79aa0397ad97809b4f7f372455b5a3e9f --- /dev/null +++ b/src/controller/shipper-bill/shipper-bill.gateway.ts @@ -0,0 +1,100 @@ +import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets'; +import { Socket} from 'socket.io'; +import { ResultDTO } from 'src/result.dto'; +import { ShipperBillService } from './shipper-bill.service'; + + + +@WebSocketGateway({namespace: 'api'}) + +export class ShipperBillGateway { + + constructor(private _ShipperBill:ShipperBillService) { + console.log('ShipperBill gateway readed.'); + } + + + @SubscribeMessage('ShipperBillGet') + //@UseGuards(AuthGuard) + Get( client: Socket, filter: any): Promise { + console.log('ShipperBillGet',filter); + return new Promise((resolve, reject) =>{ + const result=new ResultDTO(); + this._ShipperBill.Get(filter).then(docs=>{ + console.log("Finded:",docs.length); + if(docs){ + result.ok=1; + result.msg= "Geted." + result.count=docs.length; + result.data=docs + resolve(result) + } + }) + }) + } + + @SubscribeMessage('ShipperBillGetOne') + GetOne( client: Socket, filter: any): Promise { + console.log('ShipperBillGetOne',filter); + return new Promise((resolve, reject) =>{ + const result=new ResultDTO(); + this._ShipperBill.GetOne(filter).then(doc=>{ + if(doc){ + result.ok=1; + result.msg= "Geted." + result.count=1; + result.data=doc + resolve(result) + } + }) + }) + } + + @SubscribeMessage('ShipperBillAdd') + Add(client: Socket, data: any): Promise { + console.log('ShipperBillAdd',data); + return new Promise((resolve, reject) =>{ + const result=new ResultDTO(); + this._ShipperBill.Add(data).then(doc=>{ + if(doc){ + result.ok=1; + result.msg= "Added." + result.count=1; + result.data=doc + resolve(result) + } + + }) + }) + + + } + + + @SubscribeMessage('ShipperBillUpd') + Update(client: Socket, data: any): Promise { + return new Promise((resolve, reject)=>{ + const result=new ResultDTO(); + result.ok=1; + //判断当前用户等级 + this._ShipperBill.Update(data).then(doc=>{ + console.log('UPD',doc) + result.msg='Upded' + result.data=doc; + resolve(result) + }) + + }) + } + + @SubscribeMessage('ShipperBillDelete') + Delete(client: Socket, data: any): Promise { + return new Promise((resolve, reject)=>{ + const result=new ResultDTO(); + result.ok=1; + //判断当前用户等级 + resolve(result) + }) + } + +} diff --git a/src/controller/shipper-bill/shipper-bill.model.ts b/src/controller/shipper-bill/shipper-bill.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..3e435aa9caa7fb60b12c09587acf23ca210e2611 --- /dev/null +++ b/src/controller/shipper-bill/shipper-bill.model.ts @@ -0,0 +1,59 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document, Schema as mSchame } from 'mongoose'; + +@Schema() +export class ShipperBill extends Document { + //_id?:string; + + //发货人 + @Prop({ + type: mSchame.Types.ObjectId, + ref: "Supplier" + }) + supplier: string; + //物流公司 + @Prop({ + type: mSchame.Types.ObjectId, + ref: "Shipper" + }) + shipper: string; + + @Prop({ + default: Date.now + }) + date: Date; + + //运单号 + @Prop() + no: string; + + //箱数 + @Prop() + box: number + //收货 + @Prop() + got: number + + //重量 + @Prop() + weight: number + //大小 + @Prop() + size: number + + //计费单价 + @Prop() + price: number + + //计费方式 + @Prop() + paytype: number + + //总金额 + @Prop() + total: number + + +} + +export const ShipperBillSchema = SchemaFactory.createForClass(ShipperBill); \ No newline at end of file diff --git a/src/controller/shipper-bill/shipper-bill.module.ts b/src/controller/shipper-bill/shipper-bill.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..620e39c1ea5aac654383359ae21a8e1f8daebbe4 --- /dev/null +++ b/src/controller/shipper-bill/shipper-bill.module.ts @@ -0,0 +1,17 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { ShipperBillSchema } from './shipper-bill.model'; +import { ShipperBillService } from './shipper-bill.service'; + +@Module({ + imports: [MongooseModule.forFeature([{ name: 'ShipperBill', schema:ShipperBillSchema }])], + controllers: [], + providers: [ShipperBillService], + exports:[ShipperBillService] +}) +export class ShipperBillModule { + constructor(){ + console.log("ShipperBill Module."); + + } +} \ No newline at end of file diff --git a/src/controller/shipper-bill/shipper-bill.service.ts b/src/controller/shipper-bill/shipper-bill.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..5683e713ae59f4905a56f423f8e82dbbb58e9d2c --- /dev/null +++ b/src/controller/shipper-bill/shipper-bill.service.ts @@ -0,0 +1,53 @@ +import { Model } from 'mongoose'; +import { Injectable, Inject } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { ShipperBill } from './shipper-bill.model'; + +@Injectable() +export class ShipperBillService { + constructor( + @InjectModel('ShipperBill') public _model: Model, + ) { + console.log('Shipper Service '); + } + + //创建 Shipper + async Get(filter:any):Promise{ + return this._model.find(filter) + + } + async GetOne(filter:any):Promise{ + return this._model.findOne(filter) + + } + //创建 Shipper + async Add(theShipper:ShipperBill):Promise{ + //make a Shipper. + const newItem = new this._model(theShipper); + //set user and limit + return newItem.save(); + + } + + //Update + async Update(theShipper:ShipperBill):Promise{ + try { + const newItem = new this._model(theShipper); + newItem.isNew=false; + return newItem.save() + } catch (e) { + console.log(e); + } + + } + + //删除 +async Delete(theShipper:ShipperBill):Promise{ + try { + return this._model.remove(theShipper) + } catch (e) { + console.log(e); + } +} + +}