log.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 'use strict';
  2. const Service = require('egg').Service;
  3. const assert = require('assert');
  4. const moment = require('moment');
  5. class LogService extends Service {
  6. async create({ mondel, method, data, result }) {
  7. assert(mondel, '模块不存在');
  8. assert(method, '类型不存在');
  9. assert(data, '数据不存在');
  10. assert(result, '结果不存在');
  11. const { Log: model } = this.ctx.model;
  12. const createAt = moment().format('x');
  13. try {
  14. await model.create({ data, method, createAt, mondel, result });
  15. return { errmsg: '', errcode: 0 };
  16. } catch (error) {
  17. console.log(error);
  18. throw new Error({ errcode: -2001, errmsg: '添加失败' });
  19. }
  20. }
  21. async del({ id }) {
  22. assert(id, 'id不存在');
  23. const { Log: model } = this.ctx.model;
  24. try {
  25. await model.findById(id).remove();
  26. return { errmsg: '', errcode: 0 };
  27. } catch (error) {
  28. throw new Error({ errcode: -2001, errmsg: '删除失败' });
  29. }
  30. }
  31. async query({ skip, limit, mondel, method }) {
  32. const { Log: model } = this.ctx.model;
  33. const filter = {};
  34. if (mondel) filter.mondel = mondel;
  35. if (method) filter.method = method;
  36. try {
  37. const total = await model.find({ ...filter });
  38. let res;
  39. if (skip && limit) {
  40. res = await model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit));
  41. } else {
  42. res = await model.find({ ...filter });
  43. }
  44. return { errmsg: '', errcode: 0, data: res, total: total.length };
  45. } catch (error) {
  46. console.log(error);
  47. throw new Error({ errcode: -2001, errmsg: '查询失败' });
  48. }
  49. }
  50. }
  51. module.exports = LogService;