|
|
package com.yanzhen.controller;
|
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.yanzhen.entity.Student;
|
|
|
import com.yanzhen.entity.Visit;
|
|
|
import com.yanzhen.service.StudentService学生管理;
|
|
|
import com.yanzhen.service.VisitService来访管理;
|
|
|
import com.yanzhen.utils.Result;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
|
|
|
@RequestMapping("/visit") // 设置请求的根路径为 "/visit",所有方法的请求路径都会以 "/visit" 开头。
|
|
|
public class VisitController { // 定义一个名为 VisitController 的类,用于处理与访问相关的请求。
|
|
|
|
|
|
@Autowired // 自动注入 VisitService 对象,用于处理访问数据的业务逻辑。
|
|
|
private VisitService来访管理 visitService;
|
|
|
@Autowired // 自动注入 StudentService 对象,用于处理学生数据的业务逻辑。
|
|
|
private StudentService学生管理 studentService;
|
|
|
|
|
|
@PostMapping("create") // 映射 HTTP POST 请求到 create 方法,用于创建新的访问记录。
|
|
|
public Result create(@RequestBody Visit visit){ // 从请求体中获取 Visit 对象。
|
|
|
int flag = visitService.create(visit); // 调用 VisitService 的 create 方法保存访问记录,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("delete") // 映射 HTTP GET 请求到 delete 方法,用于删除访问记录。
|
|
|
public Result delete(String ids){ // 从请求参数中获取要删除的记录的 ID 字符串。
|
|
|
int flag = visitService.delete(ids); // 调用 VisitService 的 delete 方法删除指定 ID 的记录,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@PostMapping("update") // 映射 HTTP POST 请求到 update 方法,用于更新访问记录。
|
|
|
public Result update(@RequestBody Visit visit){ // 从请求体中获取 Visit 对象。
|
|
|
int flag = visitService.updateSelective(visit); // 调用 VisitService 的 updateSelective 方法更新访问记录,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("detail") // 映射 HTTP GET 请求到 detail 方法,用于获取访问记录的详细信息。
|
|
|
public Visit detail(Integer id){ // 从请求参数中获取访问记录的 ID。
|
|
|
return visitService.detail(id); // 调用 VisitService 的 detail 方法获取指定 ID 的访问记录,并返回该记录。
|
|
|
}
|
|
|
|
|
|
@PostMapping("query") // 映射 HTTP POST 请求到 query 方法,用于查询访问记录。
|
|
|
public Map<String,Object> query(@RequestBody Visit visit){ // 从请求体中获取 Visit 对象作为查询条件。
|
|
|
PageInfo<Visit> pageInfo = visitService.query(visit); // 调用 VisitService 的 query 方法查询符合条件的访问记录,并返回分页信息。
|
|
|
pageInfo.getList().forEach(entity->{ // 遍历查询结果中的每条记录。
|
|
|
Student detail = studentService.detail(entity.getStudentId()); // 根据学生 ID 获取学生的详细信息。
|
|
|
entity.setStudent(detail); // 将学生详细信息设置到访问记录中。
|
|
|
});
|
|
|
return Result.ok(pageInfo); // 返回包含分页信息的成功的 Result 对象。
|
|
|
}
|
|
|
|
|
|
} |