irc_dicom_service/app/service/series.js

42 lines
1.1 KiB
JavaScript

"use strict";
const Service = require("egg").Service;
class SeriesService extends Service {
/**
* 更新并返回series
* @param {*} dicomInfo 更新的参数
* @param {*} _id DICOM文件_id 如果存在就设置
*/
async findAndUpsert(dicomInfo, user_id) {
let serie = await this.getSeriesExistByDicomInfo(dicomInfo, user_id);
if (!serie) {
serie = new this.ctx.model.Series({
SeriesInstanceUID: dicomInfo.SeriesInstanceUID,
user_id: user_id,
status: '1',
...dicomInfo
});
// let slug = await this.service.util.nextSequence('Series');
// serie.slug = slug;
} else {
serie.status = '1';
if (serie.ifOldData) {
serie.ifOldData = null;
}
}
return serie.save();
}
/**
* 根据dicomInfo信息获取是否存在series
* @param {*} dicomInfo
* @param {*} user_id
*/
getSeriesExistByDicomInfo(dicomInfo, user_id) {
return this.ctx.model.Series.findOne({
SeriesInstanceUID: dicomInfo.SeriesInstanceUID,
user_id: user_id
}).exec();
}
}
module.exports = SeriesService;