d_user.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. const mysql = require('./mysql');
  2. /**
  3. * 查找是否有指定用户名的账户
  4. * @param userType 用户类型
  5. * @param account 账号
  6. * @returns {Promise<unknown>}
  7. */
  8. function findAccountUser(userType,account){
  9. let sql = `select * from user where accountType = ? and account = ?`;
  10. let values = [userType,account];
  11. return mysql.pq(sql,values);
  12. }
  13. /**
  14. * 查找是否手机号是否被绑定
  15. * @param userType 用户类型
  16. * @param phone 手机号
  17. * @returns {Promise<unknown>}
  18. */
  19. function findPhoneUser(userType,phone){
  20. let sql = `select count(*) as total from user where accountType = ? and phone = ?`;
  21. let values = [userType,phone];
  22. return mysql.pq(sql,values);
  23. }
  24. /**
  25. * 登录
  26. * @param userType
  27. * @param account
  28. * @param passwd
  29. * @returns {Promise<unknown>}
  30. */
  31. function login(userType,account,passwd){
  32. let sql = `select * from user where accountType = ? and account = ? and passwd = ?`;
  33. let values = [...arguments];
  34. return mysql.pq(sql,values);
  35. }
  36. /**
  37. * 根据id修改密码
  38. * @param id
  39. * @param newPasswd
  40. * @returns {Promise<unknown>}
  41. */
  42. function changePasswd(id,newPasswd){
  43. let sql = `update user set passwd = ? where id = ?`;
  44. let values = [newPasswd,id];
  45. return mysql.pq(sql,values);
  46. }
  47. /**
  48. * 修改账号手机号
  49. * @param id
  50. * @param phone
  51. * @returns {Promise<unknown>}
  52. */
  53. function changePhone(id,phone){
  54. let sql = `update user set Phone = ? where id = ?`;
  55. let values = [phone,id];
  56. return mysql.pq(sql,values);
  57. }
  58. /**
  59. * 新增用户
  60. * @param userType 账户类型
  61. * @param nickName 用户名称
  62. * @param account 登录账号
  63. * @param passwd 密码
  64. * @returns {Promise<unknown>}
  65. */
  66. function register(userType,nickName,account,passwd){
  67. let sql = `insert into user(nickName,account,passwd,accountType) values(?,?,?,?)`;
  68. let values = [nickName,account,passwd,userType];
  69. return mysql.pq(sql,values);
  70. }
  71. function info(type,account){
  72. let sql = `select * from user where accountType = ? and account = ?`;
  73. let values = [type,account];
  74. return mysql.pq(sql,values);
  75. }
  76. function findCar(userId,flightId){
  77. let sql = ``,values = [];
  78. sql = `select c.*,f.flightState,f.currentPrice,f.sailingTime,f.langdinTime,dep.cityname as departureCityName,tar.cityname as targetCityName
  79. from
  80. flight as f
  81. inner JOIN (select * from car ) as c on c.flightId = f.id
  82. LEFT JOIN (select id,cityName from area ) as dep on dep.id = f.departureCity
  83. LEFT JOIN (select id,cityName from area ) as tar on tar.id = f.targetCity
  84. where c.userId = ? and flightId = ?;`
  85. values.push(userId,flightId);
  86. return mysql.pq(sql,values);
  87. }
  88. function cars(userId){
  89. let sql = ``,values = [];
  90. sql = `select c.*,f.flightState,f.currentPrice,f.sailingTime,f.langdinTime,dep.cityname as departureCityName,tar.cityname as targetCityName
  91. from
  92. flight as f
  93. inner JOIN (select * from car ) as c on c.flightId = f.id
  94. LEFT JOIN (select id,cityName from area ) as dep on dep.id = f.departureCity
  95. LEFT JOIN (select id,cityName from area ) as tar on tar.id = f.targetCity
  96. where c.userId = ?;`
  97. values.push(userId);
  98. return mysql.pq(sql,values);
  99. }
  100. function addCar(flightId,userId){
  101. let sql = `insert into car(flightId,userId) values(?,?)`;
  102. let values = [flightId,userId];
  103. return mysql.pq(sql,values);
  104. }
  105. /**
  106. * 移除购物车的指定行 根据id
  107. * @param carId 要删除的id
  108. * @returns {Promise<unknown>}
  109. */
  110. function removeCar(carId){
  111. let sql = `delete from car where id = ?`;
  112. let values = [carId];
  113. return mysql.pq(sql,values);
  114. }
  115. module.exports = {
  116. register,
  117. login,
  118. findAccountUser,
  119. findPhoneUser,
  120. changePhone,
  121. changePasswd,
  122. info,
  123. cars,
  124. removeCar,
  125. addCar,
  126. findCar
  127. }