code.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. const { CrudService } = require('naf-framework-mongoose-free/lib/service');
  3. const { BusinessError, ErrorCode } = require('naf-core').Error;
  4. const { ObjectId } = require('mongoose').Types;
  5. const { isNullOrUndefined, trimData } = require('naf-core').Util;
  6. const _ = require('lodash');
  7. const assert = require('assert');
  8. // 字典表
  9. class CodeService extends CrudService {
  10. constructor(ctx) {
  11. super(ctx, 'code');
  12. this.model = this.ctx.model.System.Code;
  13. }
  14. /**
  15. * 行政区划
  16. * @param {Object} {code} 代码
  17. */
  18. async xzqh({ code }) {
  19. const filter = { category: '31' };
  20. if (!code) {
  21. filter.code = { $regex: /0000/ };
  22. } else {
  23. const prefix = code.substr(0, 2);
  24. filter.code = { $regex: `${prefix}\\d{2}(?<!00)00` };
  25. }
  26. const res = await this.model.find(filter);
  27. return res.map(p => ({ code: p.code, name: p.name }));
  28. }
  29. async codeName({ code }) {
  30. const res = await this.model.find({ code });
  31. return res.map(p => ({ code: p.code, name: p.name }));
  32. }
  33. }
  34. module.exports = CodeService;