package com.zhanghk.controller;
import com.github.pagehelper.PageInfo;
import com.zhanghk.entity.*;
import com.zhanghk.service.CommentService;
import com.zhanghk.service.NoticeService;
import com.zhanghk.service.PostService;
import com.zhanghk.service.TypeService;
import com.zhanghk.util.JWTUtil;
import com.zhanghk.util.JsonObject;
import com.zhanghk.util.R;
import com.zhanghk.vo.TypeVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.*;
/**
* (Post)表控制层
*
* @author makejava
* @since 2021-03-22 10:19:07
*/
@RestController
@RequestMapping("/post")
public class PostController {
@Resource
private PostService postService;
@Resource
private CommentService commentService;
@Autowired
private TypeService typeService;
@Resource
private NoticeService noticeService;
/**
* 分页查询
* @param page
* @param pageSize
* @param post
* @return
*/
@RequestMapping("/queryAll")
public JsonObject<Post> queryAll(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer pageSize,
Post post){
//创建返回的对象
JsonObject<Post> jsonObject = new JsonObject<>();
//查询结果列表
PageInfo<Post> postPageInfo = postService.findAll(page,pageSize,post);
//填充返回的前端数据对象
jsonObject.setCode(0);
jsonObject.setMsg("ok");
jsonObject.setData(postPageInfo.getList());
jsonObject.setCount(postPageInfo.getTotal());
return jsonObject;
}
/**
* 后台删除
* @param ids
* @return
*/
@RequestMapping("/deleteByIds")
public R deleteByIds(String ids){ //ids为传入的参数 /deleteByIds?id=ids
//将id字符串("1,2,3")转为集合对象
List<String> idslist = Arrays.asList(ids.split(","));
// 遍历集合对象,逐个删除
for (String id : idslist){
postService.deleteById(Integer.parseInt(id));
}
return R.ok();
}
/**
* 修改失物信息
* @param post
* @return
*/
@RequestMapping("/update")
public R updatePost(@RequestBody Post post){
Post post1 = postService.update(post);
if (post1!=null){
return R.ok();
}
return R.fail("修改失败");
}
/**
* 用来渲染主页的功能 暂时没用
*/
/**
* 用以渲染失物大厅
*/
@RequestMapping("/queryLossList")
public Map queryLossList(@RequestBody Map<String,String>map){
//创建map对象 用以返回前端
Map m = new HashMap();
Post post = new Post();
if(map.containsKey("typeName")){
String typeName = map.get("typeName");
post.setTypeName(typeName);
}
if(map.containsKey("title")){
String title = map.get("title");
post.setTitle(title);
}
if(map.containsKey("address")){
String address = map.get("address");
post.setAddress(address);
}
if(map.containsKey("content")){
String content = map.get("content");
post.setContent(content);
}
//失物的flag为1
post.setFlag(1);
//从post列表查询为失物的帖子
PageInfo<Post> postPageInfo = postService.findAll(1,100,post);
List<Post> postList = postPageInfo.getList();
//遍历列表 放入评论数
for (Post p:
postList) {
//获取id
Integer id = p.getId();
int nums = commentService.getCommentCounts(id);
p.setCounts(nums);
}
//将结果返回前端
m.put("postlist",postList);
//查询分类信息 并统计分类相关的post数量
List<TypeVo> typeVoList = typeService.getCountsByFlag(1);
m.put("typeVoList",typeVoList);
//查询公告信息 (查询最新的)
Notice newNotice = noticeService.queryByNewTime();
m.put("newNotice",newNotice);
//查询最新评论
List<Comment> comments = commentService.queryByNewTime();
m.put("comments",comments);
//根据状态 查询具体的记录数
//失物招领 完成 1 0
int swzl = postService.getCountsByFlagAndStatus(1,0);
//失物招领 未完成 1 1
int wswzl = postService.getCountsByFlagAndStatus(1,1);
//寻物启事 完成 0 0
int xuqs = postService.getCountsByFlagAndStatus(0,0);
//寻物启事 未完成 0 1
int wxwqs = postService.getCountsByFlagAndStatus(0,1);
m.put("swzl",swzl);
m.put("wswzl",wswzl);
m.put("xuqs",xuqs);
m.put("wxwqs",wxwqs);
return m;
}
/**
* 用以渲染寻物大厅
*/
@RequestMapping("/queryFoundList")
public Map queryFoundList(@RequestBody Map<String,String> map){
Map m = new HashMap();
Post post = new Post();
post.setFlag(0);
if (map.containsKey("typeName")){
String typeName = map.get("typeName");
post.setTypeName(typeName);
}
if(map.containsKey("title")){
String title = map.get("title");
post.setTitle(title);
}
if(map.containsKey("address")){
String address = map.get("address");
post.setAddress(address);
}
if(map.containsKey("content")){
String content = map.get("content");
post.setContent(content);
}
PageInfo<Post> postPageInfo = postService.findAll(1,100,post);
List<Post> postList = postPageInfo.getList();
//遍历列表 放入评论数
for (Post p:
postList) {
//获取id
Integer id = p.getId();
int nums = commentService.getCommentCounts(id);
p.setCounts(nums);
}
m.put("postlist",postList);
//查询分类信息 并统计分类相关的post数量
List<TypeVo> typeVoList = typeService.getCountsByFlag(0);
m.put("typeVoList",typeVoList);
//查询公告信息 (查询最新的)
Notice newNotice = noticeService.queryByNewTime();
m.put("newNotice",newNotice);
//查询最新评论
List<Comment> comments = commentService.queryByNewTime();
m.put("comments",comments);
//根据状态 查询具体的记录数
//失物招领 完成 1 0
int swzl = postService.getCountsByFlagAndStatus(1,0);
//失物招领 未完成 1 1
int wswzl = postService.getCountsByFlagAndStatus(1,1);
//寻物启事 完成 0 0
int xuqs = postService.getCountsByFlagAndStatus(0,0);
//寻物启事 未完成 0 1
int wxwqs = postService.getCountsByFlagAndStatus(0,1);
m.put("swzl",swzl);
m.put("wswzl",wswzl);
m.put("xuqs",xuqs);
m.put("wxwqs",wxwqs);
return m;
}
/**
* 渲染启示的详情信息
*/
@RequestMapping("/queryCommentList")
public Post queryCommentList(@RequestBody Map<String,String> map){
// public Post queryCommentList(){
//创建map对象 用以返回前端
Map m = new HashMap();
String postId = "";
if (map.containsKey("postId")){
postId = map.get("postId");
}
/**
* 根据id查询启示详情 queryById 找xml文件,里面封装了返回体
* 1.根据id查询post的详情信息
* 2.查询当前启示发布者的个人信息
* 3.查询�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本科毕业设计项目+基于SpringBoot的前后端分离的失物招领系统,无需修改代码,可直接运行 项目简介 后端利用springboot框架结合了mybatis数据持久化框架技术,前端页面套用LayUI模板,运行axios与后台服务器进行交互。开发的时候采用前后端分离的开发方式,即前端和后端开发互不干涉。 后台管理系统 主要功能:数据一览、用户管理、邮件管理、物品管理、评论管理...... 特点 (1)多条件组合检索。在寻物模块中,设计了两种高级筛选,多条件的组合查询能更精确的帮助用户找到最优解。 (2)隐私性选项。在回复评论时可以选择匿名,以此保护用户隐私。 (3)邮件任务。使用基于Jmail的邮件服务,及时通知发布者,保证了寻物的时效性。 (4)数据分析。对用户和启示数据进行统计并可视化,能使得用户直观快速地掌握本平台的各项指标。 (5)基于类别关键字的关联性推荐 。本平台采用基于类别关键字的关联性推荐功能,多方位满足用户需求,尽可能帮助失主寻回物品。
资源推荐
资源详情
资源评论
收起资源包目录
本科毕业设计项目+基于SpringBoot的前后端分离的失物招领系统,寻物小帮手,课程设计大作业,前后端分离 (704个子文件)
AUTHORS 6KB
PostController.class 12KB
UserController.class 7KB
MailController.class 7KB
User.class 7KB
CommentController.class 5KB
AdminDataCountsController.class 4KB
FeedbackController.class 4KB
Post.class 4KB
DataCountsController.class 4KB
TypeController.class 3KB
JWTUtil.class 3KB
NoticeController.class 3KB
JsonObject.class 3KB
LoginController.class 3KB
PostServiceImpl.class 3KB
CommentServiceImpl.class 3KB
MailUntil.class 3KB
UserServiceImpl.class 3KB
NoticeServiceImpl.class 2KB
ClaimServiceImpl.class 2KB
FeedbackServiceImpl.class 2KB
MailServiceImpl.class 2KB
MD5Util.class 2KB
Comment.class 2KB
R.class 2KB
ClaimController.class 2KB
TypeServiceImpl.class 2KB
LoginInterceptor.class 2KB
Type.class 2KB
Claim.class 2KB
Mail.class 2KB
CorsConfig$1.class 2KB
Feedback.class 2KB
Notice.class 2KB
PostService.class 1KB
CommentDao.class 1KB
CommentService.class 1KB
ClaimDao.class 1006B
PostDao.class 906B
UserService.class 900B
TypeMapper.class 864B
TypeVo.class 835B
NoticeService.class 813B
UserDao.class 808B
ZZUlostfound.class 797B
CorsConfig.class 794B
ClaimService.class 781B
FeedbackService.class 775B
TypeService.class 727B
MailService.class 705B
Constants.class 624B
NoticeDao.class 608B
TestController.class 601B
FeedbackDao.class 567B
MailDao.class 535B
ZZUlostfound.class 519B
DataVo.class 452B
semantic242.min.css 614KB
semantic.min.css 537KB
editormd.css 76KB
animate.css 71KB
editormd.min.css 60KB
editormd.preview.css 55KB
editormd.preview.min.css 44KB
ambiance.css 26KB
jsCalendar.css 10KB
codemirror.css 8KB
typo.css 7KB
codemirror.min.css 5KB
mdn-like.css 5KB
solarized.css 5KB
me1.css 4KB
merge.css 3KB
lint.css 3KB
me.css 3KB
xq-dark.css 3KB
lesser-dark.css 2KB
pastel-on-dark.css 2KB
xq-light.css 2KB
tomorrow-night-eighties.css 2KB
editormd.logo.css 2KB
erlang-dark.css 2KB
zenburn.css 2KB
prism.css 2KB
twilight.css 2KB
midnight.css 2KB
vibrant-ink.css 2KB
mbo.css 2KB
base16-dark.css 2KB
base16-light.css 2KB
tern.css 2KB
3024-night.css 2KB
paraiso-dark.css 2KB
paraiso-light.css 2KB
tomorrow-night-bright.css 2KB
3024-day.css 2KB
blackboard.css 2KB
colorforth.css 2KB
editormd.logo.min.css 2KB
共 704 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
白话机器学习
- 粉丝: 1w+
- 资源: 7672
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Spring boot 的Starter机制提供一个开箱即用的多数据源抽取工具包,计划对RDMS(关系型
- 水泵系统水力计算公式-标准版
- Wesley是一套为经销商量身定制的全业务流程渠道 分销管理系统(手机APP称为经销商管家)
- Adaptive Autosar EM 标准规范
- 鼓谱图片转MuseScore超文本文档实验程序
- 自动驾驶感知动态障碍物算法上车效果 (Xavier jetson&autoware)
- 【实验指导书-2024版】实验一:查验身份证.doc
- 如何批量多级文件夹图片合并PDF,怎么批量多级文件夹图片转换PDF,快速将大量多个文件夹的图片转PDF,多张图片转换成PDF
- SpringBoot3.3 实现停止/重启定时任务的代码
- Adaptive Autosar 规范
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功