'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; } }; };