计算机毕业设计-基于协同过滤算法的旅游管理系统-基于SSM的旅游定制系统(源码+讲解+文档)

73 篇文章 3 订阅

计算机毕业设计-基于协同过滤算法的旅游管理系统-基于SSM的旅游定制系统(源码+讲解+文档)

1 开发环境及工具下载

  • 开发语言:Java
  • 后台:SSM(Spring+SpringMVC+Mybatis)
  • 数据库:MySQL
  • 工具:Idea、Eclipse、MyEclipse (选其一)
  • 其他:jdk1.8、maven、Tomcat

eclipse 下载
mysql 5.7 下载
jdk 1.8 下载
tomcat 8.0 下载
maven 3.5 下载
idea 下载

2 功能介绍

2.1 管理员用例图

管理员角色主要包含的功能有商品信息、登录、登出、房间信息、主题信息、订单信息、用户管理、定制信息等功能,管理员用例图如下图所示。
在这里插入图片描述

普通用户进入到协同过滤旅游系统拥有的功能有旅游产品、服务制定、咨询、个人中心、订购的功能权限,具体内容如下图所示。
在这里插入图片描述

2.3 系统功能结构图

在这里插入图片描述

3 部分运行界面

3.1 用户部分运行界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 管理员部分运行界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 更多推荐

ssm在线点餐系统(沙箱支付)
基于SpingBoot的高校就业生就业服务平台
基于springboot的社区志愿者管理系统

5 首页获取推荐功能代码

/**
 * <p>
 *  后端主页控制器
 * </p>
 *

 */
@Controller
public class IndexController {

    @Autowired
    private IProductService productService;
    @Autowired
    private IThemeService themeService;
    @Autowired
    private IUserActionService userActionService;


    @RequestMapping("/register")
    public String register(){
        return "index/register";
    }

    @RequestMapping("/customized")
    public String customized(){
        return "index/customized";
    }

    @RequestMapping("/navigation")
    public String navigation(){
        return "index/navigation";
    }

    @RequestMapping("/productlistView")
    public String plView(Model model){
        List<Theme> themes=themeService.selectList(null);
        model.addAttribute("themes",themes);
        return "index/product_list";
    }

    @RequestMapping("/indexView")
    public String indexView(HttpSession session,Model model) throws Exception {
        List<Product> productList=productService.getIndexproduct(6);
        List<Product> hotPList=productService.hotProduct(6);
        User loginUser = (User)session.getAttribute(Const.CURRENT_USER);
        List<Product> recommendProductList = new ArrayList<>();
        //获取推荐的商品
        if (loginUser!=null) {
            RecommendUtil recommendUtil = new RecommendUtil();
            List<Long> recommendList = recommendUtil.getRecommend(loginUser.getId());
            for (int i=0;i<recommendList.size();i++){
                Product product = productService.selectById(recommendList.get(i));
                recommendProductList.add(product);
            }
            Integer flag = 6-recommendList.size();
            if (flag>0){
                //推荐数量不够,使用用户冷启动
                EntityWrapper<UserAction> userActionEntityWrapper = new EntityWrapper<>();
                //先查询用户感兴趣的商品,并降序排列
                userActionEntityWrapper.eq("userid",loginUser.getId());
                userActionEntityWrapper.orderBy("score",false);
                List<UserAction> userActionList = userActionService.selectList(userActionEntityWrapper);
                //遍历用户感兴趣的商品
                for (int i =0;i<userActionList.size();i++){
                    //获取感兴趣的商品id
                    String pid=userActionList.get(i).getProductid();
                    Boolean isExist=false;
                    //遍历推荐的商品
                    for (int j  =0;j<recommendProductList.size();j++){
                        //当推荐的商品已存在感兴趣的商品,则不存入
                        if (pid.equals(recommendProductList.get(j).getPid())){
                            isExist=true;
                        }
                    }
                    if (!isExist){
                        Product product = productService.selectById(pid);
                        recommendProductList.add(product);
                    }
                    if (recommendProductList.size()==6){
                        break;
                    }
                }

            }
        }
        model.addAttribute("recommendProductList",recommendProductList);
        model.addAttribute("hotPList",hotPList);
        model.addAttribute("productList",productList);
        return "index/index";
    }

    @RequestMapping("/userinfoView")
    public String userinfoView(){
        return "index/user_info";
    }

    @RequestMapping("/myorder")
    public String myorder(){
        return "index/my_order";
    }
    @RequestMapping("/plistView")
    public String plistView(){

        return "index/plist";
    }

    @RequestMapping("/adminLoginView")
    public String adloginView(){
        return "backend/admin_login";
    }
}

注意:该项目只展示部分功能,如需了解,评论区咨询即可。
希望和大家多多交流!!
源码项目、定制开发、代码讲解、答辩辅导

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于SSM(Spring+SpringMVC+MyBatis)框架的景区旅游管理系统源码是一套用于管理景区旅游活动的软件程序代码。该系统包含了多个模块,包括景区管理、用户管理、订单管理、景点管理、活动管理等功能。 首先,景区管理模块主要用于管理景区的基本信息,包括景区名称、地址、联系人、电话等。管理员可以通过该模块对景区进行增删改查操作,实现对景区信息的动态管理。 其次,用户管理模块用于管理系统的用户信息,包括游客和管理员的注册、登录、修改密码等功能。通过该模块,游客可以注册成为系统用户,并且可以通过登录功能参与景区的预订、购票等活动。 订单管理模块用于管理用户的订单信息,包括订单的生成、支付、查询、取消等功能。用户通过该模块可以查询自己的订单情况,并进行相应的操作。 景点管理模块用于管理景区内的景点信息,包括景点的名称、介绍、图片等。通过该模块,管理员可以对景点进行增删改查操作,并为每个景点设置合适的价格和规则。 活动管理模块用于管理景区内的各类活动信息,包括活动的名称、时间、地点、费用等。管理员可以通过该模块发布、取消、修改活动,并且可以对活动进行报名和管理。 以上是基于SSM框架的景区旅游管理系统源码的主要功能模块介绍。该系统通过灵活的设计和实现,为景区管理者和游客提供了便捷、高效的管理和参与旅游活动的途径,提升了景区的管理水平和游客的满意度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值