|
|
package com.yanzhen.controller; // 定义包名
|
|
|
|
|
|
import com.github.pagehelper.PageInfo; // 导入分页插件
|
|
|
import com.yanzhen.entity.Notice; // 导入公告实体类
|
|
|
import com.yanzhen.entity.User; // 导入用户实体类
|
|
|
import com.yanzhen.service.NoticeService公告管理; // 导入公告服务接口
|
|
|
import com.yanzhen.service.UserService用户管理; // 导入用户服务接口
|
|
|
import com.yanzhen.utils.Result; // 导入结果工具类
|
|
|
import org.springframework.beans.factory.annotation.Autowired; // 导入自动装配注解
|
|
|
import org.springframework.web.bind.annotation.*; // 导入Spring MVC相关注解
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest类
|
|
|
import java.util.Map; // 导入Map接口
|
|
|
|
|
|
@RestController // 声明这是一个控制器,并且返回的数据直接写入HTTP响应体中
|
|
|
@RequestMapping("/notice") // 设置请求路径前缀为/notice
|
|
|
public class NoticeController { // 定义控制器类
|
|
|
|
|
|
@Autowired // 自动注入NoticeService实例
|
|
|
private NoticeService公告管理 noticeService;
|
|
|
@Autowired // 自动注入UserService实例
|
|
|
private UserService用户管理 userService;
|
|
|
|
|
|
@PostMapping("create") // 映射POST请求到create方法
|
|
|
public Result create(@RequestBody Notice notice, HttpServletRequest request){ // 接收JSON格式的公告数据和请求对象
|
|
|
User user = (User) request.getAttribute("user"); // 从请求中获取当前登录的用户信息
|
|
|
notice.setUserId(user.getId()); // 设置公告的用户ID为当前用户的ID
|
|
|
int flag = noticeService.create(notice); // 调用服务层创建公告
|
|
|
if(flag>0){ // 如果创建成功
|
|
|
return Result.ok(); // 返回成功结果
|
|
|
}else{ // 如果创建失败
|
|
|
return Result.fail(); // 返回失败结果
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("delete") // 映射GET请求到delete方法
|
|
|
public Result delete(String ids){ // 接收要删除的公告ID字符串
|
|
|
int flag = noticeService.delete(ids); // 调用服务层删除公告
|
|
|
if(flag>0){ // 如果删除成功
|
|
|
return Result.ok(); // 返回成功结果
|
|
|
}else{ // 如果删除失败
|
|
|
return Result.fail(); // 返回失败结果
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@PostMapping("update") // 映射POST请求到update方法
|
|
|
public Result update(@RequestBody Notice notice){ // 接收JSON格式的公告数据
|
|
|
int flag = noticeService.updateSelective(notice); // 调用服务层更新公告
|
|
|
if(flag>0){ // 如果更新成功
|
|
|
return Result.ok(); // 返回成功结果
|
|
|
}else{ // 如果更新失败
|
|
|
return Result.fail(); // 返回失败结果
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("detail") // 映射GET请求到detail方法
|
|
|
public Notice detail(Integer id){ // 接收公告ID
|
|
|
return noticeService.detail(id); // 调用服务层获取公告详情并返回
|
|
|
}
|
|
|
|
|
|
@PostMapping("query") // 映射POST请求到query方法
|
|
|
public Map<String,Object> query(@RequestBody Notice notice){ // 接收JSON格式的查询条件
|
|
|
PageInfo<Notice> pageInfo = noticeService.query(notice); // 调用服务层进行分页查询
|
|
|
pageInfo.getList().forEach(entity->{ // 遍历查询结果列表
|
|
|
entity.setUser(userService.detail(entity.getUserId())); // 为每个公告设置对应的用户信息
|
|
|
});
|
|
|
return Result.ok(pageInfo); // 返回包含分页信息的查询结果
|
|
|
}
|
|
|
|
|
|
} |