log.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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, result }) {
  32. const { Log: model } = this.ctx.model;
  33. const filter = {};
  34. if (mondel) filter.mondel = mondel;
  35. if (method) filter.method = method;
  36. if (result) filter.result = result;
  37. try {
  38. const total = await model.find({ ...filter });
  39. let res;
  40. if (skip && limit) {
  41. res = await model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit));
  42. } else {
  43. res = await model.find({ ...filter });
  44. }
  45. return { errmsg: '', errcode: 0, data: res, total: total.length };
  46. } catch (error) {
  47. console.log(error);
  48. throw new Error({ errcode: -2001, errmsg: '查询失败' });
  49. }
  50. }
  51. }
  52. module.exports = LogService;