毕设所有选题:
https://blog.csdn.net/2303_76227485/article/details/131104075
基于Java+Springboot+vue的自动售水机管理系统(源代码+数据库+13000字论文+任务书)189
一、系统介绍
本项目前后端分离(可以改为ssm版本),分为用户、员工、管理员三种角色
1、用户:
- 注册、登录、水购买、公告信息、留言反馈、订单管理、我的收藏、个人信息、密码修改
2、员工:
- 售水机管理、库存预警、补货管理、个人信息、密码修改
3、管理员:
- 订单统计、补货统计、用户管理、员工管理、分类管理、售水机管理、订单管理、补货管理、留言反馈管理、轮播图管理、公告管理
二、所用技术
后端技术栈:
- Springboot
- mybatisPlus
- Mysql
- Maven
前端技术栈:
- Vue
- Vue-router
- axios
- elementUi
三、环境介绍
基础环境 :IDEA/eclipse, JDK1.8, Mysql5.7及以上, Maven3.6, node14, navicat
所有项目以及源代码本人均调试运行无问题 可支持远程调试运行
四、页面截图
论文目录:
1、用户:
2、员工:
3、管理员:
五、浏览地址
前台地址:http://localhost:8082/
用户账号密码:用户名1/123456
后台地址:http://localhost:8081
管理员账户密码:admin/admin
员工账号密码:工号1/123456
六、部署教程
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并执行项目的sql文件
-
使用IDEA/Eclipse导入waterVendingManage项目,若为maven项目请选择maven,等待依赖下载完成
-
修改application.yml里面的数据库配置,src/main/java/com/SpringbootSchemaApplication.java启动后端项目
-
vscode或idea打开src/main/resources/front/front
-
在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示前台访问地址
-
vscode或idea打开src/main/resources/admin/admin项目
-
在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示后台访问地址
七、创新点
1、使用协同过滤算法进行推荐
八、核心代码
/**
* 协同算法(按收藏推荐)
*/
@RequestMapping("/autoSort2")
public R autoSort2(@RequestParam Map<String, Object> params,ShoushuijiEntity shoushuiji, HttpServletRequest request){
String userId = request.getSession().getAttribute("userId").toString();
String inteltypeColumn = "shangpinfenlei";
List<StoreupEntity> storeups = storeupService.selectList(new EntityWrapper<StoreupEntity>().eq("type", 1).eq("userid", userId).eq("tablename", "shoushuiji").orderBy("addtime", false));
List<String> inteltypes = new ArrayList<String>();
Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
List<ShoushuijiEntity> shoushuijiList = new ArrayList<ShoushuijiEntity>();
//去重
if(storeups!=null && storeups.size()>0) {
for(StoreupEntity s : storeups) {
shoushuijiList.addAll(shoushuijiService.selectList(new EntityWrapper<ShoushuijiEntity>().eq(inteltypeColumn, s.getInteltype())));
}
}
EntityWrapper<ShoushuijiEntity> ew = new EntityWrapper<ShoushuijiEntity>();
params.put("sort", "id");
params.put("order", "desc");
PageUtils page = shoushuijiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shoushuiji), params), params));
List<ShoushuijiEntity> pageList = (List<ShoushuijiEntity>)page.getList();
if(shoushuijiList.size()<limit) {
int toAddNum = (limit-shoushuijiList.size())<=pageList.size()?(limit-shoushuijiList.size()):pageList.size();
for(ShoushuijiEntity o1 : pageList) {
boolean addFlag = true;
for(ShoushuijiEntity o2 : shoushuijiList) {
if(o1.getId().intValue()==o2.getId().intValue()) {
addFlag = false;
break;
}
}
if(addFlag) {
shoushuijiList.add(o1);
if(--toAddNum==0) break;
}
}
} else if(shoushuijiList.size()>limit) {
shoushuijiList = shoushuijiList.subList(0, limit);
}
page.setList(shoushuijiList);
return R.ok().put("data", page);
}
标签:水机,List,shoushuijiList,params,毕业设计,new,limit,源代码
From: https://blog.csdn.net/2303_76227485/article/details/142871429