项目介绍:
该系统创作于2022年2月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:相册、服装、商家相册、图片管理等。
项目功能:
1、首页功能 广告推送板块(轮播图),并推送品牌,连接到不同品牌的相册中 时尚资讯板块(类似新闻标题链接),点击进入相关文章界面(只有管理员可对该板块进行增删改查操作) 2、相册功能 页面类似朋友圈样板,不同商家发布各家服装图片,并配有标签添加(比如男装、女装、潮流等) 顶部有搜索功能,用于搜索商家名称或服装标签,方便找到喜欢的服装 每个相册底部有收藏、联系客服和转发按钮 3、个人中心功能 有注册功能(注册为商家或买家) 个人中心分为管理员、商家和买家登录 管理员功能:可以后台查看所有商家和买家的信息,修改时尚咨询等功能 商家功能:查看修改商家资料、查看所发布的相册数量、修改编辑相册等 买家功能:查看修改个人资料、需要明确操作(上传采购单领取积分、(积分商城)等) 以及隐私政策、关于网站
数模设计:
数据库表结构文档:
系统包含技术:
后端:springboot、mybatis
前端:layui,js,css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
下面是首页,展示资讯信息
相册页面,可以筛选相册
资讯详情
隐私政策
用户登录页面
管理员首页
管理员对商家进行管理
管理员对资讯进行管理
商家维护标签
商家维护相册
项目结构
部分代码截图:
前台相关操作
/** * 进入前台首页 */ @RequestMapping(value = "/show") public String show(ModelMap model) { List<Message> messages = messageService.findAll(); model.addAttribute("messages",messages); List<Slideshow> slideshows = slideshowService.findAll(); model.addAttribute("slideshows",slideshows); return "show"; } /** * 进入相册 */ @RequestMapping(value = "/album") public String album(String merchant, String tag, String album,String name, ModelMap model) { Map mp = new HashMap(); mp.put("merchant",merchant); mp.put("tag",tag); mp.put("album",album); mp.put("name",name); List<Photos> photos = photosService.queryByInfo(mp); model.addAttribute("photos",photos); List<Merchant> merchants = merchantService.findAll(); model.addAttribute("merchants",merchants); List<Tags> tags = tagsService.findAll(); model.addAttribute("tags",tags); List<PhotoAlbum> photoAlbums = photoAlbumService.findAll(); model.addAttribute("photoAlbums",photoAlbums); List<Slideshow> slideshows = slideshowService.findAll(); model.addAttribute("slideshows",slideshows); return "album"; } /** * 进入相册详情 */ @RequestMapping(value = "/photo") public String album(String id,ModelMap model) { Photos photos = photosService.selectById(id); model.addAttribute("photos",photos); return "detail"; }
相册相关操作
/**进入列表页面*/ @GetMapping("/photoAlbum") public String userIframe(ModelMap model){ List<Tags> tags = tagsService.findAll(); model.addAttribute("tags",tags); return "PhotoAlbumList"; } /**列表数据*/ @GetMapping("/list") @ResponseBody public PageResultVo findPhotoAlbum(PhotoAlbum photoAlbum, Integer limit, Integer page,HttpSession session){ String type = (String)session.getAttribute("type"); if(type.equals("02")){ Merchant merchant = (Merchant)session.getAttribute("userInfo"); photoAlbum.setMid(String.valueOf(merchant.getId())); } PageHelper.startPage(page,limit); List<PhotoAlbum> photoAlbumList = photoAlbumService.selectByCondition(photoAlbum); for(int i=0;i<photoAlbumList.size();i++){ String tid = photoAlbumList.get(i).getTid(); List<String> tags = Arrays.asList(tid.split(",")); List<String> result = new ArrayList<>(); for(int j=0;j<tags.size();j++){ Tags tags1 = tagsService.selectById(tags.get(j)); if(tags1!=null){ result.add(tags1.getName()); } } photoAlbumList.get(i).setTid(String.join(",", result)); } PageInfo<PhotoAlbum> pages = new PageInfo<>(photoAlbumList); return JsonData.table(photoAlbumList,pages.getTotal()); } /**编辑详情*/ @GetMapping("/edit") @ResponseBody public PhotoAlbum edit(Model model, String id){ return photoAlbumService.selectById(id); } /**编辑*/ @PostMapping("/edit") @ResponseBody public JsonData edit(PhotoAlbum photoAlbum){ int a = photoAlbumService.updateById(photoAlbum); if (a > 0) { return JsonData.success(null,"编辑成功!"); } else { return JsonData.fail("编辑失败"); } }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~