文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受游客的喜爱,南宁周边乡村游被游客普遍使用,为方便游客能够可以随时进行南宁周边乡村游的数据信息管理,特开发了基于南宁周边乡村游的管理系统。
南宁周边乡村游的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便游客可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。
南宁周边乡村游的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与南宁周边乡村游的实际需求相结合,讨论了基于南宁周边乡村游的使用。?
游客注册通过注册窗口,进行在线填写自己的账号、密码、姓名、年龄、手机、邮箱等,信息编辑完成后核对信息无误后进行选择注册,系统核对游客所输入的账号信息是否准确,核对信息准确无误后系统进入到操作界面。
?游客登录通过账号、密码行页面,进入到南宁周边乡村游主界面,进入到操作界面,进行相对应操作
?游客首页页面可以查看首页、景点信息、景点美食、特产信息、我的等信息,进行提交操作
?游客进入景点信息页面可以查看景点名称、景点类型、景点图片、景点星级、景点地址、营业时间、注意事项、价格等信息,进行加入购物车、立即订购操作
?游客进入景点美食页面可以查看美食名称、美食类型、美食图片、美食介绍、价格等信息,进行加入购物车、立即订购操作
?游客进入景点攻略页面可以查看攻略标题、景点名称、出发城市、行程天数、行程距离、交通工具、行程路线、景点封面等信息,进行点我收藏操作
?
管理员通过南宁周边乡村游进行确认,管理员进入到南宁周边乡村游主界面,管理员进入到操作界面,通过登录窗口进行在线填写自己的用户名和密码、角色进行登录,登录成功后进入到系统操作界面进行相应信息的获取
?管理员进入到界面,通过界面的任务大厅,登录成功后进入到系统可以进行查看首页、个人中心、游客管理、景点信息管理、景点美食管理、美食类型管理、景点攻略管理、特产信息管理、特产类型管理、留言板管理、系统管理、订单管理等功能模块,进行相对应操作
?管理员点击景点信息管理进入页面可以查看景点名称、景点类型、景点图片、景点星级、景点地址、营业时间、注意事项、价格等信息,进行详情、修改、删除操作
?管理员进入景点美食管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看美食名称、美食类型、美食图片、美食介绍、价格等信息,进行相对应操作
管理员进入到景点攻略管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看攻略标题、景点名称、出发城市、行程天数、行程距离、交通工具、行程路线、景点封面等信息,进行相对应操作?
?管理员进入到特产信息管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看特产名称、特产类型、图片、生产日期、保质期、价格等信息,进行相对应操作
?管理员进入到订单管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址等信息,进行相对应操作
?轮播图;该页面为轮播图管理界面。管理员可以在此页面进行首页轮播图的管理,通过新建操作可在轮播图中加入新的图片,还可以对以上传的图片进行修改操作,以及图片的删除操作
?
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}