Campus-Fundfundplattform basierend auf dem öffentlichen WeChat-Konto

1. Der Forschungszweck und die Bedeutung dieses Themas

Wenn das Schulgebiet wächst und die Zahl der Schüler und Lehrer zunimmt, werden auch die von ihnen mitgeführten Dinge zunehmen. Gleichzeitig reisen Schüler und Lehrer häufig zwischen verschiedenen Unterrichtsgebäuden und -orten, sodass Gegenstände verloren gehen und einige Schüler oder die Der Lehrer hat den Gegenstand versehentlich aufgehoben. Aufgrund des Fehlens einer Plattform, die den Informationsaustausch zwischen dem Eigentümer und dem gefundenen Eigentümer ermöglichen kann, besteht die einzige Möglichkeit, die traditionelle Methode der Fundermittlung zu nutzen, darin, eine Fundmeldung und eine Vermisstmeldung zu veröffentlichen Artikelaushang auf dem Campus. Diese Methode Die Geschwindigkeit der Informationsverbreitung ist relativ langsam und es kann leicht zu gewissen wirtschaftlichen Verlusten für den Eigentümer kommen. Mit der rasanten Entwicklung der Internettechnologie sind Smartphones jedoch zu einem bequemen Lebensstil für Schüler und Lehrer geworden. Um Informationen effizient zu veröffentlichen und die Zeit zum Abrufen verlorener Gegenstände zu verkürzen, ist es daher notwendig, ein effizientes und praktisches WeChat zu entwickeln Public Account Campus Fundbüro. Besonders wichtig.

Die Fundbüro-Plattform „WeChat Public Account Campus“ unterstützt Besucher dabei, sich über WeChat anzumelden. Benutzer können Fundinformationen posten und ihre eigene Schule zum Posten auswählen. Sie können auch die detaillierten Informationen zu Benachrichtigungen zu verlorenen und gefundenen Gegenständen anzeigen und nach Informationen zu gefundenen Gegenständen suchen. Benutzer können im persönlichen Center auch Erfolgsgeschichten und Systemankündigungen durchsuchen und Systemnachrichten schreiben. Alle veröffentlichten Informationen werden zur einfachen Überprüfung gespeichert.

Durch die Entwicklung dieses Systems ist die Kombination des in der Vergangenheit erlernten Wissens mit der Praxis nicht nur eine Zusammenfassung des beruflichen Wissens der letzten Jahre, sondern auch eine Ernte und Verbesserung des erlernten Wissens. Dies ist eine umfassende Übung für mich . .

[1] Li Jincheng. Design und Implementierung eines medizinischen Behandlungssystems basierend auf der WeChat-Plattform [D]. Harbin: Harbin Institute of Technology, 2015.

[2] Mo Hongwu. Analyse und Design des Systems zur Verwaltung der Hochschulpraktikumsbasis basierend auf dem öffentlichen WeChat-Konto [J]. Guangxi Education, 2018(9):186-187.

[3] Huang Xiaoqing. Forschung auf Campus-Lost-and-Found-Plattformen – am Beispiel der Guangdong Peizheng University [J]. Think Tank Times, 2018(34):160-161.

[4] Lin Jun. Aufbau und Implementierung des WeChat-Fundfundsystems der Bibliothek [J]. Information Exploration, 2016(9):58-66.

[5] Wu Pingjiang. Forschung und Analyse verlorener und gefundener Managementsysteme an Universitäten [J]. Science and Technology Square, 2015(11):32-35.

[6] Gou Wenbo, Yu Qiang. Design und Implementierung eines Datenverwaltungssystems auf Basis von MySQL [J]. Electronic Design Engineering, 2017(6):62-65.

[7] Zha Yuhua, Hu Kaihua, Zhang Yujing. Webbasiertes Campus-Objektfindungs-Website-Design [J]. Computer Knowledge and Technology, 2016(32):49-56.

