|
@@ -4,28 +4,29 @@ const Service = require('egg').Service;
|
|
|
const assert = require('assert');
|
|
|
const moment = require('moment');
|
|
|
class MenuService extends Service {
|
|
|
- async create({ name, code, state, type, uri, en }) {
|
|
|
+ async create({ name, code, state, type, uri, en, sort }) {
|
|
|
assert(name, '名称不存在');
|
|
|
assert(code, '编码不存在');
|
|
|
assert(state, '状态不存在');
|
|
|
assert(type, '类型不存在');
|
|
|
assert(en, '英文缩写不存在');
|
|
|
+ assert(sort, '排序不存在');
|
|
|
const { Menu: model } = this.ctx.model;
|
|
|
const createAt = moment().format('x');
|
|
|
try {
|
|
|
const isdata = await model.find({ code });
|
|
|
if (isdata.length > 0) return { errmsg: '编码已存在', errcode: -2001 };
|
|
|
- await model.create({ name, code, createAt, state, type, uri, en });
|
|
|
+ await model.create({ name, code, createAt, state, type, uri, en, sort: Number(sort) });
|
|
|
return { errmsg: '', errcode: 0 };
|
|
|
} catch (error) {
|
|
|
throw new Error({ errcode: -2001, errmsg: '添加失败' });
|
|
|
}
|
|
|
}
|
|
|
- async update({ name, state, _id, uri, en }) {
|
|
|
+ async update({ name, state, _id, uri, en, sort }) {
|
|
|
assert(_id, 'id不存在');
|
|
|
const { Menu: model } = this.ctx.model;
|
|
|
try {
|
|
|
- await model.findById(_id).update({ name, state, uri, en });
|
|
|
+ await model.findById(_id).update({ name, state, uri, en, sort: Number(sort) });
|
|
|
return { errmsg: '', errcode: 0 };
|
|
|
} catch (error) {
|
|
|
throw new Error({ errcode: -2001, errmsg: '修改失败' });
|
|
@@ -80,6 +81,7 @@ class MenuService extends Service {
|
|
|
throw new Error({ errcode: -2001, errmsg: '删除失败' });
|
|
|
}
|
|
|
}
|
|
|
+ // 新增排序
|
|
|
async query({ skip, limit, name, code, type }) {
|
|
|
const { Menu: model } = this.ctx.model;
|
|
|
try {
|
|
@@ -90,9 +92,10 @@ class MenuService extends Service {
|
|
|
const total = await model.find({ ...filter });
|
|
|
let res;
|
|
|
if (skip !== undefined && limit !== undefined) {
|
|
|
- res = await model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit));
|
|
|
+ res = await model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit))
|
|
|
+ .sort({ sort: 1 });
|
|
|
} else {
|
|
|
- res = await model.find({ ...filter });
|
|
|
+ res = await model.find({ ...filter }).sort({ sort: 1 });
|
|
|
}
|
|
|
return { errmsg: '', errcode: 0, data: res, total: total.length };
|
|
|
} catch (error) {
|