spring boot签到功能demo
时间: 2023-09-11 08:10:31 浏览: 34
这里是一个简单的 Spring Boot 签到功能的 demo:
首先,我们需要定义一个签到记录实体类:
```java
@Entity
@Table(name = "checkin_record")
public class CheckinRecord {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "user_id")
private Long userId;
@Column(name = "checkin_time")
private LocalDateTime checkinTime;
// getters and setters
}
```
然后,创建一个签到记录的 Repository:
```java
@Repository
public interface CheckinRecordRepository extends JpaRepository<CheckinRecord, Long> {
Optional<CheckinRecord> findByUserIdAndCheckinTime(Long userId, LocalDateTime checkinTime);
}
```
接下来,创建一个签到服务类:
```java
@Service
public class CheckinService {
@Autowired
private CheckinRecordRepository checkinRecordRepository;
public boolean checkin(Long userId) {
LocalDateTime now = LocalDateTime.now();
Optional<CheckinRecord> optionalRecord = checkinRecordRepository.findByUserIdAndCheckinTime(userId, now.toLocalDate().atStartOfDay());
if (optionalRecord.isPresent()) {
return false; // 今天已经签到过了
}
CheckinRecord record = new CheckinRecord();
record.setUserId(userId);
record.setCheckinTime(now);
checkinRecordRepository.save(record);
return true;
}
}
```
最后,创建一个签到的 Controller:
```java
@RestController
@RequestMapping("/checkin")
public class CheckinController {
@Autowired
private CheckinService checkinService;
@PostMapping("/do")
public boolean checkin(@RequestParam Long userId) {
return checkinService.checkin(userId);
}
}
```
这样,我们就完成了一个简单的 Spring Boot 签到功能的 demo。