[8] Wang Yi, Zhang Fuzheng, Wang Haitao. Campus-Mobildienst basierend auf dem WeChat-Unternehmenskonto [J]. Electronic Technology and Software Engineering, 2016(20):198-200.

[9] Fang Ruonan, Zhao Jingtian, Jiang Wei. Entwicklung webbasierter Fundanzeigen und Plattformen für Fundsachen in Hochschulen und Universitäten [J]. Information Technology, 2013(26):245-246.

[10] Feng Shengqiang, Yao Wu, Tang Jianming, et al. Design und Implementierung der Campus-Life-Assistent-Android-Anwendung [J]. Computer Programming Skills and Maintenance, 2015(8):53-55.

[11] Zhang Yu, Wang Yinghui, Zhang Xiangnan. Design und Implementierung des MVC-Frameworks basierend auf Spring [J]. Computer Engineering, 2010, 36(4):59-62

 【591】Campus Fundbüro-Plattform basierend auf dem öffentlichen WeChat-Konto

package com.example.weixin.controller;

import com.example.weixin.pojo.*;
import com.example.weixin.serviceImpl.*;
import com.example.weixin.util.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;

@Controller
public class LoseController {
    public static final int success=1;
    public static final int error=0;
    public static final int notice=2;
    @Autowired
    private LoseServiceImpl loseService;
    @Autowired
    private PicServiceImpl picService;
    @Autowired
    private CommentServiceImpl commentService;
    @Autowired
    private TypeServiceImpl typeService;
    @Autowired
    private SchoolServiceImpl schoolService;
    private String lp_url;
    private int temp;
    //跳到失物招领页面
    @RequestMapping("/lose_publish")
    public String lose_publish(){
        return "lose_publish";
    }
    //得到所有失物招领
    @ResponseBody
    @RequestMapping("/getAllLose")
    public List<LoseAndType> getAllLose(HttpSession session){
        School school=(School)session.getAttribute("schools");
       int school_id=school.getSchool_id();
        List<LoseAndType> lose_list=loseService.getAllLose(school_id);//TODO 登录后带参数查看失物招领信息
        //过滤没有审核的失物招领,不显示到前台
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("1");
        List<LoseAndType> result=null;
        result=lose_list.stream().filter((LoseAndType l)->lose_check_list
        .contains(l.getLose_state())).collect(Collectors.toList());
        return result;
    }
    //跳到失物招领详情和评论页面
    @RequestMapping("/lose_details")
    public String lose_details(HttpServletRequest request,Model model){
        try{
            String lose_id_str=request.getParameter("id");
            System.out.println(lose_id_str);
            if(lose_id_str!=null&&!lose_id_str.equals("")) {
                int lose_id=Integer.parseInt(lose_id_str);
                loseService.userCount(lose_id);
                Lose lose=loseService.getLoseDetail(lose_id);
                List<LosePic> pic_list=picService.getLosePic(lose_id);
                List<LoseComment> comment_list=commentService.getLoseComments(lose_id);//TODO 添加失物招领评论
                System.out.println(comment_list);
                //过滤掉没有被屏蔽的评论 1代表没被过滤
                List<String> comment_state_list=new ArrayList<String>();
                comment_state_list.add("1");
                List<LoseComment> result=null;
                result=comment_list.stream()
                        .filter((LoseComment lc)->comment_state_list
                                .contains(lc.getLc_state())).collect(Collectors.toList());
                int comment_num=result.size();
                int pic_num=pic_list.size();
                model.addAttribute("lose_comment_list",comment_list);
                model.addAttribute("lose",lose);
                model.addAttribute("pic_list",pic_list);
                model.addAttribute("comment_num",comment_num);
                model.addAttribute("pic_num",pic_num);
            }
        }catch (Exception e){
            e.printStackTrace();
            return "404";
        }
        return "lose_details";
    }

