2.16
import org.springframework.web.bind.annotation.*;
import com.example.elderlyassessmentsystem.entity.Elderly;
import com.example.elderlyassessmentsystem.entity.Assessment;
import com.example.elderlyassessmentsystem.service.ElderlyService;
import com.example.elderlyassessmentsystem.service.AssessmentService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
@RestController
@RequestMapping("/elderly")
public class ElderlyController {
@Autowired
private ElderlyService elderlyService;
@Autowired
private AssessmentService assessmentService;
@PostMapping("/register")
public void registerElderly(@RequestBody Elderly elderly) {
elderlyService.saveElderly(elderly);
}
@PostMapping("/{elderlyId}/assess")
public void assessElderly(@PathVariable Long elderlyId, @RequestBody Assessment assessment) {
assessment.setElderly_id(elderlyId);
assessmentService.saveAssessment(assessment);
}
@GetMapping("/assessments")
public List<Assessment> queryAssessments(
@RequestParam(required = false) Long elderlyId,
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate) {
QueryWrapper<Assessment> wrapper = new QueryWrapper<>();
if (elderlyId != null) {
wrapper.eq("elderly_id", elderlyId);
}
if (startDate != null && endDate != null) {
wrapper.between("assessment_date", startDate, endDate);
}
return assessmentService.listAssessmentsByConditions(wrapper);
}
@GetMapping("/assessments/statistics")
public Double getAverageScore() {
return assessmentService.calculateAverageScore();
}
@GetMapping("/assessments/export")
public String exportAssessments() {
return "Exporting assessments...";
}
}