——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SSM+Maven协同过滤推荐算法图书商城系统(java+ssm+jsp+js+jq+layui+mysql)
项目介绍
基于SSM的推荐算法的图书购物网站
角色:管理员、用户
前台用户可以实现商品浏览,加入购物车,加入收藏,下单购买,个人信息管理,收货信息管理,收藏管理,评论功能,个人中心、订单管理等功能。
管理员登录系统后,可以对主页、个人中心、用户管理、图书分类管理、热门图书管理、最新图书管理、图书展示管理、系统管理、订单管理等功能进行相应的操作管理。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目; 6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis) 前端:JSP+CSS+JS+JQUERY+Layui
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目; 3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
@RequestMapping("/value/{xColumnName}/{yColumnName}") public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) { Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); params.put("yColumn", yColumnName); EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>(); ew.in("status", new String[]{"已支付","已发货","已完成"}); List<Map<String, Object>> result = ordersService.selectValue(params, ew); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for(Map<String, Object> m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); } } } return R.ok().put("data", result); }
@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}") public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) { Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); params.put("yColumn", yColumnName); params.put("timeStatType", timeStatType); EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>(); ew.in("status", new String[]{"已支付","已发货","已完成"}); List<Map<String, Object>> result = ordersService.selectTimeStatValue(params, ew); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for(Map<String, Object> m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
@RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<DiscusstushuzhanshiEntity> wrapper = new EntityWrapper<DiscusstushuzhanshiEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); }
int count = discusstushuzhanshiService.selectCount(wrapper); return R.ok().put("count", count); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| }
@IgnoreAuth @RequestMapping("/register") public R register(@RequestBody YonghuEntity yonghu){ YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao())); if(user!=null) { return R.error("注册用户已存在"); } Long uId = new Date().getTime(); yonghu.setId(uId); yonghuService.insert(yonghu); return R.ok(); }
@RequestMapping("/logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); }
@RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); YonghuEntity user = yonghuService.selectById(id); return R.ok().put("data", user); }
@IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username)); if(user==null) { return R.error("账号不存在"); } user.setMima("123456"); yonghuService.updateById(user);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| }
@RequestMapping("/add") public R add(@RequestBody DiscusszuixintushuEntity discusszuixintushu, HttpServletRequest request){ discusszuixintushu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
discusszuixintushuService.insert(discusszuixintushu); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody DiscusszuixintushuEntity discusszuixintushu, HttpServletRequest request){ discusszuixintushuService.updateById(discusszuixintushu); return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ discusszuixintushuService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); }
@RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date());
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ DiscusstushuzhanshiEntity discusstushuzhanshi = discusstushuzhanshiService.selectById(id); return R.ok().put("data", discusstushuzhanshi); }
@RequestMapping("/save") public R save(@RequestBody DiscusstushuzhanshiEntity discusstushuzhanshi, HttpServletRequest request){ discusstushuzhanshi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
discusstushuzhanshiService.insert(discusstushuzhanshi); return R.ok(); }
@RequestMapping("/add") public R add(@RequestBody DiscusstushuzhanshiEntity discusstushuzhanshi, HttpServletRequest request){ discusstushuzhanshi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
discusstushuzhanshiService.insert(discusstushuzhanshi); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody DiscusstushuzhanshiEntity discusstushuzhanshi, HttpServletRequest request){ discusstushuzhanshiService.updateById(discusstushuzhanshi); return R.ok(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
discusstushuzhanshiService.insert(discusstushuzhanshi); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody DiscusstushuzhanshiEntity discusstushuzhanshi, HttpServletRequest request){ discusstushuzhanshiService.updateById(discusstushuzhanshi); return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ discusstushuzhanshiService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); }
@RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=130023061907201ax
https://javayms.pages.dev?id=130023061907201ax