'use strict'; const assert = require('assert'); const _ = require('lodash'); const { ObjectId } = require('mongoose').Types; const { CrudService } = require('naf-framework-mongoose/lib/service'); const { BusinessError, ErrorCode } = require('naf-core').Error; class CompanyupService extends CrudService { constructor(ctx) { super(ctx, 'company_up'); this.model = this.ctx.model.Companyup; this.cmodel = this.ctx.model.Company; this.pmodel = this.ctx.model.Profession; this.dmodel = this.ctx.model.Dictionary; } // 修改企业修改信息表的状态 async status({ id }, { status }) { // 根据id查询企业修改信息表的数据 const companyup = await this.model.findById(id); const _companyup = JSON.parse(JSON.stringify(companyup)); delete _companyup.meta; delete _companyup._id; // 如果修改状态为1(审核通过) if (status === '1') { // 根据企业修改信息表中的字段uid查询企业信息表中是否有对应的信息(判断用户是否为第一次修改企业信息,即企业信息表中没有对应的信息) const company = await this.cmodel.findOne({ uid: companyup.uid }); // 给用户发送消息告知修改信息成功 this.ctx.service.viewnews.insertViewNews('修改企业信息成功', '企业修改信息申请已审核通过,请及时查看罪行企业信息', companyup.uid); if (company) { // 将企业修改信息表中的字段提取出来更新到用户对应的企业信息表 await this.cmodel.findOneAndUpdate({ uid: companyup.uid }, _companyup); } else { await this.cmodel.create(_companyup); } } companyup.status = status; await companyup.save(); } async fetch({ id }) { const companyup = await this.model.findById(id); if (companyup.profession_one) { const profession_one = await this.pmodel.findOne({ code: companyup.profession_one, }); companyup.profession_one = profession_one.name; } if (companyup.profession_two) { const profession_two = await this.pmodel.findOne({ code: companyup.profession_two, }); companyup.profession_two = profession_two.name; } if (companyup.profession_three) { const profession_three = await this.pmodel.findOne({ code: companyup.profession_three, }); companyup.profession_three = profession_three.name; } if (companyup.profession_four) { const profession_four = await this.pmodel.findOne({ code: companyup.profession_four, }); companyup.profession_four = profession_four.name; } return companyup; } } module.exports = CompanyupService;