wood-node
Version:
nodejs api framework
57 lines (53 loc) • 1.38 kB
JavaScript
const {
Controller,
Model,
Plugin,
error,
catchErr,
Query,
Util
} = require('../../index');
const controller = Controller();
class UserController extends controller {
// 添加用户
async add(req, res, next) {
let params = Util.getParams(req);
if (!params.data.uid) {
res.print('uid不能为空');
return;
}
const hasOne = await catchErr(Model('users').findOne({ uid: params.data.uid }));
if (hasOne.err) {
res.print(hasOne);
} else {
let oper = !hasOne.data || Util.isEmpty(hasOne.data) ? 'create' : 'update',
data = params.data;
if (hasOne.data && !Util.isEmpty(hasOne.data)) {
data = Object.assign(hasOne.data, params.data);
}
const result = await catchErr(Model('users')[oper](data));
res.print(result);
}
}
// 全文搜索
async search(req, res, next) {
let params = Util.getParams(req);
let {page = 1, limit = 20, ...query} = params.data || {};
let ECsearch = Plugin('elasticsearch');
if(ECsearch){
let result = await catchErr(ECsearch.Search({
index: 'test', //数据库名
type: 'users', //表名
limit,
page,
query
}));
res.print(result);
}else{
res.print(error('搜索出错了'));
}
}
}
module.exports = new UserController({
defaultModel: 'users'
});