1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- '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 DoctorService extends CrudService {
- constructor(ctx) {
- super(ctx, 'doctor');
- this.model = this.ctx.model.Doctor;
- }
- async create(data) {
- const { name, mobile, passwd } = data;
- assert(name && mobile && passwd, '缺少部分信息项');
- const newdata = data;
- newdata.passwd = { secret: passwd };
- return await this.model.create(newdata);
- }
- async update({ id }, data) {
- const doctor = await this.model.findById(id);
- doctor.name = data.name;
- doctor.mobile = data.mobile;
- doctor.hosname = data.hosname;
- doctor.deptname = data.deptname;
- doctor.title = data.title;
- doctor.post = data.post;
- doctor.content = data.content;
- doctor.remark = data.remark;
- doctor.openid = data.openid;
- if (data.icon) {
- doctor.icon = data.icon;
- }
- if (data.passwd) {
- doctor.passwd = { secret: data.passwd };
- }
- return await doctor.save();
- }
- // 根据openid 取得医生信息
- async findByOpenid(data) {
- return await this.model.findOne({ openid: data.openid });
- }
- async updateopenid({ id }, data) {
- const doctor = await this.model.findById(id);
- doctor.openid = data.openid;
- return await doctor.save();
- }
- }
- module.exports = DoctorService;
|