Java课程设计:基于ssm的旅游管理系统系统(内附源码)

2024-06-13 1720阅读

文章目录

  • 一、项目介绍
  • 二、项目展示
  • 三、源码展示
  • 四、源码获取

    一、项目介绍

    2023年处于信息科技高速发展的大背景之下。在今天,缺少手机和电脑几乎已经成为不可能的事情,人们生活中已经难以离开手机和电脑。针对增加的成本管理和操作,各大旅行社非常必要建立自己的旅游网站,这既可以让更多的人体验到网络所带来的方便,也有助于提高旅游本身的流行和用户依赖的感觉。

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    二、项目展示

    登录

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    主页面

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    景点信息

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    特产商城

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    个人中心

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    景点购票测试

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    购物车

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    Java课程设计:基于ssm的旅游管理系统系统(内附源码)

    三、源码展示

    登录实现

    @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 captcha, HttpServletRequest request) {
    		UserEntity user = userService.selectOne(new EntityWrapper().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().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().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 params,UserEntity user){
            EntityWrapper ew = new EntityWrapper();
        	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
            return R.ok().put("data", page);
        }
    	/**
         * 列表
         */
        @RequestMapping("/list")
        public R list( UserEntity user){
           	EntityWrapper ew = new EntityWrapper();
          	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
            return R.ok().put("data", userService.selectListView(ew));
        }
        /**
         * 信息
         */
        @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){
        	Long id = (Long)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().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 Long[] ids){
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }
    

    订单实现

    @RestController
    @RequestMapping("/orders")
    public class OrdersController {
        @Autowired
        private OrdersService ordersService;
        
        /**
         * 后端列表
         */
        @RequestMapping("/page")
        public R page(@RequestParam Map params,OrdersEntity orders, HttpServletRequest request){
        	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
        		orders.setUserid((Long)request.getSession().getAttribute("userId"));
        	}
            EntityWrapper ew = new EntityWrapper();
    		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
            return R.ok().put("data", page);
        }
        
        /**
         * 前端列表
         */
        @RequestMapping("/list")
        public R list(@RequestParam Map params,OrdersEntity orders, HttpServletRequest request){
            EntityWrapper ew = new EntityWrapper();
    		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
            return R.ok().put("data", page);
        }
    	/**
         * 列表
         */
        @RequestMapping("/lists")
        public R list( OrdersEntity orders){
           	EntityWrapper ew = new EntityWrapper();
          	ew.allEq(MPUtil.allEQMapPre( orders, "orders")); 
            return R.ok().put("data", ordersService.selectListView(ew));
        }
    	 /**
         * 查询
         */
        @RequestMapping("/query")
        public R query(OrdersEntity orders){
            EntityWrapper ew = new EntityWrapper();
     		ew.allEq(MPUtil.allEQMapPre( orders, "orders")); 
    		OrdersView ordersView =  ordersService.selectView(ew);
    		return R.ok("查询订单成功").put("data", ordersView);
        }
    	
        /**
         * 后端详情
         */
        @RequestMapping("/info/{id}")
        public R info(@PathVariable("id") Long id){
            OrdersEntity orders = ordersService.selectById(id);
            return R.ok().put("data", orders);
        }
        /**
         * 前端详情
         */
        @RequestMapping("/detail/{id}")
        public R detail(@PathVariable("id") Long id){
            OrdersEntity orders = ordersService.selectById(id);
            return R.ok().put("data", orders);
        }
        
        /**
         * 后端保存
         */
        @RequestMapping("/save")
        public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){
        	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        	//ValidatorUtils.validateEntity(orders);
        	orders.setUserid((Long)request.getSession().getAttribute("userId"));
            ordersService.insert(orders);
            return R.ok();
        }
        
        /**
         * 前端保存
         */
        @RequestMapping("/add")
        public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){
        	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        	//ValidatorUtils.validateEntity(orders);
            ordersService.insert(orders);
            return R.ok();
        }
        /**
         * 修改
         */
        @RequestMapping("/update")
        public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){
            //ValidatorUtils.validateEntity(orders);
            ordersService.updateById(orders);//全部更新
            return R.ok();
        }
        
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
            ordersService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
        
        /**
         * 提醒接口
         */
    	@RequestMapping("/remind/{columnName}/{type}")
    	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
    						 @PathVariable("type") String type,@RequestParam Map map) {
    		map.put("column", columnName);
    		map.put("type", type);
    		
    		if(type.equals("2")) {
    			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    			Calendar c = Calendar.getInstance();
    			Date remindStartDate = null;
    			Date remindEndDate = null;
    			if(map.get("remindstart")!=null) {
    				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    				c.setTime(new Date()); 
    				c.add(Calendar.DAY_OF_MONTH,remindStart);
    				remindStartDate = c.getTime();
    				map.put("remindstart", sdf.format(remindStartDate));
    			}
    			if(map.get("remindend")!=null) {
    				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    				c.setTime(new Date());
    				c.add(Calendar.DAY_OF_MONTH,remindEnd);
    				remindEndDate = c.getTime();
    				map.put("remindend", sdf.format(remindEndDate));
    			}
    		}
    		
    		Wrapper wrapper = new EntityWrapper();
    		if(map.get("remindstart")!=null) {
    			wrapper.ge(columnName, map.get("remindstart"));
    		}
    		if(map.get("remindend")!=null) {
    			wrapper.le(columnName, map.get("remindend"));
    		}
    		if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
        		wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));
        	}
    		int count = ordersService.selectCount(wrapper);
    		return R.ok().put("count", count);
    	}
    }
    

    景点信息

    @RestController
    @RequestMapping("/jingdianxinxi")
    public class JingdianxinxiController {
        @Autowired
        private JingdianxinxiService jingdianxinxiService;
        
        /**
         * 后端列表
         */
        @RequestMapping("/page")
        public R page(@RequestParam Map params,JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){
            EntityWrapper ew = new EntityWrapper();
    		PageUtils page = jingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingdianxinxi), params), params));
            return R.ok().put("data", page);
        }
        
        /**
         * 前端列表
         */
    	@IgnoreAuth
        @RequestMapping("/list")
        public R list(@RequestParam Map params,JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){
            EntityWrapper ew = new EntityWrapper();
    		PageUtils page = jingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingdianxinxi), params), params));
            return R.ok().put("data", page);
        }
    	/**
         * 列表
         */
        @RequestMapping("/lists")
        public R list( JingdianxinxiEntity jingdianxinxi){
           	EntityWrapper ew = new EntityWrapper();
          	ew.allEq(MPUtil.allEQMapPre( jingdianxinxi, "jingdianxinxi")); 
            return R.ok().put("data", jingdianxinxiService.selectListView(ew));
        }
    	 /**
         * 查询
         */
        @RequestMapping("/query")
        public R query(JingdianxinxiEntity jingdianxinxi){
            EntityWrapper ew = new EntityWrapper();
     		ew.allEq(MPUtil.allEQMapPre( jingdianxinxi, "jingdianxinxi")); 
    		JingdianxinxiView jingdianxinxiView =  jingdianxinxiService.selectView(ew);
    		return R.ok("查询景点信息成功").put("data", jingdianxinxiView);
        }
    	
        /**
         * 后端详情
         */
        @RequestMapping("/info/{id}")
        public R info(@PathVariable("id") Long id){
            JingdianxinxiEntity jingdianxinxi = jingdianxinxiService.selectById(id);
    		jingdianxinxi.setClicknum(jingdianxinxi.getClicknum()+1);
    		jingdianxinxi.setClicktime(new Date());
    		jingdianxinxiService.updateById(jingdianxinxi);
            return R.ok().put("data", jingdianxinxi);
        }
        /**
         * 前端详情
         */
    	@IgnoreAuth
        @RequestMapping("/detail/{id}")
        public R detail(@PathVariable("id") Long id){
            JingdianxinxiEntity jingdianxinxi = jingdianxinxiService.selectById(id);
    		jingdianxinxi.setClicknum(jingdianxinxi.getClicknum()+1);
    		jingdianxinxi.setClicktime(new Date());
    		jingdianxinxiService.updateById(jingdianxinxi);
            return R.ok().put("data", jingdianxinxi);
        }
        
        /**
         * 后端保存
         */
        @RequestMapping("/save")
        public R save(@RequestBody JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){
        	jingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        	//ValidatorUtils.validateEntity(jingdianxinxi);
            jingdianxinxiService.insert(jingdianxinxi);
            return R.ok();
        }
        
        /**
         * 前端保存
         */
        @RequestMapping("/add")
        public R add(@RequestBody JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){
        	jingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
        	//ValidatorUtils.validateEntity(jingdianxinxi);
            jingdianxinxiService.insert(jingdianxinxi);
            return R.ok();
        }
        /**
         * 修改
         */
        @RequestMapping("/update")
        public R update(@RequestBody JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){
            //ValidatorUtils.validateEntity(jingdianxinxi);
            jingdianxinxiService.updateById(jingdianxinxi);//全部更新
            return R.ok();
        }
        
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
            jingdianxinxiService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
        
        /**
         * 提醒接口
         */
    	@RequestMapping("/remind/{columnName}/{type}")
    	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
    						 @PathVariable("type") String type,@RequestParam Map map) {
    		map.put("column", columnName);
    		map.put("type", type);
    		
    		if(type.equals("2")) {
    			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    			Calendar c = Calendar.getInstance();
    			Date remindStartDate = null;
    			Date remindEndDate = null;
    			if(map.get("remindstart")!=null) {
    				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    				c.setTime(new Date()); 
    				c.add(Calendar.DAY_OF_MONTH,remindStart);
    				remindStartDate = c.getTime();
    				map.put("remindstart", sdf.format(remindStartDate));
    			}
    			if(map.get("remindend")!=null) {
    				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    				c.setTime(new Date());
    				c.add(Calendar.DAY_OF_MONTH,remindEnd);
    				remindEndDate = c.getTime();
    				map.put("remindend", sdf.format(remindEndDate));
    			}
    		}
    		
    		Wrapper wrapper = new EntityWrapper();
    		if(map.get("remindstart")!=null) {
    			wrapper.ge(columnName, map.get("remindstart"));
    		}
    		if(map.get("remindend")!=null) {
    			wrapper.le(columnName, map.get("remindend"));
    		}
    		int count = jingdianxinxiService.selectCount(wrapper);
    		return R.ok().put("count", count);
    	}
    	
    	/**
         * 前端智能排序
         */
    	@IgnoreAuth
        @RequestMapping("/autoSort")
        public R autoSort(@RequestParam Map params,JingdianxinxiEntity jingdianxinxi, HttpServletRequest request,String pre){
            EntityWrapper ew = new EntityWrapper();
            Map newMap = new HashMap();
            Map param = new HashMap();
    		Iterator it = param.entrySet().iterator();
    		while (it.hasNext()) {
    			Map.Entry entry = it.next();
    			String key = entry.getKey();
    			String newKey = entry.getKey();
    			if (pre.endsWith(".")) {
    				newMap.put(pre + newKey, entry.getValue());
    			} else if (StringUtils.isEmpty(pre)) {
    				newMap.put(newKey, entry.getValue());
    			} else {
    				newMap.put(pre + "." + newKey, entry.getValue());
    			}
    		}
    		params.put("sort", "clicknum");
            
            params.put("order", "desc");
    		PageUtils page = jingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingdianxinxi), params), params));
            return R.ok().put("data", page);
        }
    }
    

    四、源码获取

    源码已经打包了,点击下面蓝色链接获取!

    点我获取源码

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]