基于springboot的婚纱摄影网站 您所在的位置:网站首页 婚纱摄影作品展示 基于springboot的婚纱摄影网站

基于springboot的婚纱摄影网站

2024-06-16 06:05| 来源: 网络整理| 查看: 265

博主主页:猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

该系统基于springboot技术,mysql数据库,页面采用html,具有完整的业务逻辑,适合选题:springboot、婚纱、摄影、婚纱摄影等。

项目功能: 1 网站管理 1.1 轮播图管理 概述:所管理的轮播图为首页展示的三张轮播图(规定只能三张显示) 新增:点击新增按钮 ①、填写轮播图的标题(此标题为鼠标放上轮播图照片时显示的文字) ②、上传所要展示的照片,图片建议尺寸: 1922像素 * 544像素 ③点击保存即可 修改 ①、点击修改按钮、只能修改标题,如要修改照片请删除后重新添加 删除 ①、点击删除按钮即可 1.2 资讯管理 概述:热门活动所展示的 新增:点击新增按钮 ①、填写标题(此标题为文章标题) ②、填写活动内容 ③、上传所要展示的照片,图片建议尺寸: 890像素 * 593像素 ④、点击保存即可 修改 ①、点击修改按钮、只能修改标题和内容,如要修改照片请删除后重新添加 删除 ①、点击修改按钮,选择状态为禁用 2 摄影管理 2.1 整体流程 2.2 级别管理 概述:为摄影师的级别 新增:点击新增按钮 ①、填写级别名称 ②、点击保存即可 修改 ①、点击修改按钮 删除 ①、点击修改按钮,选择状态为禁用 2.3 标签管理 概述:为摄影师的标签 新增:点击新增按钮 ①、填写标签名称 ②、点击保存即可 修改 ①、点击修改按钮 删除 ①、点击修改按钮,选择状态为禁用 2.4 拍摄景点管理 概述:拍摄景点,常驻馆 新增:点击新增按钮 ①、填写景点名称、景点描述、状态 ②、上传所要景点的照片(只能一张),图片建议尺寸: 855像素 * 520像素 ③、点击保存即可 修改 ①、点击修改按钮、只能景点名称、景点描述,如要修改照片请删除后重新添加 删除 ①、点击修改按钮,选择状态为禁用 2.5 摄影师管理 概述:摄影师 新增:点击新增按钮 ①、填写摄影师名称、摄影师描述、选择标签、选择级别、选择常驻馆(就是景点) ②、上传所摄影师头像,图片建议尺寸: 270像素 * 270像素 ③、点击保存即可 修改 ①、点击修改按钮、只能景点名称、景点描述,如要修改照片请删除后重新添加 删除 ①、点击修改按钮,选择状态为禁用或者点击状态栏中的按钮,YES为启用 NO为禁用 2.6 客片管理 概述:摄影师的客片 新增:点击新增按钮 ①、填写作品标题、作品描述、选择摄影师、选择常驻馆(就是景点) ②、上传所拍摄的客片的照片(点击添加附件按钮,支持多张照片),图片建议尺寸: 无 ③、点击保存即可 ④、设置客片的封面(很重要),点击设置封面按钮,然后上传照片,图片建议尺寸: 290像素 * 380像素 修改 ①、点击修改按钮、只能作品标题、作品描述,如要修改照片请删除后重新添加 删除 ①、点击状态栏中的按钮,YES为启用 NO为禁用 3 用户订单管理 3.1 订单管理 概述:用户的预约和已预约和摄影师的无档期设置 无档期设置 ①、选择摄影师 ②、选择无档期的时间,点击确定 ③、选择该摄影师该时间段是没有空无档期还是已经有预约了 ④、点击保存即可 接收 ①、点击接收按钮,即为接受该用户的预约 拒绝 ①、点击拒绝按钮,即为拒绝该用户的预约 * 很重要的一点,无档期设置和接收、拒绝设置时必须时时间段无冲突的,必须再三确认。 系统包含技术:

后端:springboot 前端:js、css,html页面 开发工具:idea 数据库:mysql 5.7 JDK版本:jdk1.8

部分截图说明:

下面是首页

客片欣赏,后台可以维护 

 

拍摄景点维护

选择摄影师

预约摄影师

预约

用户登录后查看订单

 后台-登录

 后台-管理员首页

 后台-订单管理

后台-级别维护

 后台-摄影师管理

后台-资讯活动管理

 后台-景点维护

部分代码:

过滤器

@Configuration public class FilterConfiguration { @Bean public FilterRegistrationBean filterAdminRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); //注入过滤器 registration.setFilter(new AdminFilter()); //拦截规则 registration.addUrlPatterns("/manage/page/*","/manage/home.html","/manage/index.html"); //过滤器名称 registration.setName("AdminFilter"); //是否自动注册 false 取消Filter的自动注册 registration.setEnabled(true); //过滤器顺序 registration.setOrder(2); return registration; } @Bean public FilterRegistrationBean filterLoginRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); //注入过滤器 registration.setFilter(new LoginFilter()); //拦截规则 registration.addUrlPatterns("/member.html"); //过滤器名称 registration.setName("LoginFilter"); //是否自动注册 false 取消Filter的自动注册 registration.setEnabled(true); //过滤器顺序 registration.setOrder(1); return registration; } } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)arg0; HttpServletResponse response=(HttpServletResponse)arg1; HttpSession session = request.getSession(); if(session.getAttribute("admin")!=null){ arg2.doFilter(arg0, arg1); }else{ response.sendRedirect("/manage/login.html"); } } public void init(FilterConfig arg0) throws ServletException { }

摄影师操作

