area.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 check = require('../../../middleware/check');
  7. const Area = require('../../../db/models/area');
  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/area/
  19. * @param type 0 integer 1省2市3地区
  20. * @param provinceId 0 integer 省id
  21. * @param cityId 0 integer 市id
  22. * @return {"code":0, "count":1, "data": []}
  23. * @return_param id integer id
  24. * @return_param name string 地区名
  25. * @return_param cityId integer 市id
  26. * @return_param provinceId integer 省id
  27. * @return_param type integer 1省2市3地区
  28. * @return_param pinyin string 首字母
  29. * @return_param createdAt date -
  30. * @return_param updatedAt date -
  31. * @remark
  32. * @number
  33. */
  34. router.get('/', async (req, res) => {
  35. const { page = 0 } = req.query;
  36. const where = _.omit(req.query, ['page']);
  37. const info = onSuccess();
  38. info.data = await Area.findAll({ where, all: true });
  39. info.data = await fill(info.data, fillSingle);
  40. if (!page) {
  41. info.count = await Area.count({ where });
  42. }
  43. res.send(info);
  44. });
  45. /**
  46. * showdoc
  47. * @catalog v1/后台/地区
  48. * @title 地区详情
  49. * @description
  50. * @method GET
  51. * @url /master/area/:id
  52. * @param :id 1 STRING 详情ID
  53. * @return {"code":0, "data": {}}
  54. * @return_param id integer id
  55. * @return_param name string 地区名
  56. * @return_param cityId integer 市id
  57. * @return_param provinceId integer 省id
  58. * @return_param type integer 1省2市3地区
  59. * @return_param pinyin string 首字母
  60. * @return_param createdAt date -
  61. * @return_param updatedAt date -
  62. * @remark
  63. * @number
  64. */
  65. router.get('/:id', async (req, res) => {
  66. let data = await Area.findOne({ where: req.params });
  67. data = await fill(data, fillSingle);
  68. res.send(onSuccess(data));
  69. });
  70. module.exports = router;