// UserService.java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public boolean validateUser(String username, String password) {
User user = userRepository.findByUsername(username);
return user != null && user.getPassword().equals(password);
}
}
2. 校友信息管理功能
校友信息管理功能主要包括添加、修改、删除和查询校友信息。
// AlumniController.java
@RestController
@RequestMapping("/api/alumni")
public class AlumniController {
@Autowired
private AlumniService alumniService;
@GetMapping("/{id}")
public ResponseEntity getAlumniById(@PathVariable Long id) {
Alumni alumni = alumniService.getAlumniById(id);
return ResponseEntity.ok(alumni);
}
@PostMapping("/")
public ResponseEntity createAlumni(@RequestBody Alumni alumni) {
Alumni savedAlumni = alumniService.saveAlumni(alumni);
return ResponseEntity.status(HttpStatus.CREATED).body(savedAlumni);
}
@PutMapping("/{id}")
public ResponseEntity updateAlumni(@PathVariable Long id, @RequestBody Alumni alumni) {
Alumni updatedAlumni = alumniService.updateAlumni(id, alumni);
return ResponseEntity.ok(updatedAlumni);
}
@DeleteMapping("/{id}")
public ResponseEntity deleteAlumni(@PathVariable Long id) {
alumniService.deleteAlumni(id);
return ResponseEntity.noContent().build();
}
}
// AlumniService.java
@Service
public class AlumniService {
@Autowired
private AlumniRepository alumniRepository;
public Alumni getAlumniById(Long id) {
return alumniRepository.findById(id).orElse(null);
}
public Alumni saveAlumni(Alumni alumni) {
return alumniRepository.save(alumni);
}
public Alumni updateAlumni(Long id, Alumni alumni) {
Alumni existingAlumni = alumniRepository.findById(id).orElse(null);
if (existingAlumni == null) {
return null;
}
existingAlumni.setName(alumni.getName());
existingAlumni.setMajor(alumni.getMajor());
existingAlumni.setGraduationYear(alumni.getGraduationYear());
return alumniRepository.save(existingAlumni);
}
public void deleteAlumni(Long id) {
alumniRepository.deleteById(id);
}
}
3. 数据统计功能
数据统计功能用于分析校友的分布情况、就业状况等,为学校决策提供数据支持。
// StatisticsService.java
@Service
public class StatisticsService {
@Autowired
private AlumniRepository alumniRepository;
public Map getGraduationYearDistribution() {
List
// AlumniRepository.java
public interface AlumniRepository extends JpaRepository {
@Query("SELECT a.graduationYear, COUNT(a) FROM Alumni a GROUP BY a.graduationYear")
List findGraduationYearCount();
@Query("SELECT a.major, COUNT(a) FROM Alumni a GROUP BY a.major")
List findMajorCount();
}