开发语言: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); }













