order-num.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. const _ = require('lodash');
  3. const getOrderNum = async (ctx, data) => {
  4. const keys = [ 'breakfast', 'lunch', 'dinner' ];
  5. for (const key of keys) {
  6. if (_.get(data.arrange, key) && _.isArray(_.get(data.arrange, key))) {
  7. for (const i of _.get(data.arrange, key)) {
  8. const res = await ctx.model.Dining.Menu.findById(i._id);
  9. console.log(res.order);
  10. if (res) i.order = res.order;
  11. }
  12. }
  13. }
  14. return data;
  15. };
  16. module.exports = options => {
  17. return async function orderNum(ctx, next) {
  18. await next();
  19. const request = ctx.request;
  20. const { method } = request;
  21. if (method === 'GET') {
  22. let { data } = ctx.body;
  23. data = JSON.parse(JSON.stringify(data));
  24. // 将所有的菜谱中的点餐数量都换成原id的数量,做成实时数据
  25. if (_.isArray(data)) {
  26. for (let d of data) {
  27. d = await getOrderNum(ctx, d);
  28. }
  29. } else {
  30. data = await getOrderNum(ctx, data);
  31. }
  32. ctx.body.data = data;
  33. }
  34. };
  35. };