SpringBoot在线失物招领系统

一个基于SpringBoot+SemanticUI的pc Web在线失物招领系统

http://localhost:8080/swzl/index  主页

http://localhost:8080/swzl/login  登录页   用户表user  admin字段为true是管理员  false用户

springboot2.3  springmvc mybatis  html ajax

idea 或eclipse  maven  mysql  jdk1.8

package com.ctgu.swzl.controller;import com.ctgu.swzl.dao.FeedbackDao;
import com.ctgu.swzl.dao.NoticeDao;
import com.ctgu.swzl.dao.TypeDao;
import com.ctgu.swzl.domain.Feedback;
import com.ctgu.swzl.domain.Notice;
import com.ctgu.swzl.domain.Post;
import com.ctgu.swzl.domain.User;
import com.ctgu.swzl.service.PostService;
import com.ctgu.swzl.service.UserService;
import com.ctgu.swzl.utils.Jmail;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;import javax.mail.MessagingException;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;@Controller
@RequestMapping("/admin")
public class AdminController {@Autowiredprivate Jmail jmail;@Autowiredprivate UserService userService;@Autowiredprivate PostService postService;@Autowiredprivate NoticeDao noticeDao;@Autowiredprivate FeedbackDao feedbackDao;@Autowiredprivate TypeDao typeDao;/*---------------------------------------------------userManage------------------------------------------------*/@GetMapping("/searchUser")public ModelAndView findUser(@RequestParam("search") String uname){User user = userService.findUserByUname(uname).get(0);ModelAndView mv = new ModelAndView();mv.addObject("users",user);mv.setViewName("/admin/userManage");return mv;}@GetMapping("/userManage")public ModelAndView showUser(@RequestParam(value = "page",required = false)Integer page){int pageSize=4;if (page==null) {page=1;}Page<Object> pages = PageHelper.startPage(page, pageSize);ModelAndView modelAndView = new ModelAndView();List<User> users = userService.findAll();modelAndView.addObject("users",users);PageInfo pageInfo = new PageInfo();pageInfo.setPageNum(page);pageInfo.setPages(pageSize);int a = (int)pages.getTotal()%pageSize==0?0:1;pageInfo.setPages((int)pages.getTotal()/pageSize+a);pageInfo.setPrePage(page-1);pageInfo.setNextPage(page+1);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("/admin/userManage");return modelAndView;}/*---------------------------------------------------postManage---------------------------------------------------*/@GetMapping("/searchPost")public ModelAndView findPost(@RequestParam("search") String uname){List<Post> posts = postService.findByUname(uname);System.out.println(uname);System.out.println(posts);ModelAndView mv = new ModelAndView();mv.addObject("posts",posts);mv.setViewName("/admin/postManage");return mv;}@GetMapping("/postManage")public ModelAndView showPost(@RequestParam(value = "page",required = false)Integer page){int pageSize=4;if (page==null) {page=1;}Page<Object> pages = PageHelper.startPage(page, pageSize);ModelAndView modelAndView = new ModelAndView();List<Post> posts = postService.findAll();modelAndView.addObject("posts",posts);PageInfo pageInfo = new PageInfo();pageInfo.setPageNum(page);pageInfo.setPages(pageSize);int a = (int)pages.getTotal()%pageSize==0?0:1;pageInfo.setPages((int)pages.getTotal()/pageSize+a);pageInfo.setPrePage(page-1);pageInfo.setNextPage(page+1);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("/admin/postManage");return modelAndView;}@ResponseBody@DeleteMapping("/deletePost/{id}")public void deletePost(@PathVariable("id")long postId){postService.deleteById(postId);}@PostMapping("/postStatus")public String updateStatus(@RequestParam("postID")long postId,@RequestParam("status")String status){int s = "已完成".equals(status)?0:1;Post post = postService.findById(postId).get(0);post.setStatus(s);postService.updateStatus(post);return "redirect:postManage";}/*---------------------------------------------------noticeManage---------------------------------------------------*/@GetMapping("/searchNotice")public ModelAndView findNotice(@RequestParam("search") String cuser){List<Notice> notices = noticeDao.findByCuser(cuser);ModelAndView mv = new ModelAndView();mv.addObject("notices",notices);mv.setViewName("/admin/noticeManage");return mv;}@GetMapping("/noticeManage")public ModelAndView showNotice(@RequestParam(value = "page",required = false)Integer page){int pageSize=4;if (page==null) {page=1;}Page<Object> pages = PageHelper.startPage(page, pageSize);ModelAndView modelAndView = new ModelAndView();List<Notice> notices = noticeDao.findAll();modelAndView.addObject("notices",notices);PageInfo pageInfo = new PageInfo();pageInfo.setPageNum(page);pageInfo.setPages(pageSize);int a = (int)pages.getTotal()%pageSize==0?0:1;pageInfo.setPages((int)pages.getTotal()/pageSize+a);pageInfo.setPrePage(page-1);pageInfo.setNextPage(page+1);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("/admin/noticeManage");return modelAndView;}@ResponseBody@DeleteMapping("/deleteNotice/{id}")public void deleteNotice(@PathVariable("id")long noticeId){noticeDao.deleteById(noticeId);}@PostMapping("/addNotice")public String addNotice(HttpServletRequest request,Notice notice){String cuser = request.getSession().getAttribute("loginUser").toString();notice.setCuser(cuser).setCtime(new Date());noticeDao.addNotice(notice);return "redirect:noticeManage";}/*---------------------------------------------------feedbackManage---------------------------------------------------*/@GetMapping("/searchFeedback")public ModelAndView findFeedback(@RequestParam("search") String uname){List<Feedback> feedbacks = feedbackDao.findByUname(uname);ModelAndView mv = new ModelAndView();mv.addObject("feedbacks",feedbacks);mv.setViewName("/admin/feedbackManage");return mv;}@GetMapping("/feedbackManage")public ModelAndView showFeedback(@RequestParam(value = "page",required = false)Integer page){int pageSize=4;if (page==null) {page=1;}Page<Object> pages = PageHelper.startPage(page, pageSize);ModelAndView modelAndView = new ModelAndView();List<Feedback> feedbacks = feedbackDao.findAll();modelAndView.addObject("feedbacks",feedbacks);PageInfo pageInfo = new PageInfo();pageInfo.setPageNum(page);pageInfo.setPages(pageSize);int a = (int)pages.getTotal()%pageSize==0?0:1;pageInfo.setPages((int)pages.getTotal()/pageSize+a);pageInfo.setPrePage(page-1);pageInfo.setNextPage(page+1);modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("/admin/feedbackManage");return modelAndView;}@ResponseBody@DeleteMapping("/deleteFeedback/{id}")public void deleteFeedback(@PathVariable("id")long feedbackId){feedbackDao.deleteById(feedbackId);}@PostMapping("/reply")public String reply(@RequestParam("feedbackId")long feedbackId,@RequestParam("content")String content,HttpServletRequest request){String admin = request.getSession().getAttribute("loginUser").toString();String feedbackName = feedbackDao.fingNameById(feedbackId);String tomail = userService.findMailByName(feedbackName);jmail.setToMail(tomail);jmail.setTopic("失物招领回复");jmail.setContent(content);System.out.println(tomail+":::"+content);try {jmail.send();} catch (MessagingException e) {throw new RuntimeException("邮箱发送失败!");}return "redirect:feedbackManage";}@ResponseBody@GetMapping("/addType")public void addType(@RequestParam("typeName") String typeName){typeDao.addType(typeName);}}

 

