|
@@ -8,7 +8,7 @@ class ContentService extends Service {
|
|
|
super(ctx);
|
|
|
this.model = this.ctx.model.Content;
|
|
|
}
|
|
|
- async create({ title, describe, content, bind, istop, date, thumbnail, recommend, annex }) {
|
|
|
+ async create({ title, describe, content, bind, istop, date, thumbnail, recommend, annex, keywords, svip, isShow, status }) {
|
|
|
assert(title, '标题不存在');
|
|
|
assert(describe, '描述不存在');
|
|
|
assert(content, '内容不存在');
|
|
@@ -16,19 +16,19 @@ class ContentService extends Service {
|
|
|
try {
|
|
|
const createAt = moment().format('x');
|
|
|
const updateAt = moment().format('x');
|
|
|
- const item = await this.model.create({ title, describe, content, bind, istop, date, thumbnail, recommend, annex, createAt, updateAt });
|
|
|
+ const item = await this.model.create({ title, describe, content, bind, istop, date, thumbnail, recommend, annex, createAt, updateAt, keywords, svip, isShow, status });
|
|
|
return { errcode: 0, errmsg: '', data: item };
|
|
|
} catch (error) {
|
|
|
throw error;
|
|
|
}
|
|
|
}
|
|
|
- async update({ id, title, describe, content, bind, istop, date, thumbnail, recommend, annex }) {
|
|
|
+ async update({ id, title, describe, content, bind, istop, date, thumbnail, recommend, annex, keywords, svip, isShow, status }) {
|
|
|
assert(id, 'id不存在');
|
|
|
try {
|
|
|
const res = await this.model.findOne({ _id: id });
|
|
|
if (!res) return { errcode: -1001, errmsg: '数据不存在', data: '' };
|
|
|
const updateAt = moment().format('x');
|
|
|
- await this.model.updateOne({ _id: id }, { title, describe, content, bind, istop, date, thumbnail, recommend, annex, updateAt });
|
|
|
+ await this.model.updateOne({ _id: id }, { title, describe, content, bind, istop, date, thumbnail, recommend, annex, updateAt, keywords, svip, isShow, status });
|
|
|
return { errcode: 0, errmsg: '', data: 'update' };
|
|
|
} catch (error) {
|
|
|
throw error;
|
|
@@ -45,12 +45,18 @@ class ContentService extends Service {
|
|
|
throw error;
|
|
|
}
|
|
|
}
|
|
|
- async query({ skip, limit, title, date, bind }) {
|
|
|
- const filter = {};
|
|
|
- if (title || date || bind) filter.$or = [];
|
|
|
- if (title) filter.$or.push({ code: { $regex: title } });
|
|
|
- if (date) filter.$or.push({ date: { $regex: date } });
|
|
|
- if (bind) filter.$or.push({ bind: { $regex: bind } });
|
|
|
+ async query({ skip, limit, title, date, bind, keywords, svip, isShow, status }) {
|
|
|
+ const filter = { $or: [] };
|
|
|
+ const arr = { title, date, bind, keywords, svip, isShow, status };
|
|
|
+ for (const e in arr) {
|
|
|
+ let datas;
|
|
|
+ if (e === 'keywords') {
|
|
|
+ datas = `{ "${e}": { "$elemMatch": { "$eq": "${arr[e]}" } } }`;
|
|
|
+ } else {
|
|
|
+ datas = `{ "${e}": { "$regex": "${arr[e]}" } }`;
|
|
|
+ }
|
|
|
+ if (arr[e]) filter.$or.push(JSON.parse(datas));
|
|
|
+ }
|
|
|
try {
|
|
|
let res;
|
|
|
const total = await this.model.find({ ...filter }, { content: false });
|
|
@@ -71,7 +77,7 @@ class ContentService extends Service {
|
|
|
try {
|
|
|
const res = await this.model.findOne({ _id: id });
|
|
|
if (!res) return { errcode: -1001, errmsg: '数据不存在', data: '' };
|
|
|
- await this.model.update({ _id: id }, { visit: res.visit + 1 });
|
|
|
+ await this.model.updateOne({ _id: id }, { visit: res.visit + 1 });
|
|
|
return { errcode: 0, errmsg: '', data: res };
|
|
|
} catch (error) {
|
|
|
throw error;
|