companyup.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. const assert = require('assert');
  3. const _ = require('lodash');
  4. const { ObjectId } = require('mongoose').Types;
  5. const { CrudService } = require('naf-framework-mongoose/lib/service');
  6. const { BusinessError, ErrorCode } = require('naf-core').Error;
  7. class CompanyupService extends CrudService {
  8. constructor(ctx) {
  9. super(ctx, 'company_up');
  10. this.model = this.ctx.model.Companyup;
  11. this.cmodel = this.ctx.model.Company;
  12. this.pmodel = this.ctx.model.Profession;
  13. this.dmodel = this.ctx.model.Dictionary;
  14. }
  15. // 修改企业修改信息表的状态
  16. async status({ id }, { status }) {
  17. // 根据id查询企业修改信息表的数据
  18. const companyup = await this.model.findById(id);
  19. const _companyup = JSON.parse(JSON.stringify(companyup));
  20. delete _companyup.meta;
  21. delete _companyup._id;
  22. // 如果修改状态为1(审核通过)
  23. if (status === '1') {
  24. // 根据企业修改信息表中的字段uid查询企业信息表中是否有对应的信息(判断用户是否为第一次修改企业信息,即企业信息表中没有对应的信息)
  25. const company = await this.cmodel.findOne({ uid: companyup.uid });
  26. // 给用户发送消息告知修改信息成功
  27. this.ctx.service.viewnews.insertViewNews('修改企业信息成功', '企业修改信息申请已审核通过,请及时查看罪行企业信息', companyup.uid);
  28. if (company) {
  29. // 将企业修改信息表中的字段提取出来更新到用户对应的企业信息表
  30. await this.cmodel.findOneAndUpdate({ uid: companyup.uid }, _companyup);
  31. } else {
  32. await this.cmodel.create(_companyup);
  33. }
  34. }
  35. companyup.status = status;
  36. await companyup.save();
  37. }
  38. async fetch({ id }) {
  39. const companyup = await this.model.findById(id);
  40. if (companyup.profession_one) {
  41. const profession_one = await this.pmodel.findOne({
  42. code: companyup.profession_one,
  43. });
  44. companyup.profession_one = profession_one.name;
  45. }
  46. if (companyup.profession_two) {
  47. const profession_two = await this.pmodel.findOne({
  48. code: companyup.profession_two,
  49. });
  50. companyup.profession_two = profession_two.name;
  51. }
  52. if (companyup.profession_three) {
  53. const profession_three = await this.pmodel.findOne({
  54. code: companyup.profession_three,
  55. });
  56. companyup.profession_three = profession_three.name;
  57. }
  58. if (companyup.profession_four) {
  59. const profession_four = await this.pmodel.findOne({
  60. code: companyup.profession_four,
  61. });
  62. companyup.profession_four = profession_four.name;
  63. }
  64. return companyup;
  65. }
  66. }
  67. module.exports = CompanyupService;