d_area.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 [cityType] 城市类型
  21. * @returns {Promise<unknown>}
  22. */
  23. function searchAreas(cityType){
  24. let sql=``,values=[];
  25. sql+=`select * from area`
  26. if(cityType){
  27. sql+=' where cityType = ?'
  28. values.push(cityType)
  29. }
  30. sql+=`;`
  31. return mysql.pq(sql,values);
  32. }
  33. /**
  34. * 更新指定城市
  35. * @param cityId 城市id
  36. * @param cityType 新的城市类型
  37. * @param cityName 新的城市名
  38. * @returns {Promise<unknown>}
  39. */
  40. function updateCity(cityId,cityType,cityName){
  41. let sql=``,values=[];
  42. if(checkArgumentsIsEmpty(Array.from(arguments))){throw {rcode:code.notParam}}
  43. sql+=`update area set`
  44. if(cityType){
  45. sql+=' cityType = ?'
  46. values.push(cityType)
  47. }
  48. if(cityName){
  49. sql+=' cityName = ?'
  50. values.push(cityName)
  51. }
  52. sql += ` where id = ?;`
  53. values.push(cityId);
  54. return mysql.pq(sql,values);
  55. }
  56. module.exports = {
  57. updateCity,
  58. addArea,
  59. searchAreas,
  60. }