计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP-项目实战
✨作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
文章目录
- 一、前言
- 二、开发环境
- 三、系统界面展示
- 四、部分代码设计
- 五、论文参考
- 六、系统视频
- 结语
一、前言
在当今数字化社会,人们的生活与互联网紧密相连。特别是在校园环境中,学生们的生活方式已经深深地受到了互联网的影响。失物招领问题在校园中是一个常见的问题,影响着广大的师生的日常生活和学习。因此,开发一款基于互联网的校园失物招领平台,如微信小程序或安卓APP,已经成为了一个迫切的需求。
尽管目前已经存在一些失物招领的解决方案,如校园公告板、失物招领微信群等,但它们存在着一些问题。首先,这些平台的信息传播范围有限,往往只能在一定区域内进行传播,无法覆盖整个校园。其次,这些平台的信息更新速度慢,往往需要一定的时间才能更新,无法满足快速失物招领的需求。因此,我们需要一种更便捷的解决方案来解决这些问题。
本课题的研究目的是开发一款基于互联网的校园失物招领平台,以解决现有解决方案的问题。具体来说,我们将实现以下功能:
用户可以通过微信小程序或安卓APP上传失物信息,包括物品名称、描述、丢失地点等;
用户可以通过微信小程序或安卓APP查询失物信息,包括已发布的失物信息、失物招领状态等。
本课题的研究意义在于提供一种更便捷的校园失物招领解决方案。通过开发基于互联网的校园失物招领平台,我们可以帮助学生和教职工更快速地找到丢失的物品,提高他们的学习和工作效率。同时,我们也可以通过平台的数据分析功能,了解校园内失物招领的现状和问题,为学校的管理和改进提供参考。因此,本课题的研究成果具有重要的实用价值和社会意义。
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 后端:SpringBoot
- 前端:微信小程序/Android+uniapp+Vue
三、系统界面展示
- 校园失物招领微信小程序/安卓APP界面展示:
四、部分代码设计
- 校园失物招领微信小程序/安卓APP项目实战-代码参考:
@Controller
@RequestMapping("/found")
public class FoundController {@Autowiredprivate WupinService wupinService;@Autowiredprivate ZhandainService zhandainService;public String wupinmingcheng = "";//寻物列表@GetMapping("/list/{currPage}")@ResponseBody//返回json数据到前端public Result list(@PathVariable int currPage) {//当前页数int pageCount = currPage;//总记录数Integer totalCount = wupinService.findXunWuTotal();//重试次数int count = 2;while (totalCount == 0 && count > 0) {totalCount = wupinService.findXunWuTotal();count--;}//总页数Integer totalPage = totalCount % 10 == 0 ? totalCount / 10 : totalCount / 10 + 1;//如果记录数为0或请求页面大于总页数或为负数if (pageCount > totalPage || pageCount < 0 || totalCount == 0) {return new Result(Code.GET_ERR, Msg.QUERY_ERR);} else {//如果数据正常则写成json格式返回前端//每页显示数,10条Integer pageSize = 10;// 计算当前查询页数Integer startIndex = (pageCount - 1) * pageSize;List<Wupin> wuPinEntitys = wupinService.findXunWuList(startIndex, pageSize);//重试次数int retry = 2;while (wuPinEntitys.size() == 0 && retry > 0) {wuPinEntitys = wupinService.findXunWuList(startIndex, pageSize);retry--;}if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("totalPage",totalPage);map.put("totalCount",totalCount);map.put("currPage",pageCount);map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}}//寻物页面搜索信息处理@PostMapping("/search")public String search(Wupin Wupin, Model model, HttpSession session) {wupinmingcheng = Wupin.getWupinmingcheng();if (wupinmingcheng.equals("")) {
// model.addAttribute("errorMsg", "请输入关键词!");Object obj = session.getAttribute("dbWupin");if (null != obj) {session.removeAttribute("dbWupin");}return "found2";}wupinmingcheng = "%" + wupinmingcheng + "%";List<Wupin> dbWupin = wupinService.findXunWuByWuPinName(wupinmingcheng);if (dbWupin.size() > 0) {return "redirect:/found/resSearch";} else {
// model.addAttribute("errorMsg", "该物品不存在!");Object obj = session.getAttribute("dbWupin");if (null != obj) {session.removeAttribute("dbWupin");}return "found2";}}//返回搜索结果@GetMapping("/resSearch")public String resSearch(HttpSession session) {List<Wupin> dbWupin = wupinService.findXunWuByWuPinName(wupinmingcheng);session.setAttribute("dbWupin", dbWupin);return "found2";}//寻物页面详情页@GetMapping("/content")public String content(String id, Map<String, Object> map) {Wupin dbWupin = wupinService.findXunWuById(id);String zhanDianName = dbWupin.getZhandianmingcheng();Zhandian dbZhanDian = null;if (!zhanDianName.equals("")) {dbZhanDian = zhandainService.findByZhanDianName(zhanDianName);}dbWupin.setLianxidianhua(dbZhanDian.getLianxidianhua());map.put("dbWupin", dbWupin);return "foundContent";}//个人中心寻物审核中列表@PostMapping("/userXWSH")@ResponseBody//返回json数据到前端public Result userXunWu(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findXWSHByUserId(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心寻物审核未通过列表@PostMapping("/userXWJJ")@ResponseBody//返回json数据到前端public Result userXWJJ(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findXWSHByUserIdJJ(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心寻物审核详情页@GetMapping("/XWSHContent")public String XWSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findXWSHById(id);map.put("dbWupin", dbWupin);return "userXWContent";}//个人中心寻物审核删除@GetMapping("/XWSHDelete")public String XWSHDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteXWSHById(id);return "userXunWu";}//个人中心寻物公示中列表@RequestMapping("/userXWXZ")@ResponseBody//返回json数据到前端public Result userXWXZ(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findXWByUserId(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心寻物已完成列表@RequestMapping("/userXWXZWC")@ResponseBody//返回json数据到前端public Result userXWXZWC(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findXWByUserIdWC(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心寻物详情页@GetMapping("/XWContent")public String XWContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findXunWuById(id);map.put("dbWupin", dbWupin);return "userXWContent";}//个人中心寻物删除@GetMapping("/XWDelete")public String XWDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteXWById(id);return "userXunWu";}//管理员寻物审核列表@RequestMapping("/HTXWSH")@ResponseBody//返回json数据到前端public Result HTXWSH() {List<Wupin> wuPinEntitys = wupinService.findAllXWSH();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员查看寻物审核详情页@GetMapping("/HTXWSHContent")public String HTXWSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findXWSHById(id);map.put("dbWupin", dbWupin);return "admin/houTaiXWContent";}//管理员寻物审核同意@GetMapping("/HTXWSHTYUpdate")public String HTXWSHTYUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateXWSH(id);Wupin dbWupin = wupinService.findXWSHById(id);wupinService.addXW(dbWupin);return "admin/houTaiIndex";}//管理员寻物审核拒绝@GetMapping("/HTXWSHJJUpdate")public String HTXWSHJJUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateJJXWSH(id);return "admin/houTaiIndex";}//管理员寻物公告公示中列表@RequestMapping("/HTXWXZ")@ResponseBody//返回json数据到前端public Result HTXWXZ() {List<Wupin> wuPinEntitys = wupinService.findAllXunWu();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}//管理员查看寻物公告公示中的详情页@GetMapping("/HTXWXZContent")public String HTXWXZContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findXunWuById(id);map.put("dbWupin", dbWupin);return "admin/houTaiXWContent";}//管理员提交完成寻物公示中的公告@GetMapping("/HTXWXZWCUpdate")public String HTXWXZWCUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateXWXZ(id);return "admin/houTaiIndex";}//管理员删除寻物公示公告@GetMapping("/HTXWXZDelete")public String HTXWXZDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteXWById(id);return "admin/houTaiIndex";}//管理员寻物公告已完成列表@RequestMapping("/HTXWWC")@ResponseBody//返回json数据到前端public Result HTXWWC() {List<Wupin> wuPinEntitys = wupinService.findAllXWWC();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}
@Controller
@RequestMapping("/liuyan")
public class LiuyanController {@Autowiredprivate LiuyanService liuyanService;//上传留言@RequestMapping("/information")@ResponseBodypublic Result liuYanAdd(@RequestBody Liuyan liuyan) {String liuYanContent = liuyan.getLiuyanneirong().replace(" ", "");/* if (liuYanContent == null || liuYanContent.length() == 0) {return new Result(Code.POST_ERR,Msg.ADD_ERR);}*/Date addTime = new Date();liuyan.setLiuyanriqi(addTime);liuyan.setAddtime(addTime);boolean flag = liuyanService.add(liuyan);Integer code = flag ? Code.POST_OK : Code.POST_ERR;String msg = flag ? Msg.ADD_OK : Msg.ADD_ERR;return new Result(code,msg);}//获取留言列表@GetMapping("/list/{currPage}")@ResponseBodypublic Result liuYanList(@PathVariable int currPage) {//当前页数int pageCount = currPage;//总记录数Integer totalCount = liuyanService.findLiuYanTotal();//重试次数int count = 2;while (totalCount == 0 && count > 0) {totalCount = liuyanService.findLiuYanTotal();count--;}//总页数Integer totalPage = totalCount % 10 == 0 ? totalCount / 10 : totalCount / 10 + 1;//如果记录数为0或请求页面大于总页数或为负数if (pageCount > totalPage || pageCount < 0 || totalCount == 0) {return new Result(Code.GET_ERR, Msg.QUERY_ERR);} else {//如果数据正常则写成json格式返回前端//每页显示数,10条Integer pageSize = 10;// 计算前索引Integer startIndex = (pageCount - 1) * pageSize;List<Liuyan> liuYanEntitys = liuyanService.findLiuYanList(startIndex, pageSize);//重试次数int retry = 2;while (liuYanEntitys.size() == 0 && retry > 0) {liuYanEntitys = liuyanService.findLiuYanList(startIndex, pageSize);retry--;}if (liuYanEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("totalPage",totalPage);map.put("totalCount",totalCount);map.put("currPage",pageCount);map.put("data",liuYanEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}}//根据用户id获取留言列表@RequestMapping("/userLY")@ResponseBodypublic Result userLY(@RequestBody Liuyan liuyan) {Integer user_Id = liuyan.getUserid();String userId = String.valueOf(user_Id);userId = userId.replace(" ", "");if ("".equals(userId) || userId.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {//如果数据正常则写成json格式返回前端List<Liuyan> liuYanEntitys = liuyanService.findLYByUserId(userId);if (liuYanEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",liuYanEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人根据id删除留言@GetMapping("/LYDelete")public String LYDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}liuyanService.deleteLYById(id);return "userLiuYan";}//后台获取留言列表@RequestMapping("/HTLY")@ResponseBodypublic Result HTLY() {List<Liuyan> liuYanEntitys = liuyanService.findAllLY();if (liuYanEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",liuYanEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//后台根据id删除留言@GetMapping("/HTLYDelete")public String HTLYDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}boolean flag = liuyanService.deleteLYById(id);return "admin/houTaiLiuYan";}
}
@Controller
@RequestMapping("/lost")
public class LostController {@Autowiredprivate WupinService wupinService;@Autowiredprivate ZhandainService zhandainService;@Autowiredprivate UserService userService;public String wupinmingcheng = "";//招领列表@GetMapping("/list/{currPage}")@ResponseBody//返回json数据到前端public Result list(@PathVariable int currPage) {//当前页数int pageCount = currPage;//总记录数Integer totalCount = wupinService.findZhaoLingTotal();//重试次数int count = 2;while (totalCount == 0 && count > 0) {totalCount = wupinService.findZhaoLingTotal();count--;}//总页数Integer totalPage = totalCount % 10 == 0 ? totalCount / 10 : totalCount / 10 + 1;//如果记录数为0或请求页面大于总页数或为负数if (pageCount > totalPage || pageCount < 0 || totalCount == 0) {return new Result(Code.GET_ERR, Msg.QUERY_ERR);} else {//如果数据正常则写成json格式返回前端//每页显示数,10条Integer pageSize = 10;// 计算前索引Integer startIndex = (pageCount - 1) * pageSize;List<Wupin> wuPinEntitys = wupinService.findZhaoLingList(startIndex, pageSize);//重试次数int retry = 2;while (wuPinEntitys.size() == 0 && retry > 0) {wuPinEntitys = wupinService.findZhaoLingList(startIndex, pageSize);retry--;}if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("totalPage",totalPage);map.put("totalCount",totalCount);map.put("currPage",pageCount);map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}}//招领页面搜索信息处理@PostMapping("/search")public String search(Wupin Wupin, Model model, HttpSession session) {wupinmingcheng = Wupin.getWupinmingcheng();if (wupinmingcheng.equals("") || wupinmingcheng.contains("?")) {
// model.addAttribute("errorMsg", "请输入关键词!");Object obj = session.getAttribute("dbWupin");if (null != obj) {session.removeAttribute("dbWupin");}return "/lost2";}wupinmingcheng = "%" + wupinmingcheng + "%";List<Wupin> dbWupin = wupinService.findZhaoLingByWuPinName(wupinmingcheng);if (dbWupin.size() > 0) {return "redirect:/lost/resSearch";} else {
// model.addAttribute("errorMsg", "该物品不存在!");Object obj = session.getAttribute("dbWupin");if (null != obj) {session.removeAttribute("dbWupin");}return "/lost2";}}//返回搜索结果@GetMapping("/resSearch")public String resSearch(HttpSession session) {List<Wupin> dbWupin = wupinService.findZhaoLingByWuPinName(wupinmingcheng);session.setAttribute("dbWupin", dbWupin);return "/lost2";}//详情页@GetMapping("/content")public String content(String id, Map<String, Object> map) {Wupin dbWupin = wupinService.findZhaoLingById(id);String zhanDianName = dbWupin.getZhandianmingcheng();Zhandian dbZhanDian = null;if (!zhanDianName.equals("")) {dbZhanDian = zhandainService.findByZhanDianName(zhanDianName);}dbWupin.setLianxidianhua(dbZhanDian.getLianxidianhua());map.put("dbWupin", dbWupin);return "lostContent";}//添加申领@RequestMapping("/SLSH")@ResponseBody//返回json数据到前端public String SLSH(@RequestBody Wupin wupin) {String userid = wupin.getUserid();Integer id = wupin.getId();String wuPinId = String.valueOf(id);Date daozhandianriqi = wupin.getDaozhandianriqi();String zhuangtai = wupin.getZhuangtai();if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(wuPinId) || StringUtils.isEmpty(zhuangtai) || daozhandianriqi == null) {return "false";}Wupin findWuPin = wupinService.findSLSHByUserIdAndId(wuPinId,userid);if (null!=findWuPin){return "0";}Wupin dbWuPin = wupinService.findZhaoLingById(wuPinId);if (null != dbWuPin) {Date addtie = new Date();wupin.setWupinmingcheng(dbWuPin.getWupinmingcheng());wupin.setBianhao(dbWuPin.getBianhao());wupin.setTupian(dbWuPin.getTupian());wupin.setJiandaoriqi(dbWuPin.getJiandaoriqi());wupin.setJiandaodizhi(dbWuPin.getJiandaodizhi());wupin.setJianshu(dbWuPin.getJianshu());wupin.setZhandianmingcheng(dbWuPin.getZhandianmingcheng());wupin.setFuzeren(dbWuPin.getFuzeren());wupin.setDizhi(dbWuPin.getDizhi());wupin.setShenhejieguo("审核中");wupin.setAddtime(addtie);wupinService.addSLSH(wupin);return "succeful";} else {return "false";}}//个人中心获取申领审核中信息@RequestMapping("/userSLSH")@ResponseBody//返回json数据到前端public Result userSLSH(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findSLSHByUserId(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心获取申领未通过信息@RequestMapping("/userSLJJ")@ResponseBody//返回json数据到前端public Result userSLJJ(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findSLSHByUserIdJJ(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心获取申领正在进行信息@RequestMapping("/userSLJX")@ResponseBody//返回json数据到前端public Result userSLJX(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findSLSHByUserIdJX(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心获取申领已完成信息@RequestMapping("/userSLWC")@ResponseBody//返回json数据到前端public Result userSLWC(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findSLSHByUserIdWC(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心申领审核物品详情页@GetMapping("/SLSHContent")public String SLSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findSLSHById(id);map.put("dbWupin", dbWupin);return "/userSLContent";}//个人中心根据物品id删除申领审核物品@GetMapping("/SLSHDelete")public String SLSHDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteSLSHById(id);return "userShenLing";}//个人中心招领审核中列表@RequestMapping("/userZLSH")@ResponseBody//返回json数据到前端public Result userZLSH(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findZLSHByUserId(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心招领审核未通过列表@RequestMapping("/userZLSHJJ")@ResponseBody//返回json数据到前端public Result userZLSHJJ(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findZLSHByUserIdJJ(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心招领审核详情页@GetMapping("/ZLSHContent")public String ZLSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findZLSHById(id);map.put("dbWupin", dbWupin);return "/userZLContent";}//个人中心招领审核删除@GetMapping("/ZLSHDelete")public String ZLSHDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteZLSHById(id);return "userZhaoLing";}//个人中心招领公示中列表@RequestMapping("/userSWZL")@ResponseBody//返回json数据到前端public Result userSWZL(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findZLByUserId(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心招领已完成列表@RequestMapping("/userSWWC")@ResponseBody//返回json数据到前端public Result userSWWC(@RequestBody Wupin wupin) {String userid = wupin.getUserid();userid = userid.replace(" ", "");if ("".equals(userid) || userid.length() == 0) {return new Result(Code.POST_ERR, Msg.QUERY_ERR);} else {List<Wupin> wuPinEntitys = wupinService.findZLByUserIdWC(wupin.getUserid());if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.POST_OK,map,Msg.QUERY_OK);} else {return new Result(Code.POST_ERR, Msg.QUERY_ERR);}}}//个人中心招领详情页@GetMapping("/ZLContent")public String ZLContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findZhaoLingById(id);map.put("dbWupin", dbWupin);return "userZLContent";}//个人中心招领删除@GetMapping("/ZLDelete")public String ZLDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteZLById(id);return "userZhaoLing";}//管理员招领审核列表@RequestMapping("/HTZLSH")@ResponseBody//返回json数据到前端public Result HTZLSH() {List<Wupin> wuPinEntitys = wupinService.findAllZLSH();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员查看招领审核详情页@GetMapping("/HTZLSHContent")public String HTZLSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findZLSHById(id);map.put("dbWupin", dbWupin);return "admin/houTaiZLContent";}//管理员招领审核同意@GetMapping("/HTZLSHTYUpdate")public String HTZLSHTYUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateZLSH(id);Wupin dbWupin = wupinService.findZLSHById(id);wupinService.addZL(dbWupin);return "admin/houTaiZhaoLing";}//管理员招领审核拒绝@GetMapping("/HTZLSHJJUpdate")public String HTZLSHJJUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateJJZLSH(id);return "admin/houTaiZhaoLing";}//管理员招领公告公示中列表@RequestMapping("/HTSWZL")@ResponseBody//返回json数据到前端public Result HTSWZL() {List<Wupin> wuPinEntitys = wupinService.findAllSWZL();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员查看招领公示中公告详情页@GetMapping("/HTSWZLContent")public String HTSWZLContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findZhaoLingById(id);map.put("dbWupin", dbWupin);return "admin/houTaiZLContent";}//管理员提交完成招领公示中的公告@GetMapping("/HTSWZLWCUpdate")public String HTSWZLWCUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateSWZL(id);return "admin/houTaiZhaoLing";}//管理员删除招领公示公告@GetMapping("/HTSWZLDelete")public String HTSWZLDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteZLById(id);return "admin/houTaiZhaoLing";}//管理员招领公告已完成列表@RequestMapping("/HTZLWC")@ResponseBody//返回json数据到前端public Result HTZLWC() {List<Wupin> wuPinEntitys = wupinService.findAllSWZLWC();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员获取申领审核中信息@RequestMapping("/HTSLSH")@ResponseBody//返回json数据到前端public Result HTSLSH() {List<Wupin> wuPinEntitys = wupinService.findAllSLSH();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员查看申领审核的详情页@GetMapping("/HTSLSHContent")public String HTSLSHContent(String id, Map<String, Object> map) {if ("".equals(id) || id.length() == 0) {return "false";}Wupin dbWupin = wupinService.findSLSHById(id);Integer userid = Integer.parseInt(dbWupin.getUserid());User dbUser =userService.findByUserId(userid);String userName =dbUser.getUsername();map.put("dbWupin", dbWupin);map.put("userName", userName);return "admin/houTaiSLContent";}//管理员申领审核同意@GetMapping("/HTSLSHTYUpdate")public String HTSLSHTYUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateSLSH(id);return "admin/houTaiShenLing";}//管理员申领审核拒绝@GetMapping("/HTSLSHJJUpdate")public String HTSLSHJJUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateJJSLSH(id);return "admin/houTaiShenLing";}//管理员获取申领正在进行中信息@RequestMapping("/HTSLJX")@ResponseBody//返回json数据到前端public Result HTSLJX() {List<Wupin> wuPinEntitys = wupinService.findAllSLSHJX();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}//管理员提交完成申领请求@GetMapping("/HTSLSHWCUpdate")public String HTSLSHWCUpdate(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.updateSLSHWC(id);wupinService.updateSWZL(id);return "admin/houTaiShenLing";}//管理员删除正在进行的申领请求@GetMapping("/HTSLSHDelete")public String HTSLSHDelete(String id) {if ("".equals(id) || id.length() == 0) {return "false";}wupinService.deleteSLSHById(id);return "admin/houTaiShenLing";}//管理员获取申领已完成的信息@RequestMapping("/HTSLWC")@ResponseBody//返回json数据到前端public Result HTSLWC() {List<Wupin> wuPinEntitys = wupinService.findAllSLSHWC();if (wuPinEntitys.size() > 0) {Map<String,Object> map = new HashMap<>();map.put("status","true");map.put("data",wuPinEntitys);return new Result(Code.GET_OK,map,Msg.QUERY_OK);} else {return new Result(Code.GET_ERR, Msg.QUERY_ERR);}}
}
五、论文参考
- 计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP-论文参考:
六、系统视频
校园失物招领微信小程序/安卓APP-项目视频:
计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP
结语
计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
相关文章:

计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP-项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

人工智能基础_机器学习011_梯度下降概念_梯度下降步骤_函数与导函数求解最优解---人工智能工作笔记0051
然后我们来看一下梯度下降,这里先看一个叫 无约束最优化问题,,值得是从一个问题的所有可能的备选方案中选最优的方案, 我们的知道,我们的正态分布这里,正规的一个正态分布,还有我们的正规方程,他的这个x,是正规的,比如上面画的这个曲线,他的这个x,就是大于0的对吧,而现实生活…...

开放式耳机能保护听力吗,开放式耳机跟骨传导耳机哪个更好?
如果从严格意义上来讲的话,开放式耳机中的骨传导耳机是能保护听力,现如今的开放式耳机是一个统称,将所有不入耳的类目全部规划到一块。因此在开放式耳机中存在着一些耳机是只能够保持周边环境音,而不是保护听力的。 下面让我来给…...

【Qt之QLocale】使用
描述 QLocale类可以在多种语言之间进行数字和字符串的转换。 QLocale类在构造函数中使用语言/国家对进行初始化,并提供类似于QString中的数字转字符串和字符串转数字的转换函数。 示例: QLocale egyptian(QLocale::Arabic, QLocale::Egypt);QString s1 …...

维修服务预约小程序的效果如何
生活服务中维修项目绝对是需求量很高的,如常见的保洁、管道疏通、数码维修、安装、便民服务等,可以说每天都有生意,而对相关维修店企业来说,如何获得更多生意很重要。 接下来让我们看看通过【雨科】平台制作维修服务预约小程序能…...

前端架构体系调研整理汇总
1.公司研发人数与前端体系 小型创业公司 前端人数: < 3 人 产品类型: 产品不是非常成熟,比较新颖。 项目流程:不完善,快、紧促,没有固定的时间排期。 技术栈: 没有历史包袱,技…...
DrawerLayout的点击事件会穿透到底部,如何拦截?
DrawerLayout实现侧后,发现了一个问题。点击DrawerLayout的画面,会触发覆盖的底层页面的控件。由此说明点击事件穿透到了底部。但是我只需要触发抽屉布局里的控件,不想触发底层被覆盖的看不见的按钮,由此我想到的时让抽屉页面拦截…...

在Spring boot中 使用JWT和过滤器实现登录认证
在Spring boot中 使用JWT和过滤器实现登录认证 一、登录获得JWT 在navicat中运行如下sql,准备一张user表 -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS t_user; CREATE TABLE t_user (id int(11) …...
天堂2如何对版本里面的内容进行修改
天堂2写装备属性的问题 早一点的版本属性都是写在armor文件夹 xml档里,不再写armor里了 armor文件夹里只有防御 HP MP增加量,套装的属性都用一个技能形式写在 skills里了 在配合数据库里一个叫armorsets实现套装属性,拿皇家套做说明。 id 43…...

代码随想录Day33 LeetCode T62不同路径 LeetCode T63 不同路径II
前言 动规五部曲 1.确定dp数组含义 2.确定递推公式 3.初始化数组 4.确定遍历方式 5.打印dp数组查看分析问题 LeetCode T62 不同路径 题目链接:62. 不同路径 - 力扣(LeetCode) 题目思路: 注:n行m列而不是m行n列 1.确定dp数组含义 代表到达此下标有多少条…...

【计算机网络】分层模型和应用协议
网络分层模型和应用协议 1. 分层模型 1.1 五层网络模型 网络要解决的问题是:两个程序之间如何交换数据。 四层?五层?七层? 2. 应用层协议 2.1 URL URL(uniform resource locator,统一资源定位符&#…...

Python框架之Flask入门和视图
一、Flask入门和视图 需要安装Pycharm专业版 1. Flask简介 Python后端的2个主流框架 Flask 轻量级框架Django 重型框架 Flask是一个基于Python实现的web开发微框架 官方文档:https://flask.palletsprojects.com/ 中文文档:https://dormousehole.readthe…...
streamWriter.WriteLine
streamWriter.WriteLine写入文件有回车行 using (System.IO.StreamWriter streamWriter new System.IO.StreamWriter("D:\123.txt", false, System.Text.Encoding.Default)) { streamWriter.Write(str.Replace("…...

一键添加色彩变幻效果,视频剪辑从未如此简单!
在视频制作过程中,给视频添加特效是必不可少的环节。而其中,色彩变幻效果作为一种常用的特效,能够为视频增添独特的氛围和视觉冲击力。然而,对于许多初学者来说,如何批量给视频添加色彩变幻效果特效功能却是一个难题。…...

Linux的简介和环境搭建
简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个…...
你看现在的程序员,是怎么解bug的
大家好,我是伍六七。 干程序员的都会碰到各种各样的 bug,有的 bug 我们看一眼、或者多看几眼就能看出来问题。 但是,也有很多问题,我们看不出来,这个时候,我们不妨把我们的代码扔给 GPT,看看它…...

CSS3背景样式
在CSS 2.1中,background属性的功能还无法满足设计的需求,为了方便设计师更灵活地设计需要的网页效果,CSS3在原有background基础上新增了一些功能属性,可以在同一个对象内叠加多个背景图像,可以改变背景图像的大小尺寸&…...
JAVA同城服务同城圈子真人躲猫猫系统的玩法流程
在现在科技的发展和互联网的普及,线上社交游戏在人们的生活中占据了越来越重要的地位。JAVA同城服务同城圈子真人躲猫猫系统就是一种结合了线上社交和线下实体位置服务的全新游戏模式。在这个游戏中,玩家们可以在同一城市中寻找隐藏的对手,体…...

C++继承——圆形和圆柱体
C继承 Circular圆形类 /*圆形类*/ class Circular { private:const static double PI;double R 0; public:Circular() default;Circular(double r);double GetArea(); /*圆面积*/double GetGirth(); /*圆周长*/ }; const double Circular::PI 3.14;Circular::Circula…...

致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]
文章目录 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...