standard_lib.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. /**
  3. * 标准库基类
  4. *
  5. * @author Mai
  6. * @date 2018/3/13
  7. * @version
  8. */
  9. const BaseService = require('../base/base_service');
  10. class StandardLib extends BaseService {
  11. /**
  12. * 构造函数
  13. *
  14. * @param {Object} ctx - egg全局变量
  15. * @param {String} tableName - 表名
  16. * @return {void}
  17. */
  18. constructor(ctx, tableName) {
  19. super(ctx);
  20. this.tableName = tableName;
  21. }
  22. /**
  23. * 获取数据
  24. *
  25. * @param {Number} listId - 项目节列表id
  26. * @param {Number} level - 小于此层级的全部不显示
  27. * @return {Array} - 返回对应数据
  28. */
  29. async getData(listId, level = 2) {
  30. this.initSqlBuilder();
  31. this.sqlBuilder.setAndWhere('list_id', {
  32. operate: '=',
  33. value: listId,
  34. });
  35. this.sqlBuilder.setAndWhere('level', {
  36. operate: '<=',
  37. value: level,
  38. });
  39. const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);
  40. const list = await this.db.query(sql, sqlParam);
  41. return list;
  42. }
  43. }
  44. module.exports = StandardLib;