Bladeren bron

购物车相关接口

kindring 3 jaren geleden
bovenliggende
commit
7b762b4c4d
4 gewijzigde bestanden met toevoegingen van 58 en 5 verwijderingen
  1. 22 1
      controller/account.js
  2. 16 2
      database/d_user.js
  3. 19 1
      routes/userApi.js
  4. 1 1
      routes/users.js

+ 22 - 1
controller/account.js

@@ -109,12 +109,33 @@ async function info(type,account){
     return result[0];
 }
 
+/**
+ * 获取用户购物车
+ * @param account 用户账号
+ * @returns {Promise<*>}
+ */
+async function cars(account){
+    // 根据账号查找id
+    let [err,result] = await handle(db_user.findAccountUser(userType,account));
+    if(err)throw err;
+    if(result.length < 1){
+        throw {rcode:codeMap.notFound,msg:'无法找到账户'}
+    }
+    [err,result] = await handle(db_user.cars(result[0].id));
+    if(err)throw err;
+    // 注册成功
+    return result;
+}
+
+
+
 module.exports = {
     register,
     changePhone,
     changePasswd,
     checkAccount,
     login,
-    info
+    info,
+    cars
 }
 

+ 16 - 2
database/d_user.js

@@ -82,6 +82,19 @@ function info(type,account){
     return mysql.pq(sql,values);
 }
 
+function cars(id){
+    let sql = ``,values = [];
+    sql = `select c.*,f.flightState,f.currentPrice,f.sailingTime,f.langdinTime,dep.cityname as departureCityName,tar.cityname as targetCityName
+            from
+            flight as f
+            inner JOIN (select * from car ) as c on c.flightId = f.id
+            LEFT JOIN (select id,cityName from area ) as dep on dep.id = f.departureCity
+            LEFT JOIN (select id,cityName from area ) as tar on tar.id = f.targetCity
+            where c.userId = ?;`
+    values.push(id);
+    return mysql.pq(sql,values);
+}
+
 module.exports =  {
     register,
     login,
@@ -89,5 +102,6 @@ module.exports =  {
     findPhoneUser,
     changePhone,
     changePasswd,
-    info
-}
+    info,
+    cars
+}

+ 19 - 1
routes/userApi.js

@@ -47,5 +47,23 @@ router.get('/info',checkLogin(fields.userType),async(req,res)=>{
         });
     }
 });
+router.get('/cars',checkLogin(fields.userType),async(req,res)=>{
+    try{
+        let results = await c_user.cars(req.session[progress.userSessionField]);
+        res.json({
+            rcode: code.ok,
+            data: results,
+            total: results.length
+        })
+    }catch (error) {
+        if (error.rcode !== code.customError) {
+            console.log(error);
+        }
+        res.json({
+            rcode: error.rcode || code.serverError,
+            msg: error.msg || error.message
+        });
+    }
+});
 
-module.exports = router;
+module.exports = router;

+ 1 - 1
routes/users.js

@@ -65,7 +65,7 @@ router.post('/login',
     }),
     async(req,res)=>{
       try{
-        if (req.body.captcha.toLowerCase() != req.session.captcha) return res.json({...result, msg: `验证码错误,captcha error` });
+        if (req.body.captcha.toLowerCase() != req.session.captcha) return res.json({rcode: code.customError, msg: `验证码错误,captcha error` });
         let results = await c_user.login(fields.userType,req.body.account,req.body.passwd);
         req.session[progress.userSessionField] = results;
         res.json({