c_recommend.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const db_air = require('../database/d_air')
  2. const db_area = require('../database/d_area')
  3. const db_recommend = require('../database/d_recommend')
  4. const handle = require('../until/handle')
  5. const field = require('../maps/field')
  6. const codeMap = require('../maps/rcodeMap')
  7. async function list(){
  8. let [err,result] = await handle(db_recommend.recommendList());
  9. if(err){throw err}
  10. return result;
  11. }
  12. async function addRecommend(name,descript,zIndex,imgUrl){
  13. let [err,result] = await handle(db_recommend.addRecommend(name,descript,zIndex,imgUrl));
  14. if(err){throw err}
  15. return result;
  16. }
  17. async function addFlights(recommendId,flights){
  18. let [err,result] = await handle(db_recommend.addFlights(recommendId,flights));
  19. if(err){throw err}
  20. return result;
  21. }
  22. async function changeRecommend(recommendId,params){
  23. let [err,result] = await handle(db_recommend.updateRecommend(recommendId, {
  24. recommendName:params.recommendName,
  25. recommendName:params.descript,
  26. recommendName:params.zIndex,
  27. }));
  28. if(err){throw err}
  29. return result;
  30. }
  31. /**
  32. * 显示指定推荐的信息,以及他的所有航班信息
  33. * @returns {Promise<void>}
  34. */
  35. async function recommendInfo(recommendId){
  36. let err,result,recommend;
  37. [err,result] = await handle(db_recommend.find(recommendId));
  38. if(err){throw err}
  39. if(result.length < 1){throw {rcode: codeMap.notFound,msg:'无法找到对应推荐'}}
  40. recommend = result[0];
  41. [err,result] = await handle(db_recommend.loadFlights(recommendId,true));
  42. if(err){throw err}
  43. recommend.flights = result;
  44. return recommend;
  45. }
  46. /**
  47. * 加载主要界面展示用的推荐,显示5个活动,每个活动显示前5个航班
  48. * @returns {Promise<void>}
  49. */
  50. async function homeRecommends(){
  51. let err,recommends,flights;
  52. [err,recommends] = await handle(list());
  53. if(err){throw err}
  54. if(recommends.length){
  55. recommends = recommends.splice(0,5);
  56. }
  57. for (const recommend of recommends) {
  58. // 获取对应的航班信息
  59. [err,flights] = await handle(recommendInfo(recommend.id));
  60. if(err){throw err}
  61. flights=flights.flights;
  62. if(flights.length>=5){
  63. flights = flights.splice(0,5);
  64. }
  65. recommend.flights = flights;
  66. }
  67. console.log(recommends);
  68. return recommends;
  69. }
  70. module.exports = {
  71. list,
  72. addRecommend,
  73. addFlights,
  74. changeRecommend,
  75. homeRecommends
  76. }