package com.ctgu.swzl.controller;import com.ctgu.swzl.domain.Post;
import com.ctgu.swzl.domain.User;
import com.ctgu.swzl.service.PostService;
import com.ctgu.swzl.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.UUID;@Controller
public class MineController {@Value("${images.path}")private String path;@Autowiredprivate UserService userService;@Autowiredprivate PostService postService;@GetMapping("/mine")public ModelAndView toMine(HttpServletRequest request){ModelAndView modelAndView = new ModelAndView();String uname = request.getSession().getAttribute("loginUser").toString();List<User> users = userService.findUserByUname(uname);List<Post> posts = postService.findByUname(uname);modelAndView.addObject("mine",users.get(0));modelAndView.addObject("posts",posts);modelAndView.setViewName("mine");return modelAndView;}@PostMapping("/mine")public String updateMine(@RequestParam(value = "frequency",required = false)String sexx,@RequestParam(value = "age",required = false)Integer age,@RequestParam(value = "personalSay",required = false)String personalSay,@RequestParam(value = "upload",required = false) MultipartFile upload,@RequestParam(value = "upload5",required = false) MultipartFile upload5,HttpServletRequest request) throws IOException {User loginUser = (User) request.getSession().getAttribute("localUser");String filename = upload.getOriginalFilename();if (filename.length()!=0){filename = UUID.randomUUID().toString().replaceAll("-", "") + "_" + filename;upload.transferTo(new File(path, filename));loginUser.setPhoto("/images/"+filename);}String filename5 = upload5.getOriginalFilename();if (filename5.length()!=0){filename5 = UUID.randomUUID().toString().replaceAll("-", "") + "_" + filename5;upload5.transferTo(new File(path, filename5));loginUser.setRewardCode("/images/"+filename5);}if (sexx.length()!=0) {char sex = "man".equals(sexx) ? '男' : '女';loginUser.setSex(sex);}if (age!=null) {loginUser.setAge(age);}if (personalSay.length()!=0){loginUser.setPersonalSay(personalSay);}userService.updateUser(loginUser);return "redirect:/mine";}@ResponseBody@DeleteMapping("/mine/{id}")public String deletePostById(@PathVariable("id") long postId) {try {postService.deleteById(postId);} catch (Exception e) {e.printStackTrace();
//            throw new CustomException("删除失败");}return "success";}@PostMapping("/postStatus")public String updateStatus(@RequestParam("postID")long postId,@RequestParam("status")String status){int s = "已完成".equals(status)?0:1;Post post = postService.findById(postId).get(0);post.setStatus(s);postService.updateStatus(post);return "redirect:mine";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11语法笔记

文章目录 一.类中新增的默认成员函数:移动赋值和移动构造二.lambda表达式三.包装器bind函数 一.类中新增的默认成员函数:移动赋值和移动构造 二.lambda表达式 三.包装器 bind函数

使用 PyTorch 逐步检测单个对象

一、说明 在对象检测任务中&#xff0c;我们希望找到图像中对象的位置。我们可以搜索一种类型的对象&#xff08;单对象检测&#xff0c;如本教程所示&#xff09;或多个对象&#xff08;多对象检测&#xff09;。通常&#xff0c;我们使用边界框定义对象的位置。有几种方法可以…

【Fegin技术专题】「原生态」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(上)

前提介绍 Feign是SpringCloud中服务消费端的调用框架&#xff0c;通常与ribbon&#xff0c;hystrix等组合使用。由于遗留原因&#xff0c;某些项目中&#xff0c;整个系统并不是SpringCloud项目&#xff0c;甚至不是Spring项目&#xff0c;而使用者关注的重点仅仅是简化http调…

《golang设计模式》第二部分·结构型模式-01-适配器模式(Adapter)

文章目录 1. 概念1.1 角色1.2 应用场景1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 示例类图 1. 概念 定义一个适配器&#xff0c;帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标&#xff08;Target&#xff09;&#xff1a;客户端调用的目标接口 被适配者&#xff08…

phpspreadsheet excel导入导出

单个sheet页Excel2003版最大行数是65536行。Excel2007开始的版本最大行数是1048576行。Excel2003的最大列数是256列&#xff0c;2007以上版本是16384列。 xlswriter xlswriter - PHP 高性能 Excel 扩展&#xff0c;功能类似phpspreadsheet。它能够处理非常大的文件&#xff0…

微信小程序隐私协议模板

在 设置 中找到 用户隐私保护 进行更新&#xff0c;如下图&#xff1a; 具体协议补充可参考如下&#xff1a; 为了分辨用户&#xff0c;开发者将在获取你的明示同意后&#xff0c;收集你的微信昵称、头像 为了显示距离&#xff0c;开发者将在获取你的明示同意后&#xff0c;收…

dubbo之高可用

负载均衡 概述 负载均衡是指在集群中&#xff0c;将多个数据请求分散到不同的单元上执行&#xff0c;主要是为了提高系统的容错能力和对数据的处理能力。 Dubbo 负载均衡机制是决定一次服务调用使用哪个提供者的服务。 策略 在Dubbo中提供了7中负载均衡策略&#xff0c;默…

综合能源系统(6)——综合能源综合评估技术

综合能源系统关键技术与典型案例  何泽家&#xff0c;李德智主编 综合能源系统是多种能源系统非线性耦合的、多时间与空间尺度耦合的“源-网-荷一储”一体化系统&#xff0c;通过能源耦合、多能互补&#xff0c;能够实现能源的高效利用&#xff0c;并提高新能源的利用水平。对…

在idea运行python文件

在idea运行python文件 如果在idea运行python文件而没有弹出run的选项&#xff0c;则点击File->Settings…->Plugins&#xff0c;在里面搜索python&#xff0c;如果没有显示则在Maketplace进行搜索&#xff0c; 接着Install&#xff0c;然后restart

Spring5新功能

文章目录 前言一、整合日志功能二、Nullable注解三、函数式风格编程四、JUnit5单元测试框架总结 前言 整合日志、Nullable注解、函数式风格编程、整合JUnit5、Webflux 一、整合日志功能 Spring5移除了Log4jConfigListener&#xff0c;官方建议使用Log4j2. 依赖&#xff1a; &…

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法&#xff1a; 1&#xff09;在/etc/profile文件中添加一行&#xff1a; export HISTTIMEFORMAT"%F %T whoami " 2&#xff09;保存后&#xff0c;执行加载命令&#xff1a; source /etc/profile 3&#xff09;然后检…

056B R包ENMeval教程-基于R包ENMeval对MaxEnt模型优化调参和结果评价制图(更新)

056B-1 资料下载 056B-2 R包ENMeval在MaxEnt模型优化调参中的经典案例解读 056B-3 R软件和R包ENMeval工具包安装 056B-4 R软件和R包ENMeval安装报错解决办法 056B-5 环境数据格式要求和处理流程 056B-6 分布数据格式要求和处理流程 056B-7 基于R包ENMeval对MaxEnt模型优化…

使用宝塔面板轻松部署云服务器

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; 宝塔面版 &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f449…

配置docker,案例复现

配置docker(系统为centos) 1.检查操作系统环境: docker要求CentOS系统的内核版本高于 3.10 &#xff0c;通过 uname -r 命令查看你当前的内核版本是否支持安装docker 2.查看你是否拥有旧的版本&#xff0c;有的话卸载&#xff0c;没有的话直接略过该步骤 sudo yum remove d…

情感资源日记Resource Diary

什么是 Resource Diary &#xff1f; Resource Diary 是自托管的情感资源日记&#xff0c;允许用户跟踪特定任务的情感反应以进行趋势识别。 按照作者的设计&#xff0c;对每个任务&#xff0c;通过 /- 号来表达任务完成后的情绪&#xff0c;等级从 0 到 5 &#xff0c;其中&am…

lscpu的各个参数是什么意思?

$ lscpu Architecture: x86_64 #架构 CPU op-mode(s): 32-bit, 64-bit #运行方式 Byte Order: Little Endian #字节顺序 CPU(s): 96 #逻辑cpu数 On-line CPU(s) list: 0-95 #在线cpu Thread(s) per core: 2 #每个核包含线程…

【Redis】Redis内存过期策略和内存淘汰策略

【Redis】Redis内存过期策略和内存淘汰策略 文章目录 【Redis】Redis内存过期策略和内存淘汰策略1. 过期策略1.1 惰性删除1.2 周期删除1.2.1 SLOW模式1.2.2 FAST模式 2. 淘汰策略 1. 过期策略 Redis本身是一个典型的key-value内存存储数据库&#xff0c;因此所有的key、value都…

揭秘程序员和技师的7大共同点,最后一点绷不住了

大家好&#xff0c;这里是程序员晚枫&#xff0c;周末朋友出去放松回来&#xff0c;给我分析了一下程序员和技师的7个相同点&#xff0c;尤其是最后一点让我彻底绷不住了&#xff01; 我也分享给大家。 1、都有工号。98号技师&#xff0c;380号技师大家都很熟悉了&#xff0c…

Unity使用C# Protobuf源码

目录 第一步&#xff1a;下载源码 第二步&#xff1a;运行C#构建文件 第三步&#xff1a;处理报错&#xff08;如果你已安装对应的SDK则不会报错&#xff09; 第四步&#xff1a;复制库文件到你的工程 第一步&#xff1a;下载源码 protobuf github源码https://github.com/p…

[管理与领导-10]:IT基层管理者 - 目标、责任、落实 - 如何把管理者的高高在上的目标,落地、落实到团队实施

目录 前言&#xff1a; 情形1&#xff1a;下属不知如何下手 情形2&#xff1a;下属不敢承诺 情形3&#xff1a;下属能力不够 情形4&#xff1a;奖罚机制失效&#xff0c;干活的动力不够 补充&#xff1a;目标与落实过节的进一步分析 1. 目标分解出了问题&#xff1a;目…