    //跳到失物招领详情和无评论页面
    @RequestMapping("/getLoseDetailsNoComment")
    public String getLoseDetailsNoComment(String id,Model model){
        try{
            int lose_id=Integer.parseInt(id);
            Lose lose=loseService.getLoseDetail(lose_id);
            List<LosePic> pic_list=picService.getLosePic(lose_id);
            model.addAttribute("lose",lose);
            model.addAttribute("pic_list",pic_list);
        }catch (Exception e){
            e.printStackTrace();
            return "404";
        }
        return "lose_details_no_comment";
    }

    //通过类别id获取失物招领
    @RequestMapping("/getTypeLose")
    public String getTypeLose(String type_id,Model model,HttpSession session){
        School school=(School)session.getAttribute("schools");
        int school_id=school.getSchool_id();
        int id=Integer.parseInt(type_id);
        if (school_id!=0) {
            List<LoseAndType> loseList = loseService.getTypeLose(id, school_id);
            //过滤没有审核的失物招领,不显示到前台
            List<String> lose_check_list = new ArrayList<String>();
            lose_check_list.add("1");
            List<LoseAndType> result = null;
            result = loseList.stream().filter((LoseAndType l) -> lose_check_list
                    .contains(l.getLose_state())).collect(Collectors.toList());
            int lose_count = result.size();
            model.addAttribute("loseList", result);
            model.addAttribute("lose_count", lose_count);
            return "lose_type";
        }else {
            return "404";
        }
    }
    //发布寻物启事
    @ResponseBody
    @RequestMapping("/add_lose_publish")
    public int  add_lose_publish(@RequestParam("files") MultipartFile[] files, Lose lose, HttpServletRequest request, HttpSession session) throws IOException, ParseException {
         temp=1;
        try{
            String lose_date=request.getParameter("lose_date");
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
            SimpleDateFormat sdf_time=new SimpleDateFormat("yyyy年MM月dd日");
            Date date=sdf.parse(lose_date);
            String lose_time=sdf_time.format(date);
            lose.setLose_date(lose_time);
            WxUser wxUser=(WxUser)session.getAttribute("wxUser");
            int id=wxUser.getWxuser_id();
            String headimgurl=(String) session.getAttribute("headimgurl");
            String nickname=(String) session.getAttribute("nickname");
            String type=request.getParameter("type");
            String school=request.getParameter("school");
            int type_id=Integer.parseInt(type);
            int school_id=Integer.parseInt(school);
            lose.setWxuser_id(id);
            lose.setHeadimgurl(headimgurl);
            lose.setNickname(nickname);
            lose.setType_id(type_id);
            lose.setSchool_id(school_id);
            loseService.add_lose_msg(lose);
            int  lose_id=lose.getLose_id();
            for (MultipartFile multipartFile : files) {
                if(multipartFile.isEmpty()){
                    //文件上传失败
                }
                //String filePath = "C:\\Users\\Administrator\\Desktop\\images\\";
                byte[] fileBytes = multipartFile.getBytes();
                String lp_path = "E:\\fileUpload\\";
                //取得当前上传文件的文件名称
                String originalFilename = multipartFile.getOriginalFilename();
                //加个时间戳。避免文件名重复
                originalFilename = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "_" + originalFilename;
                //生成文件名
                String lp_name = UUID.randomUUID() +"&"+ originalFilename;
                FileUtils.uploadFile(fileBytes, lp_path, lp_name);
                //存入数据库
                lp_url = "http://dcheiq.natappfree.cc/images/" + lp_name;//服务器运行项目
                picService.addLosePic(lp_name, lp_path, lp_url,lose_id);
            }
        }catch (Exception e){
            e.printStackTrace();
            return temp=0;
        }
        return temp;
    }
    //获取未审核的失物招领信息-进行修改
   @RequestMapping("/ getLoseMsgById")
   public String  getLoseMsgById(String lose_id){
       int id=Integer.parseInt(lose_id);
       System.out.println(id);
       return "ok";
   }
    //获取未审核的寻物启事信息-进行修改
    @RequestMapping("/getLoseMsgById")
    public String toUpdateLose(String lose_id,Model model) throws ParseException {
        int id=Integer.parseInt(lose_id);
        LoseAndTypeAndSchool loseAndTypeAndSchool=loseService.getLoseMsgById(id);
        String lose_date=loseAndTypeAndSchool.getLose_date();
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy年MM月dd日", Locale.ENGLISH);
        Date date=sdf.parse(lose_date);
        SimpleDateFormat sdf_time=new SimpleDateFormat("yyyy-MM-dd");
        String lose_time=sdf_time.format(date);
        loseAndTypeAndSchool.setLose_date(lose_time);
        List<LosePic> pic_list=picService.getLosePic(id);
        model.addAttribute("lose",loseAndTypeAndSchool);
        model.addAttribute("pic_list",pic_list);
        return "lose_edit";
    }
    //删除寻物启事图片-通过图片id删除
    @ResponseBody
    @RequestMapping("/deleteLosePicById")
    public int deletePicById(String lp_id){
        int id=Integer.parseInt(lp_id);
        temp=picService.deleteLosePic(id);
        if (temp!=0){
            return success;
        }
        return success;
    }
    //未审核的寻物启事信息修改
    @ResponseBody
    @RequestMapping("/editLoseMsg")
    public int editLoseMsg(HttpServletRequest request,@RequestParam("files") MultipartFile[] files,Lose lose) throws IOException, ParseException {
        String lose_id_str=request.getParameter("lose_id");
        String lose_date =lose.getLose_date();
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
        SimpleDateFormat sdf_time=new SimpleDateFormat("yyyy年MM月dd日");
        Date date=sdf.parse(lose_date);
        String lose_time=sdf_time.format(date);
        lose.setLose_date(lose_time);
        int lose_id=Integer.parseInt(lose_id_str);
        temp=picService.countLosePic(lose_id);
        int file_len=files.length;
        int count=temp+file_len;
        if (count>3){
            return notice;
        }else {
            if (file_len==0){
                temp=loseService.updateLoseNoCheck(lose);
                return success;
            }else {
                temp=loseService.updateLoseNoCheck(lose);
                if (temp!=0){
                    for (MultipartFile multipartFile : files){
                        byte[] fileBytes = multipartFile.getBytes();
                        String lp_path = "E:\\fileUpload\\";
                        //取得当前上传文件的文件名称
                        String originalFilename = multipartFile.getOriginalFilename();
                        //加个时间戳。避免文件名重复
                        originalFilename = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "_" + originalFilename;
                        //生成文件名
                        String lp_name = UUID.randomUUID() +"&"+ originalFilename;
                        FileUtils.uploadFile(fileBytes, lp_path, lp_name);
                        //存入数据库
                        lp_url = "http://dcheiq.natappfree.cc/images/" + lp_name;//服务器运行项目
                        picService.addLosePic(lp_name, lp_path, lp_url,lose_id);
                    }
                    return success;
                }
            }

        }

        return success;
    }
    //用户删除未审核失物招领信息
    @ResponseBody
    @RequestMapping("/deleteLoseMsg")
    public int deleteLoseMsg(String id){
        int lose_id=Integer.parseInt(id);
        temp=loseService.deleteLoseMsg(lose_id);
        if (temp!=0){
            return success;
        }
        return error;
    }
    //跳到失物招领后台管理列表
    @RequestMapping("/lose_list")
    public String getLoseList(Model model){
        List<LoseAndTypeAndSchool> loseList=loseService.getAllAdminLose();
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("1");
//        lose_check_list.add(3);
        List<LoseAndTypeAndSchool> result=null;
        result=loseList.stream()
                .filter((LoseAndTypeAndSchool l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());
        model.addAttribute("lose_Result_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_list";
    }
    //跳到待审核页面
    @RequestMapping("/lose_check_unfinish")
    public String lose_check_unfinish(Model model){
        List<LoseAndTypeAndSchool> loseList=loseService.getAllAdminLose();
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("0");
        List<LoseAndTypeAndSchool> result=null;
        result=loseList.stream()
                .filter((LoseAndTypeAndSchool l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());
        model.addAttribute("lose_unfinish_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_check_unfinish";
    }
    //跳到失物招领信息审核页面
    @RequestMapping("/getLoseUnfinish")
    public String getLoseUnfinish(Model model,String id){
        int lose_id=Integer.parseInt(id);
        Lose lose=loseService.getLoseUnfinish(lose_id);
        List<LosePic> pic_list=picService.getLosePic(lose_id);
        model.addAttribute("picList",pic_list);
        model.addAttribute("lose",lose);
        return "lose_check_edit";
    }
    //审核完毕修改失物招领状态,撤下和发布,共同方法
    @ResponseBody
    @RequestMapping("/toUpdateLoseCheck")
    public int addLoseCheck(HttpServletRequest request){
        String id_str=request.getParameter("id");
        int id=Integer.parseInt(id_str);
        String lose_state=request.getParameter("lose_state");
        temp=loseService.updateLoseState(id,lose_state);

        if (temp!=0){
            return success;
        }
        return error;
    }
    //跳到已审核的失物招领页面
    @RequestMapping("/lose_check_finish")
    public String lose_check_finish(Model model){
        List<LoseAndTypeAndSchool> loseList=loseService.getAllAdminLose();
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("1");
        lose_check_list.add("2");
        lose_check_list.add("3");
        List<LoseAndTypeAndSchool> result=null;
        result=loseList.stream()
                .filter((LoseAndTypeAndSchool l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());
        model.addAttribute("lose_finish_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_check_finish";
    }
    //后台根据条件查询寻物启事信息
    @RequestMapping("/toSearchLose")
    public String toSearchLose(HttpServletRequest request,Model model){
        String type_id_str=request.getParameter("type_id");
        int type_id=Integer.parseInt(type_id_str);
        String school_id_str=request.getParameter("school_id");
        int school_id=Integer.parseInt(school_id_str);
        String input=request.getParameter("input");
        List<Lose> loseList=loseService.getSearchLose(type_id,school_id,input);
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("1");
        lose_check_list.add("3");
        List<Lose> result=null;
        result=loseList.stream()
                .filter((Lose l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());
        model.addAttribute("Lose_Result_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_list";
    }
    //后台根据条件查询寻物启事审核完成信息
    @RequestMapping("/toSearchLoseFinish")
    public String toSearchLoseFinish(HttpServletRequest request,Model model){
        String type_id_str=request.getParameter("type_id");
        int type_id=Integer.parseInt(type_id_str);
        String school_id_str=request.getParameter("school_id");
        int school_id=Integer.parseInt(school_id_str);
        String input=request.getParameter("input");
        List<Lose> loseList=loseService.getSearchLose(type_id,school_id,input);
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("1");
        lose_check_list.add("3");
        List<Lose> result=null;
        result=loseList.stream()
                .filter((Lose l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());;
        model.addAttribute("lose_finish_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_check_finish";
    }
    //后台根据条件查询寻物启事待审核信息
    @RequestMapping("/toSearchLoseUnfinish")
    public String toSearchLoseUnfinish(HttpServletRequest request,Model model){
        String type_id_str=request.getParameter("type_id");
        int type_id=Integer.parseInt(type_id_str);
        String school_id_str=request.getParameter("school_id");
        int school_id=Integer.parseInt(school_id_str);
        String input=request.getParameter("input");
        List<Lose> loseList=loseService.getSearchLose(type_id,school_id,input);
        List<Type> Type_list=typeService.getAllType();
        List<School> School_list=schoolService.getAllSchool();
        List<String> lose_check_list=new ArrayList<String>();
        lose_check_list.add("0");
        List<Lose> result=null;
        result=loseList.stream()
                .filter((Lose l)->lose_check_list
                        .contains(l.getLose_state())).collect(Collectors.toList());
        model.addAttribute("lose_unfinish_List",result);
        model.addAttribute("Type_list",Type_list);
        model.addAttribute("School_list",School_list);
        return "lose_check_unfinish";
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_46437112/article/details/135275622
Recomendado
Clasificación