d_area.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. const mysql = require('./mysql')
  2. const field = require('../maps/field')
  3. const code = require('../maps/rcodeMap')
  4. const checkArgumentsIsEmpty = require('../until/checkArgumentsIsEmpty')
  5. // 地区管理
  6. /**
  7. * 新增地区
  8. * @param cityType 地区类型国际或者国内
  9. * @param cityName 城市名称
  10. * @returns {Promise<unknown>}
  11. */
  12. function addArea(cityType = field.cityType_domestic,cityName){
  13. let sql=``,values=[];
  14. sql+=`insert into area (cityName,cityType) values(?,?);`
  15. values.push(cityName,cityType)
  16. return mysql.pq(sql,values);
  17. }
  18. /**
  19. * 获取航班类型
  20. * @param cityId
  21. */
  22. function cityType(cityId){
  23. let sql = ``,values = [];
  24. sql = `select cityType from area where id = ?`
  25. values.push(cityId)
  26. sql += ';'
  27. return mysql.pq(sql,values);
  28. }
  29. /**
  30. * 搜索地区
  31. * @param [cityType] 城市类型
  32. * @returns {Promise<unknown>}
  33. */
  34. function searchAreas(cityType){
  35. let sql=``,values=[];
  36. sql+=`select * from area`
  37. if(cityType){
  38. sql+=' where cityType = ?'
  39. values.push(cityType)
  40. }
  41. sql+=`;`
  42. return mysql.pq(sql,values);
  43. }
  44. /**
  45. * 更新指定城市
  46. * @param cityId 城市id
  47. * @param cityName 新的城市类型
  48. * @param cityType 新的城市名
  49. * @returns {Promise<unknown>}
  50. */
  51. function updateCity(cityId,cityName,cityType){
  52. let sql=``,values=[];
  53. if(checkArgumentsIsEmpty(Array.from(arguments))){throw {rcode:code.notParam}}
  54. sql+=`update area set`
  55. if(cityType){
  56. sql+=' cityType = ?'
  57. values.push(cityType)
  58. }
  59. if(cityName){
  60. if(values.length>0){sql+=','}
  61. sql+='cityName = ?'
  62. values.push(cityName)
  63. }
  64. sql += ` where id = ?;`
  65. values.push(cityId);
  66. return mysql.pq(sql,values);
  67. }
  68. module.exports = {
  69. updateCity,
  70. addArea,
  71. searchAreas,
  72. cityType
  73. }