基于Springboot+Vue的旅游网站(源码+论文+包部署)


🍅文末评论区获取联系🍅

技术组成

Springboot+Vue+Maven+MyBatis+MySQL+JQuery+HTML+CSS

部署环境

JDK1.8+Maven3.6+Mysql5.7+IDEA/Eclipse

系统简介

旅游网站的开发和使用对于用户而言是非常有利的。管理员可以将系统里所有的公告信息及旅游信息等上传到系统上,用户不仅可以查看旅游路线信息并且在线下单,在闲余的时间还能进行有针对性的对旅游信息进行了解,与过去传统的旅游管理方式相比,这种网络互动更具灵活性和新鲜感,更容易激发用户的需求。

在网络平台上,还可以进行在线查阅和在线购买的管理统计,即促进了管理员的工作,还方便后期旅游管理信息的制定和修改。网上旅游网站网络互动实现了个人中心、用户管理、路线分类管理、旅游路线管理、最新路线管理、系统管理、订单管理管理等信息处理和传递、资源信息交流的共享和下载,使得旅游网站效率得到了极大的提高。

系统包含前台+后台两部分。
1、前台:旅游线路、最新线路、旅游咨询、线路收藏、评论、购买旅游景点套餐、客服、个人中心、购物车、我的地址、我的收藏
2、后台:线路分类管理、旅游线路管理、最新线路管理、订单管理、用户管理、系统管理、个人中心

系统功能框图

在这里插入图片描述

功能截图

前台首页

在这里插入图片描述

旅游线路

在这里插入图片描述

旅游线路详情

在这里插入图片描述

在这里插入图片描述

最新线路

在这里插入图片描述

旅游路线下单

在这里插入图片描述

我的订单

在这里插入图片描述

旅游资讯

在这里插入图片描述

后台旅游路线管理

在这里插入图片描述

后台最新路线管理

在这里插入图片描述

后台订单管理

在这里插入图片描述

论文部分截图

整体概览

在这里插入图片描述

用例图

在这里插入图片描述

流程图

在这里插入图片描述

代码实现

/**
 * 登录相关
 */
@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();
    }
}

源码获取

评论区【有偿】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值