SpringBoot在线失物招领系统

news/2024/10/21 3:31:47/

一个基于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.ppmy.cn/news/1026020.html

相关文章

三元组的最小距离

定义三元组 (a,b,c) &#xff08;a,b,c 均为整数&#xff09;的距离 D|a−b||b−c||c−a| 。 给定 3 个非空整数集合 S1,S2,S3&#xff0c;按升序分别存储在 3 个数组中。 请设计一个尽可能高效的算法&#xff0c;计算并输出所有可能的三元组 (a,b,c) &#xff08;a∈S1…

【LangChain】Memory

概要 大多数LLM应用都有对话界面。对话的一个重要组成部分是能够引用对话中先前介绍的信息。至少&#xff0c;对话系统应该能够直接访问过去消息的某些窗口。更复杂的系统需要有一个不断更新的世界模型&#xff0c;这使得它能够执行诸如维护有关实体及其关系的信息之类的事情。…

基于CentOS 7 部署社区版Haproxy

HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件&#xff0c;是一款具 备高并发(一万以上)、高性能的TCP和HTTP负载均衡器&#xff0c;支持基于cookie的持久性&#xff0c;自动故障切换&#xff0c;支 持正则表达式及web状态统计。 目录 1…

Tik Tok娱乐+电商MCN怎么做?

在美国外的热门市场中&#xff0c;TikTok 主要做的区域市场包括中东、拉美、欧洲和东亚&#xff0c;而这里面适合做电商的其实并不多。 欧洲、东亚都属于成熟市场&#xff0c;且 TikTok 本身在欧洲面临 DSA 法案更严格的审查&#xff0c;与在英国相同&#xff0c;欧洲各市场消…

系列二、Redis简介

一、概述 # 官网 https://redis.io/ 总结&#xff1a;redis是一个内存型的数据库。 二、特点 Redis是一个高性能key/value内存型数据库。Redis支持丰富的数据类型。Redis支持持久化 。Redis单线程,单进程。

探索极限:利用整数或字符串操作找出翻转后的最大数字

本篇博客会讲解力扣“1323. 6 和 9 组成的最大数字”的解题思路&#xff0c;这是题目链接。 对于这道题目&#xff0c;我会讲解2种解题思路&#xff0c;分别是直接操作整数&#xff0c;和利用字符串操作。希望大家通过本题学习关于整数和字符串的技巧。 显然&#xff0c;这道题…

IntelliJ IDEA快捷键大全

文章目录 1、构建/编译2、文本编辑3、光标操作4、文本选择5、代码折叠6、辅助编码7、上下文导航8、查找操作9、符号导航10、代码分析11、运行和调试12、代码重构13、全局 CVS 操作14、差异查看器15、工具窗口 本文参考了 IntelliJ IDEA 的官网&#xff0c;列举了IntelliJ IDEA&…

面试题:ArrayList扩容时扩容多少?

大家好&#xff0c;我是你们的小米&#xff01;今天要和大家一起来探讨一个在Java面试中经常被问到的问题&#xff1a;“ArrayList扩容时扩容多少&#xff1f;”相信很多小伙伴都在面试中遇到过这个问题&#xff0c;那么接下来&#xff0c;我就为大家详细解析一下这个问题&…