项目介绍:
该系统为原创,创作于2021年3月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑。
项目功能:
用户: 登录注册、查看或者分类查看宠物 查看宠物详情及评论 评论、收藏 选择宠物加入购物车,下单 个人订单查看 地址维护 管理员: 登录、用户管理、分类管理、宠物管理、订单管理、快递管理、评价管理、修改密码
数据库设计:
系统包含技术:
后端:SSM
前端:bootstrap,js,css等
开发工具:idea/eclipse
数据库:mysql 5.7
JDK版本:jdk1.8
服务器:tomcat8
部分截图说明:
下面是首页
分类查看
详情
登录
收藏信息
购物车
我的订单
用户管理
商品管理
订单管理
快递管理
部分代码:
前端操作
/** * @Description: 商品详情 * @Param: [goodsid, model, session] * @return: java.lang.String * @Author: Mr.Wang * @Date: 2021/3/14 */ @RequestMapping(value = "/detail",method = RequestMethod.GET) public String detailGoods(Integer goodsid, Model model, HttpSession session) { if(goodsid == null) { return "redirect:/main"; } User user = (User) session.getAttribute("user"); //要传回的数据存在HashMap中 Map<String,Object> goodsInfo = new HashMap<String,Object>(); //查询商品的基本信息 Goods goods = goodsService.selectById(goodsid); if (user == null) { goods.setFav(false); } else { Favorite favorite = goodsService.selectFavByKey(new FavoriteKey(user.getUserid(), goodsid)); if (favorite == null) { goods.setFav(false); } else { goods.setFav(true); } } //查询商品类别 Category category = cateService.selectById(goods.getCategory()); //商品图片 List<ImagePath> imagePath = goodsService.findImagePath(goodsid); //商品评论 //返回数据 goodsInfo.put("goods", goods); goodsInfo.put("cate", category); goodsInfo.put("image", imagePath); model.addAttribute("goodsInfo",goodsInfo); //评论信息 CommentExample commentExample=new CommentExample(); commentExample.or().andGoodsidEqualTo(goods.getGoodsid()); List<Comment> commentList=commentService.selectByExample(commentExample); for (Integer i=0;i<commentList.size();i++) { Comment comment=commentList.get(i); User commentUser=userService.selectByPrimaryKey(comment.getUserid()); comment.setUserName(commentUser.getUsername()); commentList.set(i,comment); } CategoryExample categoryExample = new CategoryExample(); categoryExample.setOrderByClause("cateId"); List<Category> categories = cateService.selectByExample(categoryExample); model.addAttribute("categorys", categories); model.addAttribute("commentList",commentList); return "detail"; } /** * @Description: 搜索 * @Param: [pn, keyword, model, session] * @return: java.lang.String * @Author: Mr.Wang * @Date: 2021/3/14 */ @RequestMapping(value = "/search", method = RequestMethod.GET) public String searchGoods(@RequestParam(value = "page",defaultValue = "1") Integer pn, String keyword, Model model, HttpSession session) { User user = (User) session.getAttribute("user"); //一页显示几个数据 PageHelper.startPage(pn, 16); //查询数据 GoodsExample goodsExample = new GoodsExample(); goodsExample.or().andGoodsnameLike("%" + keyword + "%"); List<Goods> goodsList = goodsService.selectByExample(goodsExample); //获取图片地址 for (int i = 0; i < goodsList.size(); i++) { Goods goods = goodsList.get(i); List<ImagePath> imagePathList = goodsService.findImagePath(goods.getGoodsid()); goods.setImagePaths(imagePathList); //判断是否收藏 if (user == null) { goods.setFav(false); } else { Favorite favorite = goodsService.selectFavByKey(new FavoriteKey(user.getUserid(), goods.getGoodsid())); if (favorite == null) { goods.setFav(false); } else { goods.setFav(true); } } goodsList.set(i, goods); } CategoryExample categoryExample = new CategoryExample(); categoryExample.setOrderByClause("cateId"); List<Category> categories = cateService.selectByExample(categoryExample); //显示几个页号 PageInfo page = new PageInfo(goodsList,5); model.addAttribute("pageInfo", page); model.addAttribute("keyword", keyword); model.addAttribute("categorys", categories); return "search"; } /** * @Description: 收藏 * @Param: [goodsid, session] * @return: com.zhang.ssmschoolshop.util.Msg * @Author: Mr.Wang * @Date: 2021/3/14 */ @RequestMapping("/collect") @ResponseBody public Msg collectGoods(Integer goodsid, HttpSession session) { //取登录用户信息,未登录重定向至登录页面 User user = (User) session.getAttribute("user"); if(user == null) { return Msg.fail("收藏失败"); } //添加收藏 Favorite favorite = new Favorite(); favorite.setCollecttime(new Date()); favorite.setGoodsid(goodsid); favorite.setUserid(user.getUserid()); goodsService.addFavorite(favorite); return Msg.success("收藏成功"); } /** * @Description: 删除收藏 * @Param: [goodsid, session] * @return: com.zhang.ssmschoolshop.util.Msg * @Author: Mr.Wang * @Date: 2021/3/14 */ @RequestMapping("/deleteCollect") @ResponseBody public Msg deleteFavGoods(Integer goodsid, HttpSession session) { User user = (User) session.getAttribute("user"); if (user == null) { return Msg.fail("取消收藏失败"); } //删除收藏 goodsService.deleteFavByKey(new FavoriteKey(user.getUserid(),goodsid)); return Msg.success("取消收藏成功"); }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~