/** * 分页获取photographer * * @return */ @RequestMapping(value = "getPhotographerListByPage", method = RequestMethod.POST) @ResponseBody public ReturnResult getPhotographerListByPage(PageVO page, String labelId, String levelId, String spotsId, String beforeTime, String afterTime, String status, String name) { returnResult.setStatus(ReturnCodeType.FAILURE); try { Map resultMap = new HashMap(); StringBuffer sql = new StringBuffer( "SELECT a.*,f.`name` AS label,g.`name` AS level,h.`name` AS spots FROM t_photographer a," + "t_photographer_label b,t_photographer_level c ,t_photographer_spots d,t_label f," + "t_level g,t_spots h WHERE a.id=b.photographerId AND a.id = c.photographer " + "AND a.id = d.photographerId AND f.id=b.labelId AND g.id=c.levelId AND h.id= d.spotsId"); if (StringUtils.isNotBlank(labelId)) { sql.append(" AND b.labelId=" + labelId); sql.append(" AND f.id=" + labelId); } if (StringUtils.isNotBlank(levelId)) { sql.append(" AND c.levelId=" + levelId); sql.append(" AND g.id=" + levelId); } if (StringUtils.isNotBlank(spotsId)) { sql.append(" AND d.spotsId=" + spotsId); sql.append(" AND h.id=" + spotsId); } if (StringUtils.isNotBlank(status)) { sql.append(" AND a.status=" + status); } if (StringUtils.isNotBlank(name)) { sql.append(" AND a.name=" + name); } List results = photographerService.selectPageBySQL(sql.toString(), page.getPage() - 1, page.getRows()); if (!results.isEmpty() && results != null) { int total = photographerService.selectCount(new TPhotographer()); int rows = page.getRows(); rows = rows == 0 ? 10 : rows; resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows))); resultMap.put("page", page.getPage()); resultMap.put("records", total); resultMap.put("rows", results); returnResult.setStatus(ReturnCodeType.SUCCESS).setData(resultMap); } } catch (Exception e) { logger.error("分页获取photographer失败" + e); } return returnResult; } /** * 分页获取启用的photographer * * @return */ @RequestMapping(value = "getPhotographerListByPageStatus", method = RequestMethod.POST) @ResponseBody public ReturnResult getPhotographerListByPageStatus(PageVO page, String labelId, String levelId, String spotsId, String start, String end) { returnResult.setStatus(ReturnCodeType.FAILURE); try { Map resultMap = new HashMap(); StringBuffer sql = new StringBuffer( "SELECT a.*,f.`name` AS label,g.`name` AS level,h.`name` AS spots FROM t_photographer a,t_photographer_label b,t_photographer_level c ,t_photographer_spots d,t_label f,t_level g,t_spots h WHERE a.id=b.photographerId AND a.id = c.photographer AND a.id = d.photographerId AND f.id=b.labelId AND g.id=c.levelId AND h.id= d.spotsId AND a.status=0"); StringBuffer countSql = new StringBuffer("SELECT COUNT(*) AS total FROM t_photographer a,t_photographer_label b,t_photographer_level c ,t_photographer_spots d,t_label f,t_level g,t_spots h WHERE a.id=b.photographerId AND a.id = c.photographer AND a.id = d.photographerId AND f.id=b.labelId AND g.id=c.levelId AND h.id= d.spotsId AND a.status=0"); if (StringUtils.isNotBlank(start) && StringUtils.isNotBlank(end)) { List list = photographerService.selectByStartEnd(start,end); for(String id : list){ sql.append(" AND a.id!="+id); countSql.append(" AND a.id!="+id); } } if (StringUtils.isNotBlank(labelId)) { sql.append(" AND b.labelId=" + labelId); sql.append(" AND f.id=" + labelId); countSql.append(" AND b.labelId=" + labelId); countSql.append(" AND f.id=" + labelId); } if (StringUtils.isNotBlank(levelId)) { sql.append(" AND c.levelId=" + levelId); sql.append(" AND g.id=" + levelId); countSql.append(" AND c.levelId=" + levelId); countSql.append(" AND g.id=" + levelId); } if (StringUtils.isNotBlank(spotsId)) { sql.append(" AND d.spotsId=" + spotsId); sql.append(" AND h.id=" + spotsId); countSql.append(" AND d.spotsId=" + spotsId); countSql.append(" AND h.id=" + spotsId); } List results = photographerService.selectPageBySQL(sql.toString(), page.getPage() - 1, page.getRows()); if (!results.isEmpty() && results != null) { int total = Integer.valueOf( photographerService.selectBySQL(countSql.toString()).get(0).get("total").toString()); int rows = page.getRows(); rows = rows == 0 ? 10 : rows; resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows))); resultMap.put("page", page.getPage()); resultMap.put("records", total); resultMap.put("rows", results); returnResult.setStatus(ReturnCodeType.SUCCESS).setData(resultMap); } } catch (Exception e) { logger.error("分页获取启用的photographer失败" + e); } return returnResult; } /** * 获取所有启用的Photographer * * @param Photographer * @return */ @RequestMapping(value = "getAllPhotographer", method = RequestMethod.POST) @ResponseBody public ReturnResult getAllPhotographer() { returnResult.setStatus(ReturnCodeType.FAILURE); try { returnResult.setStatus(ReturnCodeType.SUCCESS).setData(photographerService.selectBySQL( "SELECT a.id,a.name FROM t_photographer a,t_photographer_label b,t_photographer_level c ,t_photographer_spots d,t_label f,t_level g,t_spots h WHERE a.id=b.photographerId AND a.id = c.photographer AND a.id = d.photographerId AND f.id=b.labelId AND g.id=c.levelId AND h.id= d.spotsId AND a.status=0")); } catch (Exception e) { logger.error("获取所有启用的Photographer失败" + e); } return returnResult; }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有