提交 b46c67e5 编写于 作者: q289089000's avatar q289089000

4-11

上级 e89ecb9e
import { Orders } from './../orders/orders.model';
import { OrdersService } from './../orders/orders.service';
import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets'; import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets';
import { Socket,Client,Server} from 'socket.io'; import { Socket,Client,Server} from 'socket.io';
import { ResultDTO } from 'src/result.dto'; import { ResultDTO } from 'src/result.dto';
...@@ -13,10 +15,47 @@ import { rejects } from 'assert'; ...@@ -13,10 +15,47 @@ import { rejects } from 'assert';
export class OrderDataGateway { export class OrderDataGateway {
constructor(private _user:UserService,private _Orders:OrderDataService) { constructor(
private _user:UserService,
private _od:OrderDataService,
private _o:OrdersService
) {
console.log('OrderData gateway readed.'); console.log('OrderData gateway readed.');
} }
updateOrder(_id): Promise<Orders>{
return new Promise((resolve, reject) =>{
this._od.Get({"order":_id}).then(orderList=>{
let totalOrder={
//总箱
box:0,
//总额
total: 0
,size:0
,weight:0
};
//遍历统计
orderList.map((i)=>{
totalOrder.box+=i.box;
totalOrder.total+=(i.box*i.qty*i.price*i.discount);
totalOrder.size+=i.size;
totalOrder.weight+=i.weight;
})
//查找更新 发布
this._o.GetOne({_id:_id}).then(o=>{
o.box=totalOrder.box;
o.total=totalOrder.total;
o.size=totalOrder.size;
o.weight=totalOrder.weight;
o.save().then(ret=>{
resolve(ret)
//client.emit('freshOrder',ret)
})
})
})
})
}
@SubscribeMessage('OrderDataGet') @SubscribeMessage('OrderDataGet')
//@UseGuards(AuthGuard) //@UseGuards(AuthGuard)
...@@ -24,7 +63,7 @@ export class OrderDataGateway { ...@@ -24,7 +63,7 @@ export class OrderDataGateway {
console.log('OrderDataGet',filter); console.log('OrderDataGet',filter);
return new Promise((resolve, reject) =>{ return new Promise((resolve, reject) =>{
let result=new ResultDTO(); let result=new ResultDTO();
this._Orders.Get(filter).then(docs=>{ this._od.Get(filter).then(docs=>{
console.log("Finded:",docs.length); console.log("Finded:",docs.length);
if(docs){ if(docs){
result.ok=1; result.ok=1;
...@@ -42,7 +81,7 @@ export class OrderDataGateway { ...@@ -42,7 +81,7 @@ export class OrderDataGateway {
console.log('OrderDataGetOne',filter); console.log('OrderDataGetOne',filter);
return new Promise((resolve, reject) =>{ return new Promise((resolve, reject) =>{
let result=new ResultDTO(); let result=new ResultDTO();
this._Orders.GetOne(filter).then(doc=>{ this._od.GetOne(filter).then(doc=>{
if(doc){ if(doc){
result.ok=1; result.ok=1;
result.msg= "Geted." result.msg= "Geted."
...@@ -59,8 +98,13 @@ export class OrderDataGateway { ...@@ -59,8 +98,13 @@ export class OrderDataGateway {
console.log('OrderDataAdd',data); console.log('OrderDataAdd',data);
return new Promise((resolve, reject) =>{ return new Promise((resolve, reject) =>{
let result=new ResultDTO(); let result=new ResultDTO();
this._Orders.Add(data).then(doc=>{ this._od.Add(data).then(doc=>{
if(doc){ if(doc){
this.updateOrder(doc.order).then(order=>{
client.emit('freshOrder',order)
})
//添加数据完成 统计数据更新表单
result.ok=1; result.ok=1;
result.msg= "Added." result.msg= "Added."
result.count=1; result.count=1;
...@@ -81,9 +125,12 @@ export class OrderDataGateway { ...@@ -81,9 +125,12 @@ export class OrderDataGateway {
let result=new ResultDTO(); let result=new ResultDTO();
result.ok=1; result.ok=1;
//判断当前用户等级 //判断当前用户等级
this._Orders.Update(data).then(doc=>{ this._od.Update(data).then(doc=>{
console.log('UPD',doc) console.log('UPD',doc)
result.msg='Upded' this.updateOrder(doc.order).then(order=>{
client.emit('freshOrder',order)
})
result.msg='Upded OrderData'
result.data=doc; result.data=doc;
resolve(result) resolve(result)
}).catch(err=>{ }).catch(err=>{
......
...@@ -85,7 +85,7 @@ export class OrdersGateway { ...@@ -85,7 +85,7 @@ export class OrdersGateway {
//判断当前用户等级 //判断当前用户等级
this._Orders.Update(data).then(doc=>{ this._Orders.Update(data).then(doc=>{
console.log('UPD',doc) console.log('UPD',doc)
result.msg='Upded' result.msg='Upded Order'
result.data=doc; result.data=doc;
resolve(result) resolve(result)
}) })
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册