主要技术栈SpringBoot+IDEA+SSM+MYSQL+Maven+Mysql
原始需求:
整个系统可以分为两部分:前端展示及后台管理。
- 该系统前端展示包括:
用户登录注册;
首页显示搜索图书、轮播图、根据分类展示对应图书,采用用户协同算法推荐图书;
点击图书进入图书详情及评价,缴纳押金后可以点击借阅下单,也可以加入书架;
押金按时还书退回,逾期扣费。
书架展示加入书架图书;
个人中心显示我的信息(可编辑),我的借阅(包含借阅中,待归还,已归还、可评价)。
将后端分为8个子模块,分别为:用户管理模块、广告管理模块、分类管理模块、图书管理模块、借阅管理模块、评价管理模块、管理员管理模块、统计分析模块实现对整个系统的设定。各个模块的功能如下:
用户管理模块:查看用户信息及删除;
广告管理模块:轮播图的增删改查,推荐图书;
分类管理模块:图书分类增删改查;
图书管理模块:图书的增删改查,上下架图书;
借阅管理模块:显示用户借阅及归还信息、逾期情况;
评价管理模块:查看及删除评价信息;
押金管理模块:支付押金,逾期扣款;查看剩余押金,以及逾期扣款记录;[王小雨2]
管理员管理模块:后台管理员的增删改查
统计分析模块:管理员可查看图书馆藏量、用户数量、图书借阅数量,统计近7日的借阅趋势图、罚款人次及罚款数额的报表。
//前台图书详情页面
@RequestMapping("productDetails")
public String productDetails(int id,HttpServletRequest request) {
String suc = request.getParameter("suc")==null?"":request.getParameter("suc");
String error = request.getParameter("error")==null?"":request.getParameter("error");
Product product = productDao.findById(id);
int kc = kcrecord.getkc(product.getId());
product.setKc(kc);
Category fcategory = categoryDao.findById(product.getFid());
Category scategory = categoryDao.findById(product.getSid());
product.setFcategory(fcategory);
product.setScategory(scategory);
HashMap map = new HashMap();
map.put("sid",product.getSid());
map.put("id",product.getId());
request.setAttribute("product",product);
map.put("productid",product.getId());
List<Comment> commentlist = commentDao.selectAll(map);
for(Comment comment:commentlist){
Member member = memberDao.findById(Integer.parseInt(comment.getMemberid()));
comment.setMember(member);
}
request.setAttribute("commentlist",commentlist);
if(!suc.equals("")){
request.setAttribute("suc","操作成功");
}
if(!error.equals("")){
request.setAttribute("error","评论失败");
}
savesession.getCategorySession(request);
return "productdetail";
}