product.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const d_product = require('../database/d_product');
  2. const {searchHandle} = require('../tools/searchSql');
  3. const {handle} = require('../tools/handle');
  4. const codeMap = require("../map/rcodeMap");
  5. const log = require("../logger").logger("c_product","info")
  6. /**
  7. * 加载产品
  8. * @param key 产品类别
  9. * @param p 页码
  10. * @param l 每页数量
  11. * @returns {Promise<*[]>} [err,res]
  12. */
  13. async function loadProduct(key,p,l)
  14. {
  15. p = p || 1;
  16. l = l || 10;
  17. let [err,res] = await handle(d_product.loadProducts(key, p, l));
  18. if(err){
  19. return [err,null];
  20. }
  21. return [null,res];
  22. }
  23. /**
  24. * 获取产品信息
  25. * @param id 产品id
  26. * @returns {Promise<*[]>}
  27. */
  28. async function getProductInfo(id)
  29. {
  30. let [err,res] = await handle(d_product.getProductInfo(id));
  31. if(err){
  32. return [err,null];
  33. }
  34. let data = {};
  35. if(res.length){
  36. data = res[0];
  37. }else{
  38. return [
  39. {
  40. eCode:codeMap.NotFound,
  41. eMsg:`无法找到对应产品`
  42. },null]
  43. }
  44. return [null,data];
  45. }
  46. async function searchProduct(type, key, p, l)
  47. {
  48. p = p || 1;
  49. l = l || 10;
  50. let _params = {
  51. }
  52. if(type !== 'all'){
  53. _params.type = type;
  54. }
  55. if(key){
  56. _params.key = key
  57. }
  58. return await searchHandle(
  59. '搜索产品失败',
  60. d_product.searchProducts,
  61. _params,
  62. p,
  63. l);
  64. }
  65. module.exports = {
  66. loadProduct,
  67. getProductInfo,
  68. searchProduct
  69. };