flight_api.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. const router = require('express').Router();
  2. const c_flight = require('../controller/c_flight')
  3. const paramsCheck = require('../middleware/paramsCheck');
  4. const checkLogin = require('../middleware/checkLogin');
  5. const code = require('../maps/rcodeMap')
  6. const field = require('../maps/field')
  7. const c_area = require("../controller/c_area");
  8. const progress = require('../maps/progress')
  9. router.get('/list',async (req,res)=>{
  10. try{
  11. let results = await c_flight.flightList();
  12. res.json({
  13. rcode: code.ok,
  14. data: results
  15. })
  16. }catch (error) {
  17. if (error.rcode !== code.customError) {
  18. console.log(error);
  19. }
  20. res.json({
  21. rcode: error.rcode || code.serverError,
  22. msg: error.msg || error.message
  23. });
  24. }
  25. });
  26. router.post('/search',
  27. paramsCheck({
  28. post:{
  29. departure:{required:true},
  30. target:{required:true},
  31. }
  32. }),
  33. async (req,res)=>{
  34. try{
  35. let params = [
  36. req.body.departure,
  37. req.body.target,
  38. req.body.flightState,
  39. req.body.startTime,
  40. req.body.endTime,
  41. ]
  42. let results = await c_flight.searchFlight(...params);
  43. res.json({
  44. rcode: code.ok,
  45. data: results
  46. })
  47. }catch (error) {
  48. if (error.rcode !== code.customError) {
  49. console.log(error);
  50. }
  51. res.json({
  52. rcode: error.rcode || code.serverError,
  53. msg: error.msg || error.message
  54. });
  55. }
  56. })
  57. router.get('/info',
  58. paramsCheck({
  59. get:{
  60. flightId:{required:true}
  61. }
  62. }),
  63. async (req,res)=>{
  64. try{
  65. let results = await c_flight.flightInfo(req.query.flightId);
  66. res.json({
  67. rcode: code.ok,
  68. data: results
  69. })
  70. }catch (error) {
  71. if (error.rcode !== code.customError) {
  72. console.log(error);
  73. }
  74. res.json({
  75. rcode: error.rcode || code.serverError,
  76. msg: error.msg || error.message
  77. });
  78. }
  79. }
  80. )
  81. // 新增航班
  82. router.post('/add',
  83. checkLogin(field.adminType),
  84. paramsCheck({
  85. post:{
  86. flightName:{required:true},
  87. airId:{required:true},
  88. originalPrice:{required:true},
  89. currentPrice:{required:true},
  90. sailingTime:{required:true},
  91. langdinTime:{required:true},
  92. totalVotes:{required:true},
  93. departureCity:{required:true},
  94. targetCity:{required:true},
  95. }
  96. }),
  97. async (req,res)=>{
  98. try{
  99. let results = await c_flight.addFlight(
  100. req.body.flightName,
  101. req.body.airId,
  102. req.body.originalPrice,
  103. req.body.currentPrice,
  104. req.body.sailingTime,
  105. req.body.langdinTime,
  106. req.body.totalVotes,
  107. req.body.departureCity,
  108. req.body.targetCity,
  109. );
  110. res.json({
  111. rcode: code.ok,
  112. data: results
  113. })
  114. }catch (error) {
  115. if (error.rcode !== code.customError) {
  116. console.log(error);
  117. }
  118. res.json({
  119. rcode: error.rcode || code.serverError,
  120. msg: error.msg || error.message
  121. });
  122. }
  123. }
  124. )
  125. // 更新指定航班
  126. router.post('/update',
  127. checkLogin(field.adminType),
  128. paramsCheck({
  129. post:{
  130. flightId:{required:true},
  131. newOption:{required:true},
  132. }
  133. }),
  134. async (req,res)=>{
  135. try{
  136. let results = await c_flight.updateFlight(req.body.flightId, req.body.newOption);
  137. res.json({
  138. rcode: code.ok,
  139. data: results
  140. })
  141. }catch (error) {
  142. if (error.rcode !== code.customError) {
  143. console.log(error);
  144. }
  145. res.json({
  146. rcode: error.rcode || code.serverError,
  147. msg: error.msg || error.message
  148. });
  149. }
  150. }
  151. )
  152. router.get('/news',async (req,res)=>{
  153. try{
  154. let num = 5;
  155. if(req.query.all === 'true'){
  156. num = 99999;
  157. }
  158. let results = await c_flight.news(num);
  159. res.json({
  160. rcode: code.ok,
  161. data: results
  162. })
  163. }catch (error) {
  164. if (error.rcode !== code.customError) {
  165. console.log(error);
  166. }
  167. res.json({
  168. rcode: error.rcode || code.serverError,
  169. msg: error.msg || error.message
  170. });
  171. }
  172. })
  173. router.post('/sells',
  174. paramsCheck({
  175. post:{
  176. departureCity:{required:true},
  177. targetCity:{required:true},
  178. }
  179. }),
  180. async (req,res)=>{
  181. try{
  182. let results = await c_flight.searchFlights(field.flightState_sail,req.body);
  183. res.json({
  184. rcode: code.ok,
  185. data: results
  186. })
  187. }catch (error) {
  188. if (error.rcode !== code.customError) {
  189. console.log(error);
  190. }
  191. res.json({
  192. rcode: error.rcode || code.serverError,
  193. msg: error.msg || error.message
  194. });
  195. }
  196. })
  197. router.get('/sellist',
  198. async (req,res)=>{
  199. try{
  200. let results = await c_flight.searchFlights(field.flightState_sail, {});
  201. res.json({
  202. rcode: code.ok,
  203. data: results
  204. })
  205. }catch (error) {
  206. if (error.rcode !== code.customError) {
  207. console.log(error);
  208. }
  209. res.json({
  210. rcode: error.rcode || code.serverError,
  211. msg: error.msg || error.message
  212. });
  213. }
  214. });
  215. router.post('/state',
  216. checkLogin(field.adminType),
  217. paramsCheck({
  218. post:{
  219. flightId:{required:true},
  220. nextState:{required:true},
  221. }
  222. }),
  223. async (req,res)=>{
  224. try{
  225. let results = await c_flight.setState(req.body.flightId, req.body.nextState);
  226. res.json({
  227. rcode: code.ok,
  228. data: results
  229. })
  230. }catch (error) {
  231. if (error.rcode !== code.customError) {
  232. console.log(error);
  233. }
  234. res.json({
  235. rcode: error.rcode || code.serverError,
  236. msg: error.msg || error.message
  237. });
  238. }
  239. })
  240. router.get('/airs',
  241. async (req,res)=>{
  242. try{
  243. let results = await c_flight.airs(req.query.state);
  244. res.json({
  245. rcode: code.ok,
  246. data: results
  247. })
  248. }catch (error) {
  249. if (error.rcode !== code.customError) {
  250. console.log(error);
  251. }
  252. res.json({
  253. rcode: error.rcode || code.serverError,
  254. msg: error.msg || error.message
  255. });
  256. }
  257. })
  258. router.get('/seat',
  259. paramsCheck({
  260. get:{
  261. flightId:{required:true},
  262. }
  263. }),
  264. async (req,res)=>{
  265. try{
  266. let results = await c_flight.seatInfo(req.query.flightId);
  267. res.json({
  268. rcode: code.ok,
  269. data: results
  270. })
  271. }catch (error) {
  272. if (error.rcode !== code.customError) {
  273. console.log(error);
  274. }
  275. res.json({
  276. rcode: error.rcode || code.serverError,
  277. msg: error.msg || error.message
  278. });
  279. }
  280. })
  281. router.post('/air/add',
  282. checkLogin(field.adminType),
  283. paramsCheck({
  284. post:{
  285. airCode:{required:true},
  286. col:{required:true},
  287. row:{required:true},
  288. }
  289. }),
  290. async (req,res)=>{
  291. try{
  292. let results = await c_flight.addAir(req.body.airCode,
  293. req.body.row,req.body.col);
  294. res.json({
  295. rcode: code.ok,
  296. data: results
  297. })
  298. }catch (error) {
  299. if (error.rcode !== code.customError) {
  300. console.log(error);
  301. }
  302. res.json({
  303. rcode: error.rcode || code.serverError,
  304. msg: error.msg || error.message
  305. });
  306. }
  307. })
  308. router.post('/air/change',
  309. checkLogin(field.adminType),
  310. paramsCheck({
  311. post:{
  312. airId:{required:true},
  313. params:{required:true},
  314. }
  315. }),
  316. async (req,res)=>{
  317. try{
  318. let results = await c_flight.updateAir(req.body.airId,
  319. req.body.params);
  320. res.json({
  321. rcode: code.ok,
  322. data: results
  323. })
  324. }catch (error) {
  325. if (error.rcode !== code.customError) {
  326. console.log(error);
  327. }
  328. res.json({
  329. rcode: error.rcode || code.serverError,
  330. msg: error.msg || error.message
  331. });
  332. }
  333. })
  334. module.exports = router;