GetGoodsList.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const API = require("../../lib/API");
  2. const db = require("../../plugin/DataBase/db");
  3. const { BaseStdResponse } = require("../../BaseStdResponse");
  4. // 获取产品列表
  5. class GetGoodsList extends API {
  6. constructor() {
  7. super();
  8. this.setPath('/Goods/List')
  9. this.setMethod('get')
  10. }
  11. async onRequest(req, res) {
  12. let { keyword } = req.query
  13. let sql = `
  14. SELECT
  15. id,
  16. name,
  17. price,
  18. num,
  19. \`limit\`,
  20. icon,
  21. isHot,
  22. description,
  23. category,
  24. features,
  25. lepao_count,
  26. ic_count,
  27. vip,
  28. vip_validity_type,
  29. vip_valid_days,
  30. vip_fixed_expire_time,
  31. allow_refund
  32. FROM
  33. goods
  34. WHERE state = 1
  35. `
  36. let params = []
  37. if (keyword) {
  38. sql += ` AND name LIKE ?`
  39. params.push(`%${keyword}%`)
  40. }
  41. sql += `
  42. ORDER BY
  43. id DESC
  44. `
  45. let rows = await db.query(sql, params)
  46. if (!rows)
  47. return res.json({
  48. ...BaseStdResponse.ERR,
  49. msg: '获取商品失败!'
  50. })
  51. res.json({
  52. ...BaseStdResponse.OK,
  53. data: rows
  54. })
  55. }
  56. }
  57. module.exports.GetGoodsList = GetGoodsList;