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 {

    @Autowired
    private Jmail jmail;

    @Autowired
    private UserService userService;

    @Autowired
    private PostService postService;

    @Autowired
    private NoticeDao noticeDao;

    @Autowired
    private FeedbackDao feedbackDao;

    @Autowired
    private 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;

    @Autowired
    private UserService userService;

    @Autowired
    private 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";
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于Android和Spring Boot失物招领系统是一个方便、高效的平台,旨在帮助人们寻找失物和归还物品。该系统涵盖了手机端的Android应用和服务器端的Spring Boot应用。 首先,Android应用提供了用户友好的界面,让用户可以简便地发布失物招领信息和搜索失物信息。用户可以上传失物的照片、描述以及联系方式,以便他人找到物品后能够联系到失主。同时,用户也可以通过关键字、时间和地点等条件进行失物查询,增加了寻找失物的成功率。 服务器端的Spring Boot应用充当着信息的中转站。它负责接收来自Android应用的失物信息,并将其存储在数据库中。同时,服务器也根据用户的查询条件从数据库中检索出对应的失物信息,并返回给Android应用。这一过程实现了Android应用和服务器之间的数据交互,保障了信息的正常流转。 为了提高系统的安全性和可靠性,失物招领系统还应该具备用户认证和权限管理功能。Android应用可以通过用户注册和登录的方式,确认用户的身份并赋予其相应的权限。例如,只有认证后的用户才能发布或查询失物信息,确保信息的可信度。服务器端也需要对数据进行严格的验证和权限控制,防止恶意用户进行非法操作。 总之,基于Android和Spring Boot失物招领系统通过快捷、高效的手机应用和稳定、安全的服务器应用,为用户提供了方便的发布和查询失物信息的平台,帮助失主找回失物,提升了社会的整体归还率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值