大家可以帮忙点赞、收藏、关注、评论啦
精彩专栏推荐订阅:在 下方专栏
JAVA实战项目
文章目录
一、项目介绍
本文介绍了一种基于互联网的在线预约厨师上门服务系统。该系统主要包括管理员、厨师和用户三个角色,每个角色都有不同的功能和操作权限。管理员可以进行用户管理、厨师管理、菜品管理和公告管理等操作,厨师可以进行菜品管理、个人资料和预约评价等操作,而用户则可以进行注册、登录、个人资料修改、浏览筛选厨师进行预约上门服务以及公告查看等操作。该系统的实现可以为用户提供更加便捷、高效和优质的厨师上门服务体验。
二、功能介绍
管理员角色概述:
个人中心:管理员可以进入个人中心,查看和编辑个人信息,以及进行权限管理。
用户管理:管理员可以查看、搜索、添加、编辑和删除用户信息,以及进行权限管理。
厨师管理:管理员可以查看、搜索、添加、编辑和删除厨师信息,以及进行权限管理。
厨师预约评价管理:管理员可以查看、搜索、添加、编辑和删除厨师预约评价信息,以及进行权限管理。
菜品管理:管理员可以查看、搜索、添加、编辑和删除菜品信息,以及进行权限管理。
公告管理:管理员可以发布、编辑、删除公告信息,还可以查看和编辑公告的回复信息。
基础数据管理:管理员可以进行基础数据的维护和管理,例如汇率、税率等。
厨师角色概述:
个人中心:厨师可以进入个人中心,查看和编辑个人信息,以及查看预约评价信息。
菜品管理:厨师可以添加、编辑和删除自己可以提供的菜品信息,还可以查看其他厨师提供的菜品信息。
厨师管理:厨师可以搜索其他厨师的信息,并预约其他厨师上门服务。
厨师预约评价管理:厨师可以查看自己的预约评价信息,并回复评价信息。
公告管理:厨师可以查看公告信息,但不能进行编辑和删除。
用户角色概述:
注册和登录:用户需要进行注册和登录才能使用系统提供的服务。
个人中心:用户可以查看和编辑个人信息,还可以查看自己预约的厨师信息和评价信息。
菜品信息浏览筛选:用户可以浏览和筛选菜品信息,并选择预约相应的厨师上门服务。
4.公告信息浏览:用户可以查看公告信息,但不能进行编辑和删除。
三、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:Springboot
- 前端:vue
- 工具:IDEA或者Eclipse、JDK1.8、Maven
四、项目展示
登录页面:首页模块:
管理员模块:
厨师模块:
五、代码展示
public class CategoryDAOImpl implements CategoryDAO {
private JdbcTemplate template =new JdbcTemplate(Global.getDataSource());
@Override
public List<Category> findCombo() {
String sql = "select id,name from category where type = 1";
List<Category> categories = template.query(sql,new BeanPropertyRowMapper<>(Category.class));
return categories;
}
@Override
public List<Category> findAll(CategorySearchBean csb, PaginateInfo pi) {
String countSql = "select count(0) from category";
String sql = "select id,type,name,sort,create_time,update_time from category";
StringBuilder whereSql = new StringBuilder();
List<Object> args = new ArrayList<>();
if (csb != null) {
whereSql.append(" where 1=1");
if (csb.getId() != null) {
whereSql.append(" and id = ?");
args.add(csb.getId());
}
if (StringUtils.hasText(csb.getName())) {
whereSql.append(" and name like ?");
args.add("%" + csb.getName() + "%");
}
if (csb.getType() != null) {
whereSql.append(" and type = ?");
args.add(csb.getType());
}
if (csb.getCreateFrom() != null) {
whereSql.append(" and create_time >= ?");
args.add(csb.getCreateFrom());
}
if (csb.getCreateTo() != null) {
whereSql.append(" and create_time < ?");
args.add(csb.getCreateTo());
}
}
countSql += whereSql.toString();
//查询总数
Long count = template.queryForObject(countSql, Long.class,args.toArray());
pi.setCount(count);
whereSql.append(" limit ?,?");
args.add(pi.getOffset());
args.add(pi.getLimit());
sql += whereSql.toString();
List<Category> categoryList = template.query(sql,new BeanPropertyRowMapper<>(Category.class),args.toArray());
return categoryList;
}
@Override
public int save(Category category) {
String sql = "insert into category (id,type,name,create_time,update_time) values(?,?,?,?,?)";
int rows = template.update(sql,category.getId(),category.getType(),category.getName(),category.getCreateTime(),category.getUpdateTime());
return rows;
}
@Override
public boolean deleteById(Long id) {
String sql = "delete from category where id = ?";
int rows = template.update(sql,id);
if (rows > 0){
String dishSql = "update dish set category_id = 555 where category_id = ?";
template.update(dishSql,id);
}
return rows > 0;
}
@Override
public int update(Category category) {
String sql = "update category set `type`=?,`name`=?,update_time=? where id = ?";
int rows = template.update(sql, category.getType(), category.getName(), category.getUpdateTime(), category.getId());
return rows;
}
}
六、项目总结
在线预约厨师上门服务系统是一种新颖的餐饮模式,它运用互联网技术来连接用户和厨师,使用户能够轻松享受个性化的餐饮服务。管理员负责监督系统的正常运行,管理用户和厨师的信息,发布重要公告以及维护系统的基础数据。因此,管理员的职责确保了系统的稳定和安全。厨师是提供食物制备服务的核心,他们在系统中管理着自己的菜品和自我介绍。此外,他们还能够查看其他厨师的信息并给予相应的预约评价。厨师通过系统上载和管理自己的菜品信息,并能够及时查看自己的预约信息和评价反馈。用户则是系统的最终使用者,他们在系统中注册并登录,从而能够浏览和筛选菜品信息进行预约。此外,他们还能够查看厨师的预约信息和公告信息。