user.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const express = require('express');
  2. const _ = require('lodash');
  3. const { query, body } = require('express-validator');
  4. const { onSuccess, fill } = require('../../../utils');
  5. const { limit } = require('../../config');
  6. const SysUser = require('../../../db/fuxi/sys_user');
  7. const { Op } = require('sequelize');
  8. const router = express.Router();
  9. async function fillSingle(data) {
  10. return data;
  11. }
  12. /**
  13. * showdoc
  14. * @catalog v1/用户
  15. * @title 用户列表
  16. * @description 用户列表接口
  17. * @method GET
  18. * @url /master/user/
  19. * @param uname 0 string 用户名
  20. * @return {"code":0, "count":1, "data": []}
  21. * @return_param id string id
  22. * @return_param nickName integer 用户名
  23. * @return_param phoneNmber integer 手机号
  24. * @remark
  25. * @number
  26. */
  27. router.get('/', async (req, res) => {
  28. const { page = 0, uname } = req.query;
  29. const where = _.omit(req.query, ['page']);
  30. if (uname) {
  31. where.login = { [Op.like]: `%${uname}` };
  32. }
  33. const info = onSuccess();
  34. info.data = await SysUser.findAll({ where, limit, offset: page * limit });
  35. info.data = await fill(info.data, fillSingle);
  36. if (!page) {
  37. info.count = await SysUser.count({ where });
  38. }
  39. res.send(info);
  40. });
  41. /**
  42. * showdoc
  43. * @catalog v1/用户
  44. * @title 用户详情
  45. * @description
  46. * @method GET
  47. * @url /master/user/:id
  48. * @param :id 1 STRING 详情ID
  49. * @return {"code":0, "data": {}}
  50. * @return_param id string id
  51. * @return_param nickName integer 用户名
  52. * @return_param phoneNmber integer 手机号
  53. * @remark
  54. * @number
  55. */
  56. router.get('/:id', async (req, res) => {
  57. let data = await SysUser.findOne({ where: req.params });
  58. data = await fill(data, fillSingle);
  59. res.send(onSuccess(data));
  60. });
  61. module.exports = router;