• 基于javaweb的旅游景点门票管理系统(java+ssm+jsp+mysql)


    基于javaweb的旅游景点门票管理系统(java+ssm+jsp+mysql)

    运行环境

    Java≥8、MySQL≥5.7、Tomcat≥8

    开发工具

    eclipse/idea/myeclipse/sts等均可配置运行

    适用

    课程设计,大作业,毕业设计,项目练习,学习演示等

    功能说明

    20220519001321

    20220519001322

    20220519001324

    20220519001325

    20220519001326

    基于javaweb+jsp的旅游景点门票管理系统(java+SSM+jsp+Mysql)

    jsp+ssm(spring+springMVC+mybatis)+MySQL实现的在线旅游景点信息管理系统,系统主要实现的功能有:用户浏览搜索景点游玩路线、用户注册登录、下单预定旅游产品等。后台管理员可对旅游产品进行管理、包括旅游的主题、产品、用户、定制、订单等。

    酒店管理控制器层:

    /**

    • 控制器层

    • @author yy

    */

    @Controller

    @CrossOrigin

    @RequestMapping(“/hotel”)

    public class HotelController {

    @Autowired

    private HotelService hotelService;

    @Autowired

    private ScenicService scenicService;

    /**

    • 查询全部酒店信息

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/list”,method= RequestMethod.GET)

    public Result findAll(){

    List all = hotelService.findAll();

    return new Result(true, StatusCode.OK,“查询成功”,all,all.size());

    /**

    • 根据ID查询

    • @param id ID

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.GET)

    public Result findById(@PathVariable Long id){

    return new Result(true,StatusCode.OK,“查询成功”,hotelService.findById(id));

    /**

    • 酒店添加操作

    • @param hotel

    */

    @ResponseBody

    @RequestMapping(value = “/add”,method=RequestMethod.POST)

    public Result add(Hotel hotel){

    if(StringUtils.isEmpty(hotel.getName())){

    return new Result(false,StatusCode.ERROR,“请填写酒店名称”);

    if(StringUtils.isEmpty(hotel.getImg())){

    return new Result(false,StatusCode.ERROR,“请上传酒店封面图片”);

    if(StringUtils.isEmpty(hotel.getAddr())){

    return new Result(false,StatusCode.ERROR,“请填写酒店地址”);

    if(StringUtils.isEmpty(hotel.getMiaoshu())){

    return new Result(false,StatusCode.ERROR,“请填写酒店描述”);

    hotel.setCommentCount(0);

    hotel.setStar(0);

    if(hotelService.add(hotel)==null){

    return new Result(false,StatusCode.ERROR,“酒店添加失败”);

    return new Result(true,StatusCode.OK,“添加成功”);

    /**

    • 分页+多条件查询

    • @param searchMap 查询条件封装

    • @param page 页码

    • @param size 页大小

    • @return 分页结果

    */

    @ResponseBody

    @RequestMapping(value=“/search/{page}/{size}”,method=RequestMethod.POST)

    public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){

    Page pageList = hotelService.findSearch(searchMap, page, size);

    return new Result(true,StatusCode.OK,“查询成功”, new PageResult(pageList.getTotalElements(), pageList.getContent()) );

    /**

    • 根据条件查询

    • @param searchMap

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/search”,method = RequestMethod.POST)

    public Result findSearch( @RequestBody Map searchMap){

    return new Result(true,StatusCode.OK,“查询成功”,hotelService.findSearch(searchMap));

    /**

    • 修改

    • @param hotel

    */

    @ResponseBody

    @RequestMapping(value=“/edit”,method= RequestMethod.PUT)

    public Result update(Hotel hotel){

    Hotel hotelById = hotelService.findById(hotel.getId());

    if(hotelById==null){

    return new Result(false,StatusCode.ERROR,“该酒店信息不存在”);

    if(StringUtils.isEmpty(hotel.getName())){

    return new Result(false,StatusCode.ERROR,“请填写酒店名称”);

    BeanUtils.copyProperties(hotel,hotelById,“id”,“img”,“miaoshu”,“day”,“startdate”,“addr”,“commentCount”);

    if(hotelService.update(hotelById)==null){

    return new Result(false,StatusCode.ERROR,“酒店编辑失败”);

    return new Result(true,StatusCode.OK,“修改成功”);

    /**

    • 删除

    • @param id

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.DELETE)

    public Result delete(@PathVariable String id ){

    hotelService.deleteById(id);

    return new Result(true,StatusCode.OK,“删除成功”);

    /**

    • 酒店列表跳转路径

    • @return

    */

    @RequestMapping(value = “/hotelList”)

    public String hotelList(){

    return “admin/hotelmanage/hotelList”;

    @RequestMapping(value = “/hotelAdd”)

    public String hotelAdd(){

    return “admin/hotelmanage/hotelAdd”;

    /**

    • 查询单个酒店

    • @param model

    • @param id

    • @return

    */

    @RequestMapping(“/oneAttr”)

    public String One_attr(Model model, Long id){

    Hotel scenic=hotelService.findById(id);

    model.addAttribute(“oneAttr”,scenic);

    return “page/hotelDetail”;

    @RequestMapping(“/local”)

    public String localRefresh(Model model,Long id) {

    Hotel hotel=hotelService.findById(id);

    // Sort sort=new Sort(Sort.Direction.DESC,“star”);

    System.out.println(“1111”+hotel.toString());

    List scenics=scenicService.findByCountryLike(hotel.getAddr());

    System.out.println(“2222”+scenics.toString());

    Collections.sort(scenics, new Comparator() {

    @Override

    public int compare(Scenic o1, Scenic o2) {

    if (o1.getStart()

    return 2;

    if (o1.getStart().equals(o2.getStart()) ){

    return 1;

    return -1;

    });

    if (scenics.size()>=4){

    List newList=scenics.subList(0,3);

    model.addAttribute(“scenics”,newList);

    }else {

    model.addAttribute(“scenics”,scenics);

    return “page/hotelDetail::table_refresh”;

    管理员控制层:

    /**

    • 控制器层

    • @author yy

    */

    @Controller

    @CrossOrigin

    @RequestMapping(“/admin”)

    public class AdminController {

    @Autowired

    private AdminService adminService;

    @Autowired

    BCryptPasswordEncoder encoder;

    /**

    • 查询全部数据

    • @return

    */

    @ResponseBody

    @RequestMapping(method= RequestMethod.GET)

    public Result findAll(){

    return new Result(true, StatusCode.OK,“查询成功”,adminService.findAll());

    /**

    • 根据ID查询

    • @param id ID

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.GET)

    public Result findById(@PathVariable Long id){

    return new Result(true,StatusCode.OK,“查询成功”,adminService.findById(id));

    /**

    • 分页+多条件查询

    • @param searchMap 查询条件封装

    • @param page 页码

    • @param size 页大小

    • @return 分页结果

    */

    @ResponseBody

    @RequestMapping(value=“/search/{page}/{size}”,method=RequestMethod.POST)

    public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){

    Page pageList = adminService.findSearch(searchMap, page, size);

    return new Result(true,StatusCode.OK,“查询成功”, new PageResult(pageList.getTotalElements(), pageList.getContent()) );

    /**

    • 根据条件查询

    • @param searchMap

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/search”,method = RequestMethod.POST)

    public Result findSearch( @RequestBody Map searchMap){

    return new Result(true,StatusCode.OK,“查询成功”,adminService.findSearch(searchMap));

    /**

    • 增加

    • @param admin

    */

    @ResponseBody

    @RequestMapping(method=RequestMethod.POST)

    public Result add(@RequestBody Admin admin ){

    adminService.add(admin);

    return new Result(true,StatusCode.OK,“增加成功”);

    /**

    • 修改

    • @param admin

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.PUT)

    public Result update(@RequestBody Admin admin, @PathVariable Long id ){

    admin.setId(id);

    adminService.update(admin);

    return new Result(true,StatusCode.OK,“修改成功”);

    /**

    • 删除

    • @param id

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.DELETE)

    public Result delete(@PathVariable String id ){

    adminService.deleteById(id);

    return new Result(true,StatusCode.OK,“删除成功”);

    /**

    • 管理员跳转

    • @return

    */

    @RequestMapping(value = “/adminlogin”)

    public String adminlogin()

    return “admin/login/login”;

    /**

    • admin登录

    • @param loginMap

    • @param request

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/login”,method= RequestMethod.POST)

    public Result login(@RequestParam Map loginMap,HttpServletRequest request){

    Admin admin = adminService.finbyNameAndPassword(loginMap.get(“name”),loginMap.get(“password”));

    if (admin!=null){

    request.getSession().setAttribute(“admin”,admin);

    Map map=new HashMap();

    map.put(“name”,admin.getName());

    return new Result(true,StatusCode.OK,“登录成功”);

    }else {

    return new Result(false,StatusCode.ERROR,“账号密码错误”);

    /**

    • 管理员登录成功

    • @return

    */

    @RequestMapping(value = “/index”)

    public String success(){

    return “admin/index”;

    /**

    • 用户列表

    • @return

    */

    @RequestMapping(value = “/userList”)

    public String user(){

    return “admin/usermanage/userList”;

    @RequestMapping(value = “/echars”)

    public String analysis(){

    return “admin/echars/console”;

    /**

    • 管理员退出登录

    • @return

    */

    @RequestMapping(value = “/logout”)

    public String logout(HttpSession session){

    session.removeAttribute(“admin”);

    return “admin/login/login”;

    /**

    • 管理员修改密码

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/passwd”)

    public Result passwd(HttpSession session,String passwd,String oldpad){

    Admin admindmin= (Admin) session.getAttribute(“admin”);

    Admin admins=adminService.findById(admindmin.getId());

    boolean old=encoder.matches(oldpad,admins.getPassword());

    if (old){

    String newPassd=encoder.encode(passwd);

    admins.setPassword(newPassd);

    adminService.update(admins);

    return new Result(true,StatusCode.OK,“成功”);

    }else {

    return new Result(false,StatusCode.ERROR,“更新失败”);

    订单管理控制层:

    /**

    • 控制器层

    • @author yy

    */

    @Controller

    @CrossOrigin

    @RequestMapping(“/orders”)

    public class OrdersController {

    @Autowired

    private OrdersService ordersService;

    @Autowired

    private HotelOrdersService hotel_ordersService;

    @Autowired

    private HotelService hotelService;

    @Autowired

    private ScenicService scenicService;

    /**

    • 查询全部数据

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/list”,method= RequestMethod.GET)

    public Result findAll(){

    List all = ordersService.findAll();

    return new Result(true, StatusCode.OK,“查询成功”,all,all.size());

    /**

    • 查询全部订单

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/allorders”,method = RequestMethod.POST)

    public String findAllOrders(HttpSession session, Model model) throws ParseException {

    User user= (User) session.getAttribute(“user”);

    model.addAttribute(“orders”,ordersService.findOrders(user.getId().toString()));

    return “index_header::table_refresh”;

    /**

    • 查询全部订单

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/allorder”,method = RequestMethod.POST)

    public List findAllOrder(HttpSession session) throws ParseException {

    User user= (User) session.getAttribute(“user”);

    return ordersService.findOrders(user.getId().toString());

    /**

    • 查询全部订单

    • @return

    */

    @ResponseBody

    @RequestMapping(value = “/allorderhotel”,method = RequestMethod.POST)

    public List findAllOrderHotel(HttpSession session){

    User user= (User) session.getAttribute(“user”);

    List hotel_orders=hotel_ordersService.hotel_orders(user.getId());

    return hotel_orders;

    /**

    • 根据ID查询

    • @param id ID

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.GET)

    public Result findById(@PathVariable Long id){

    return new Result(true,StatusCode.OK,“查询成功”,ordersService.findById(id));

    /**

    • 分页+多条件查询

    • @param searchMap 查询条件封装

    • @param page 页码

    • @param size 页大小

    • @return 分页结果

    */

    @ResponseBody

    @RequestMapping(value=“/search/{page}/{size}”,method=RequestMethod.POST)

    public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){

    Page pageList = ordersService.findSearch(searchMap, page, size);

    return new Result(true,StatusCode.OK,“查询成功”, new PageResult(pageList.getTotalElements(), pageList.getContent()) );

    /**

    • 根据条件查询

    • @param searchMap

    • @return

    */

    @ResponseBody

    @RequestMapping(value=“/search”,method = RequestMethod.POST)

    public Result findSearch( @RequestBody Map searchMap){

    return new Result(true,StatusCode.OK,“查询成功”,ordersService.findSearch(searchMap));

    /**

    • 订单添加操作

    • @param orders

    */

    @ResponseBody

    @RequestMapping(value =“/add”,method=RequestMethod.POST)

    public Result add(Orders orders, HttpSession session){

    //获取数量

    User user = (User) session.getAttribute(“user”);

    if (user == null){

    return new Result(false,StatusCode.ACCESSERROR,“请登录”);

    return ordersService.add(orders,user.getId(),orders.getId(),orders.getQty());

    /**

    • 修改

    • @param

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.PUT)

    public Result update(@PathVariable Long id){

    ordersService.updateStatus(id);

    return new Result(true,StatusCode.OK,“修改成功”);

    /**

    • 删除

    • @param id

    */

    @ResponseBody

    @RequestMapping(value=“/{id}”,method= RequestMethod.DELETE)

    public Result delete(@PathVariable Long id ){

    ordersService.deleteById(id);

    return new Result(true,StatusCode.OK,“删除成功”);

    @RequestMapping(value = “/ordersList”)

    public String ordersList(){

    return “admin/ordersmanage/orderslist”;

    /**

    • 酒店评分

    • @param hotel

    • @return

    */

    @ResponseBody

    @PostMapping(“/hotelOrderStar”)

    public Result hotelOrderStar(Hotel hotel,@RequestParam(“orderId”)Long orderId){

    Long id = hotel.getId();

    Hotel newHotel = hotelService.findById(id);

    if(newHotel==null){

    return new Result(false,StatusCode.ERROR,“未找到该酒店!”);

    Integer currentStar = hotel.getStar();

    Integer totalStar = newHotel.getStar();

    if(currentStar<0){

    return new Result(false,StatusCode.ERROR,“请选择评分!”);

    Integer commentCount = newHotel.getCommentCount();

    commentCount=commentCount+1;

    totalStar=currentStar+totalStar;

    int avgStar = totalStar / commentCount;

    hotel.setCommentCount(commentCount);

    hotel.setStar(avgStar);

    Integer hotel1 = hotelService.updateStar(hotel);

    hotel_ordersService.updateStarStatus(orderId);

    if(hotel1==null){

    return new Result(false,StatusCode.ERROR,“评分更新失败!”);

    return new Result(true,StatusCode.OK,“评价成功!”);

    /**

    • 景点评分

    • @param scenic

    • @return

    */

    @ResponseBody

    @PostMapping(“/travelOrderStar”)

    public Result travelOrderStar(Scenic scenic,@RequestParam(“orderId”)Long orderId){

    Long id = scenic.getId();

    Scenic newScenic = scenicService.findById(id);

    if(newScenic==null){

    return new Result(false,StatusCode.ERROR,“未找到该景点!”);

    Integer totalStar = newScenic.getStart();

    Integer currentStar = scenic.getStart();

    if(currentStar<0){

    return new Result(false,StatusCode.ERROR,“请选择评分!”);

    Integer commentCount = newScenic.getCommentCount();

    commentCount=commentCount+1;

    totalStar=currentStar+totalStar;

    int avgStar = totalStar / commentCount;

    scenic.setCommentCount(commentCount);

    scenic.setStart(avgStar);

    Integer scenic1 = scenicService.updateStar(scenic);

    ordersService.updateStarStatus(orderId);

    if(scenic1==null){

    return new Result(false,StatusCode.ERROR,“评分更新失败!”);

    return new Result(true,StatusCode.OK,“评价成功!”);


  • 相关阅读:
    《Android Studio开发实战 从零基础到App上线(第3版)》出版后记
    VMware16安装CentOS 7.9操作系统(Minimal版)
    ping不通Linux服务器怎么办?
    03 转换css元素的类别
    6个tips缓解第三方访问风险
    VIO深蓝学院第五章部分作业解读
    如何解决selenium的dragAndDrop失效的问题
    vscode中文乱码问题及几种常见的解决方案
    虹科案例 | ELPRO帮助客户实现符合GDP标准的温度监测和高效的温度数据管理
    c语言从入门到实战——函数递归
  • 原文地址:https://blog.csdn.net/m0_68551656/article/details/127562854