1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict';
- const _ = require('lodash');
- const getOrderNum = async (ctx, data) => {
- const keys = [ 'breakfast', 'lunch', 'dinner' ];
- for (const key of keys) {
- if (_.get(data.arrange, key) && _.isArray(_.get(data.arrange, key))) {
- for (const i of _.get(data.arrange, key)) {
- const res = await ctx.model.Dining.Menu.findById(i._id);
- console.log(res.order);
- if (res) i.order = res.order;
- }
- }
- }
- return data;
- };
- module.exports = options => {
- return async function orderNum(ctx, next) {
- await next();
- const request = ctx.request;
- const { method } = request;
- if (method === 'GET') {
- let { data } = ctx.body;
- data = JSON.parse(JSON.stringify(data));
- // 将所有的菜谱中的点餐数量都换成原id的数量,做成实时数据
- if (_.isArray(data)) {
- for (let d of data) {
- d = await getOrderNum(ctx, d);
- }
- } else {
- data = await getOrderNum(ctx, data);
- }
- ctx.body.data = data;
- }
- };
- };
|