计算机毕业设计-基于协同过滤算法的旅游管理系统-基于SSM的旅游定制系统(源码+讲解+文档)
计算机毕业设计-基于协同过滤算法的旅游管理系统-基于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";
}
}
注意:该项目只展示部分功能,如需了解,评论区咨询即可。
希望和大家多多交流!!
源码项目、定制开发、代码讲解、答辩辅导