日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

restify mysql_[菜鸟试水]关于Nodejs搭建后台API服务(Mysql-Restify)[下]

發布時間:2025/3/12 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 restify mysql_[菜鸟试水]关于Nodejs搭建后台API服务(Mysql-Restify)[下] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字數太多,我腰斬一下...

因為是API后臺,

沒有V只剩MC, 我們先看看Controller吧.也是簡單的處理代碼.

由require看出,我們需要在JsModule下再建一個文件夾Controll,再在里面新建GuestControll.js

var

Guest=require("../Model/Guest.js");

function

GuestControll(app,Mysql)

{

var

GuestModel=Object.create(Guest.GuestModel);

app.get('/guest/gettodayguest', GetTodayGuests);

//查詢今天客人

app.get('/guest/getroombooking',

GetRoomBooking); //查詢房間預訂信息

app.get('/guest/getguestinfobyid',

GetGuestInfoById); //根據客人id獲取信息

app.post('/guest/bookroom', NewGuest);

//預訂客房

app.post('/guest/checkin', Checkin);

//入住客房

app.post('/guest/checkout', Checkout);

//退房

app.post('/guest/cancelbooking', CancelBooking);

//取消預訂

app.post('/guest/overstay', OverStay);

//續住

function

GetTodayGuests(req, res, next) {

console.log("GetTodayGuests

query:"+JSON.stringify(req.query));

var

Today=req.params.today;

GuestModel.GetTodayGuests(Mysql,Today,function(Data){

res.charSet('utf-8');

res.send(Data);

});

}

function

NewGuest(req, res, next){

res.send('0');

}

function

Checkin(req, res, next) {

console.log("Checkin

param:"+JSON.stringify(req.params));

var

RoomId=req.params.roomid;

GuestModel.Checkin(Mysql,RoomId,function(Rst){

res.charSet('utf-8');

var

SR={iRst:Rst};

res.send(SR);

});

}

function

Checkout(req, res, next) {

console.log("Checkout

param:"+JSON.stringify(req.params));

var

RoomId=req.params.roomid;

GuestModel.Checkout(Mysql,RoomId,function(Rst){

res.charSet('utf-8');

var

SR={iRst:Rst};

res.send(SR);

});

}

function

CancelBooking(req, res, next) {

console.log("CancelBooking

param:"+JSON.stringify(req.params));

var

RoomId=req.params.roomid;

var

GuestStr=req.params.guestStr;

var

GuestArr=eval_r(GuestStr);

console.log(GuestArr);

GuestModel.CancelBooking(Mysql,RoomId,GuestArr,function(Rst){

res.charSet('utf-8');

var

SR={iRst:Rst};

res.send(SR);

});

}

function

OverStay(req, res, next) {

console.log("OverStay

param:"+JSON.stringify(req.params));

var

RoomId=req.params.roomid;

var

StayTime=req.params.staytime;

GuestModel.OverStay(Mysql,RoomId,StayTime,function(Rst){

res.charSet('utf-8');

var

SR={iRst:Rst};

res.send(SR);

});

}

function

GetRoomBooking(req, res, next)

{

console.log("GetRoomBooking

query:"+JSON.stringify(req.query));

var

RoomId=req.params.roomid;

var

NowTime=req.params.thistime;

GuestModel.GetRoomBooking(Mysql,RoomId,NowTime,function(Data){

res.charSet('utf-8');

res.send(Data);

});

}

function

GetGuestInfoById(req, res, next)

{

console.log("GetGuestInfoById

query:"+JSON.stringify(req.query));

var

UserId=req.params.uid;

GuestModel.GetGuestInfoById(Mysql,UserId,function(Data){

res.charSet('utf-8');

res.send(Data);

});

}

}

exports.GuestControll=GuestControll;

Controller都是中轉控制啦, 業務邏輯都在Module層里,

第一句就告訴我們又要再建一個Module文件夾和Guest.js 的Module.

唯一讓我覺得不夠爽的地方是注冊各個請求的接收參數名, 這個必須由后臺私下和前端事先約定, 在nodejs上無法自描述...

var

JsOper=require("../Tool/JsOper.js");

var

DataTable=require("../Tool/CDataTableName.js");

var

GuestModel={

GetTodayGuests:function(MySql,aUTCDate,aResponse)

{

var QueryCmd=['SELECT

t1.ROOM_ID,t1.GASTNR,t1.GASTNAME,t2.SEX,t2.VIP,t1.ANREISE,t1.ABREISE,t1.CHECK_FLAG

'];

QueryCmd.push(' FROM

',DataTable.TableGuestCheckIn,' t1,

',DataTable.TableGuestInfo,' t2 ' );

QueryCmd.push(' WHERE

t1.GASTNR=t2.NUMMER ?AND ((t1.ANREISE

總結

以上是生活随笔為你收集整理的restify mysql_[菜鸟试水]关于Nodejs搭建后台API服务(Mysql-Restify)[下]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。