计算机毕业设计选题推荐-校园失物招领微信小程序/安卓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 前言 免责声明:请勿利用…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
