開發語言:Java
架構:ssm
JDK版本:JDK1.8
伺服器:tomcat7
資料庫:mysql 5.7(一定要5.7版本)
資料庫工具:Navicat11
開發軟體:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏覽器:谷歌浏覽器
資料庫腳本:
DROP TABLE IF EXISTS
chat
;
/*!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE
chat
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
addtime
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',
userid
bigint(20) NOT NULL COMMENT '使用者id',
adminid
bigint(20) DEFAULT NULL COMMENT '管理者id',
ask
longtext COMMENT '提問',
reply
longtext COMMENT '回複',
isreply
int(11) DEFAULT NULL COMMENT '是否回複',
PRIMARY KEY (
id
)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='線上留言';
/!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table
chat
--
LOCK TABLES
chat
WRITE;
/*!40000 ALTER TABLE
chat
DISABLE KEYS /;
INSERT INTO
chat
VALUES (51,'2022-02-27 13:29:35',1,1,'提問1','回複1',1),(52,'2022-02-27 13:29:35',2,2,'提問2','回複2',2),(53,'2022-02-27 13:29:35',3,3,'提問3','回複3',3),(54,'2022-02-27 13:29:35',4,4,'提問4','回複4',4),(55,'2022-02-27 13:29:35',5,5,'提問5','回複5',5),(56,'2022-02-27 13:29:35',6,6,'提問6','回複6',6);
/!40000 ALTER TABLE
chat
ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table
config
--
DROP TABLE IF EXISTS
config
;
/*!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE
config
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
name
varchar(100) NOT NULL COMMENT '配置參數名稱',
value
varchar(100) DEFAULT NULL COMMENT '配置參數值',
PRIMARY KEY (
id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置檔案';
/!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table
config
--
LOCK TABLES
config
WRITE;
/*!40000 ALTER TABLE
config
DISABLE KEYS /;
INSERT INTO
config
VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/!40000 ALTER TABLE
config
ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table
dingpiaoxinxi
--
DROP TABLE IF EXISTS
dingpiaoxinxi
;
/*!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE
dingpiaoxinxi
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
addtime
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',
dingdanbianhao
varchar(200) DEFAULT NULL COMMENT '訂單編号',
hangbanbianhao
varchar(200) DEFAULT NULL COMMENT '航班編号',
hangkonggongsi
varchar(200) DEFAULT NULL COMMENT '航空公司',
chufadi
varchar(200) DEFAULT NULL COMMENT '出發地',
mudedi
varchar(200) DEFAULT NULL COMMENT '目的地',
feixingfangshi
varchar(200) DEFAULT NULL COMMENT '飛行方式',
chufashijian
datetime DEFAULT NULL COMMENT '出發時間',
piaojia
float DEFAULT NULL COMMENT '票價',
shuliang
int(11) NOT NULL COMMENT '數量',
zongjine
float DEFAULT NULL COMMENT '總金額',
yonghuzhanghao
varchar(200) DEFAULT NULL COMMENT '使用者賬号',
yonghuxingming
varchar(200) DEFAULT NULL COMMENT '使用者姓名',
lianxidianhua
varchar(200) DEFAULT NULL COMMENT '聯系電話',
shenfenzhenghao
varchar(200) DEFAULT NULL COMMENT '身份證号',
goupiaoriqi
date DEFAULT NULL COMMENT '購票日期',
ispay
varchar(200) DEFAULT '未支付' COMMENT '是否支付',
PRIMARY KEY (
id
),
UNIQUE KEY
dingdanbianhao
(
dingdanbianhao
)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='訂票資訊';
/!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table
dingpiaoxinxi
--
LOCK TABLES
dingpiaoxinxi
WRITE;
/*!40000 ALTER TABLE
dingpiaoxinxi
DISABLE KEYS /;
INSERT INTO
dingpiaoxinxi
VALUES (31,'2022-02-27 13:29:35','1111111111','航班編号1','航空公司1','出發地1','目的地1','飛行方式1','2022-02-27 21:29:35',1,1,1,'使用者賬号1','使用者姓名1','聯系電話1','身份證号1','2022-02-27','未支付'),(32,'2022-02-27 13:29:35','2222222222','航班編号2','航空公司2','出發地2','目的地2','飛行方式2','2022-02-27 21:29:35',2,2,2,'使用者賬号2','使用者姓名2','聯系電話2','身份證号2','2022-02-27','未支付'),(33,'2022-02-27 13:29:35','3333333333','航班編号3','航空公司3','出發地3','目的地3','飛行方式3','2022-02-27 21:29:35',3,3,3,'使用者賬号3','使用者姓名3','聯系電話3','身份證号3','2022-02-27','未支付'),(34,'2022-02-27 13:29:35','4444444444','航班編号4','航空公司4','出發地4','目的地4','飛行方式4','2022-02-27 21:29:35',4,4,4,'使用者賬号4','使用者姓名4','聯系電話4','身份證号4','2022-02-27','未支付'),(35,'2022-02-27 13:29:35','5555555555','航班編号5','航空公司5','出發地5','目的地5','飛行方式5','2022-02-27 21:29:35',5,5,5,'使用者賬号5','使用者姓名5','聯系電話5','身份證号5','2022-02-27','未支付'),(36,'2022-02-27 13:29:35','6666666666','航班編号6','航空公司6','出發地6','目的地6','飛行方式6','2022-02-27 21:29:35',6,6,6,'使用者賬号6','使用者姓名6','聯系電話6','身份證号6','2022-02-27','未支付');
/!40000 ALTER TABLE
dingpiaoxinxi
ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table
discussjipiaoxinxi
--
DROP TABLE IF EXISTS
discussjipiaoxinxi
;
/*!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE
discussjipiaoxinxi
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
addtime
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',
refid
bigint(20) NOT NULL COMMENT '關聯表id',
userid
bigint(20) NOT NULL COMMENT '使用者id',
nickname
varchar(200) DEFAULT NULL COMMENT '使用者名',
content
longtext NOT NULL COMMENT '評論内容',
reply
longtext COMMENT '回複内容',
PRIMARY KEY (
id
)
) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='機票資訊評論表';
/!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table
discussjipiaoxinxi
--
LOCK TABLES
discussjipiaoxinxi
WRITE;
/*!40000 ALTER TABLE
discussjipiaoxinxi
DISABLE KEYS /;
INSERT INTO
discussjipiaoxinxi
VALUES (81,'2022-02-27 13:29:36',1,1,'使用者名1','評論内容1','回複内容1'),(82,'2022-02-27 13:29:36',2,2,'使用者名2','評論内容2','回複内容2'),(83,'2022-02-27 13:29:36',3,3,'使用者名3','評論内容3','回複内容3'),(84,'2022-02-27 13:29:36',4,4,'使用者名4','評論内容4','回複内容4'),(85,'2022-02-27 13:29:36',5,5,'使用者名5','評論内容5','回複内容5'),(86,'2022-02-27 13:29:36',6,6,'使用者名6','評論内容6','回複内容6');
/!40000 ALTER TABLE
discussjipiaoxinxi
ENABLE KEYS */;
UNLOCK TABLES;
業務邏輯代碼:
/**
- 使用者
- 後端接口
- @author
-
@date 2022-02-27 21:28:50
*/
@RestController
@RequestMapping("/yonghu")
public class YonghuController {
@Autowired
private YonghuService yonghuService;
@Autowired
private TokenService tokenService;
/**
-
登入
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("賬号或密碼不正确");
}
String token = tokenService.generateToken(user.getId(), username,"yonghu", "使用者" );
return R.ok().put("token", token);
}
/**
-
注冊
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(user!=null) {
return R.error("注冊使用者已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
/**
-
退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
-
擷取使用者的session使用者資訊
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
YonghuEntity user = yonghuService.selectById(id);
return R.ok().put("data", user);
}
/**
-
密碼重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));
if(user==null) {
return R.error("賬号不存在");
}
user.setMima("123456");
yonghuService.updateById(user);
return R.ok("密碼已重置為:123456");
}
/**
-
後端清單
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
return R.ok().put("data", page);
}
/**
-
前端清單
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
return R.ok().put("data", page);
}
/**
-
清單
*/
@RequestMapping("/lists")
public R list( YonghuEntity yonghu){
EntityWrapper();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
return R.ok().put("data", yonghuService.selectListView(ew));
}
/**
-
查詢
*/
@RequestMapping("/query")
public R query(YonghuEntity yonghu){
EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
YonghuView yonghuView = yonghuService.selectView(ew);
return R.ok("查詢使用者成功").put("data", yonghuView);
}
/**
-
後端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}