You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 对象。
}
}