disclosure.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. const { CrudService } = require('naf-framework-mongoose/lib/service');
  3. const { BusinessError, ErrorCode } = require('naf-core').Error;
  4. const _ = require('lodash');
  5. const moment = require('moment');
  6. const assert = require('assert');
  7. // 交底书
  8. class DisclosureService extends CrudService {
  9. constructor(ctx) {
  10. super(ctx, 'disclosure');
  11. this.model = this.ctx.model.Patent.Disclosure;
  12. }
  13. /**
  14. * 交底书审核
  15. * @param {body} body 参数
  16. * @property id 数据id
  17. * @property status 交底书要改变成的状态
  18. * @property info 其他数据,当做多个备注,记录使用
  19. */
  20. async check({ id, status, remark }) {
  21. console.log(remark);
  22. await this.model.updateOne({ id }, { status });
  23. // 换成对应的状态码,record在下面
  24. return await this.record({ id, status, remark });
  25. }
  26. async record({ id, method, remark }) {
  27. let word = '';
  28. switch (method) {
  29. case 'create':
  30. word = '已申请';
  31. break;
  32. case 'update':
  33. word = '修改';
  34. break;
  35. case '1':
  36. word = '机构审核';
  37. break;
  38. case '-1':
  39. word = '机构审核未通过';
  40. break;
  41. case '2':
  42. word = '管理员评估';
  43. break;
  44. case '-2':
  45. word = '管理员评估未通过';
  46. break;
  47. case '3':
  48. word = '管理员评估通过,等待上传至国家库';
  49. break;
  50. case '4':
  51. word = '上传完成';
  52. break;
  53. default:
  54. break;
  55. }
  56. const data = await this.model.findById(id);
  57. if (!data) throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '添加记录----未找到数据');
  58. const obj = {
  59. time: moment().format('YYYY-MM-DD HH:mm:ss'),
  60. word,
  61. remark,
  62. };
  63. data.record.push(obj);
  64. return await data.save();
  65. }
  66. }
  67. module.exports = DisclosureService;