博主介绍: ✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌
🍅 文末获取源码联系 🍅
👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
系统介绍:
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对农家乐信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用农家乐信息平台可以有效管理,使信息管理能够更加科学和规范。
农家乐信息平台在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理农作物,农家乐活动,周边餐饮和住宿,以及景点等资料,对景点门票购买,住宿预订,餐饮和农作物商品的购买订单等进行管理。用户通过本系统购买农作物,餐饮,预订住宿,购买景点门票,查看农家乐活动,同时管理各种订单,包括景点门票购买订单,住宿预订订单,农作物和餐饮购买的订单等。
总之,农家乐信息平台集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理农作物,农家乐活动,周边餐饮和住宿,以及景点等资料,对景点门票购买,住宿预订,餐饮和农作物商品的购买订单等进行管理。
图4.1 管理员功能结构图
功能截图:
5.1.1 周边住宿管理
管理员进入指定功能操作区之后可以管理周边住宿。其页面见下图。管理员增删改查周边住宿的房间信息,查看用户对房间的评论。
图5.1 周边住宿管理页面
5.1.2 景点信息管理
管理员进入指定功能操作区之后可以管理景点信息。其页面见下图。管理员增删改查景点,查看用户对景点的评论。
图5.2 景点信息管理页面
5.1.3 周边餐饮管理
管理员进入指定功能操作区之后可以管理周边餐饮。其页面见下图。管理员在本页面增删改查餐饮信息,查看用户评论餐饮的信息。
图5.3 周边餐饮管理页面
5.1.4 农家乐活动管理
管理员进入指定功能操作区之后可以管理农家乐活动。其页面见下图。管理员主要对农家乐活动的地点,人数,开始和结束时间等信息管理,包括修改与删除。
图5.4 农家乐活动管理页面
5.1.5 门票购买管理
管理员进入指定功能操作区之后可以管理门票购买信息。其页面见下图。管理员查看用户购买门票是否支付,查看购买门票的详情。
图5.5 门票购买管理页面
5.1.6 已支付订单
管理员进入指定功能操作区之后可以管理已支付订单。其页面见下图。管理员对用户购买并支付的农作物和餐饮订单进行线上发货。
图5.6 已支付订单页面
5.2 用户功能实现
5.2.1 农作物
用户进入指定功能操作区之后可以查看农作物。其页面见下图。用户在查看农作物介绍后,可以评论收藏,也能直接购买或添加农作物至购物车。
图5.7 农作物页面
5.2.2 景点信息
用户进入指定功能操作区之后可以查看景点。其页面见下图。本系统实现景点的展示以及景点门票的线上销售功能。用户可以在查看景点之后,可以购买景点门票。
图5.8 景点信息页面
5.2.3 周边住宿
用户进入指定功能操作区之后可以查看周边住宿。其页面见下图。本系统让用户可以在线预订住宿房间,也能通过用户评论更加了解住宿房间,为用户选择适合自己的住宿房间提供更多参考信息。
图5.9 周边住宿页面
5.2.4 住宿预订管理
用户进入指定功能操作区之后可以管理住宿预订。其页面见下图。用户在住宿预订管理模块才可以支付预订订单。
图5.10 住宿预订管理页面
5.2.5 门票购买管理
用户进入指定功能操作区之后可以管理门票购买。其页面见下图。用户在门票购买管理模块支付购买的景点门票。
图5.11 门票购买管理页面
代码实现:
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
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);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@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();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
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("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@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();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
论文参考:
第1章 绪论1
1.1 课题背景1
1.2 课题意义1
1.3 研究内容2
第2章 开发环境与技术3
2.1 MYSQL数据库3
2.2 JSP技术3
2.3 SSM框架4
第3章 系统分析5
3.1 可行性分析5
3.1.1 技术可行性5
3.1.2 经济可行性5
3.1.3 操作可行性5
3.2 系统流程6
3.2.1 操作流程6
3.2.2 登录流程6
3.2.3 删除信息流程7
3.2.4 添加信息流程8
3.3 性能需求8
3.4 功能需求9
第4章 系统设计11
4.1 设计原则11
4.2 功能结构设计11
4.3 数据库设计13
4.3.1 数据库概念设计14
4.3.2 数据库物理设计17
第5章 系统实现23
5.1 管理员功能实现23
5.1.1 周边住宿管理23
5.1.2 景点信息管理23
5.1.3 周边餐饮管理24
5.1.4 农家乐活动管理24
5.1.5 门票购买管理25
5.1.6 已支付订单25
5.2 用户功能实现26
5.2.1 农作物26
5.2.2 景点信息26
5.2.3 周边住宿27
5.2.4 住宿预订管理27
5.2.5 门票购买管理28
第6章 系统测试29
6.1 功能测试29
6.1.1 登录功能测试29
6.1.2 修改密码功能测试30
6.2 测试结果30
结 论31
致 谢32
参考文献33
获取源码:
大家 点赞、收藏、关注、评 论啦 、 查看 👇🏻 获取联系方式 👇🏻
精彩专栏 推荐订阅 :在 下方专栏 👇🏻
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》