Javaweb宿舍管理系统销假代码
时间: 2024-10-24 09:15:43 浏览: 13
JavaWeb宿舍管理系统中的销假功能通常涉及到用户权限管理、数据验证和数据库操作。这里是一个简单的例子,展示如何处理学生销假的操作:
```java
// 假设我们有一个User实体类,包含状态如isOnLeave和请假开始日期endDate
public class User {
private String id;
private boolean isOnLeave;
private Date endDate;
// getters and setters...
}
// 控制器层(Controller)处理销假请求
@Controller
@RequestMapping("/leave")
public class LeaveController {
@Autowired
private UserService userService; // 假设UserService负责用户数据的CRUD操作
@PostMapping("/cancel")
public ResponseEntity<?> cancelLeave(@RequestParam("studentId") String studentId) {
User user = userService.getUserById(studentId); // 通过id获取用户信息
if (user.isOnLeave && !user.getEndDate().after(new Date())) { // 验证是否有效请假且未过期
try {
user.setOnLeave(false); // 设置销假
userService.updateUser(user); // 更新数据库
return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
}
} else {
return new ResponseEntity<>("Invalid leave status or request", HttpStatus.BAD_REQUEST);
}
}
}
// 服务层(Service)接口和其实现
@Service
public interface UserService {
User getUserById(String id);
void updateUser(User user);
}
```
在这个例子中,`cancelLeave`方法首先从数据库中获取指定ID的学生信息,然后检查当前用户是否在请假且请假尚未结束。如果条件满足,就将用户的状态设置为非请假,并更新数据库。如果不满足条件,则返回错误消息。
阅读全文