declare_order.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. const _ = require('lodash');
  3. const idToData = async (ctx, id) => {
  4. // 需要请求获取
  5. const res = await ctx.service.util.httpUtil.cget(`/mechanism/${id}`, 'hnhmain');
  6. if (res) {
  7. return res;
  8. }
  9. };
  10. module.exports = options => {
  11. return async function declare_order(ctx, next) {
  12. const request = ctx.request;
  13. await next();
  14. const { method } = request;
  15. if (method === 'GET') {
  16. // 处理get的时mechanism_id换成对应的数据
  17. let { data } = ctx.body;
  18. data = JSON.parse(JSON.stringify(data));
  19. if (_.isArray(data)) {
  20. // 数组,多个,循环查
  21. for (const i of data) {
  22. const { mechanism_id } = i;
  23. const res = await idToData(ctx, mechanism_id);
  24. if (res)i.mechanism = res;
  25. }
  26. } else if (_.isObject(data)) {
  27. // 一个,找完就完事
  28. const { mechanism_id } = data;
  29. const res = await idToData(ctx, mechanism_id);
  30. if (res) data.mechanism = res;
  31. }
  32. ctx.body.data = data;
  33. }
  34. };
  35. };