Compare commits

...

2 Commits

Author SHA1 Message Date
638a1a9186 feat:删除日志 2026-03-15 23:12:54 +08:00
1a4b1a8639 feat:更新计算睡眠时长 2026-03-15 23:12:26 +08:00
3 changed files with 8 additions and 16 deletions

View File

@@ -10,6 +10,7 @@ import lombok.Setter;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
@Getter @Getter
@Setter @Setter
@@ -29,12 +30,12 @@ public class HealthRecordDto {
private Double weight; private Double weight;
@Schema(description = "睡眠开始时间") @Schema(description = "睡眠开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
private LocalDateTime sleepStartTime; private LocalTime sleepStartTime;
@Schema(description = "睡眠结束时间") @Schema(description = "睡眠结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
private LocalDateTime sleepEndTime; private LocalTime sleepEndTime;
@Schema(description = "睡眠时长") @Schema(description = "睡眠时长")
private Double sleepDuration; private Double sleepDuration;

View File

@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -23,10 +24,10 @@ public class HealthRecord extends AbstractEntity {
private Double weight; private Double weight;
@TableField("sleep_start_time") @TableField("sleep_start_time")
private LocalDateTime sleepStartTime; private LocalTime sleepStartTime;
@TableField("sleep_end_time") @TableField("sleep_end_time")
private LocalDateTime sleepEndTime; private LocalTime sleepEndTime;
@TableField("sleep_duration") @TableField("sleep_duration")
private Double sleepDuration; private Double sleepDuration;

View File

@@ -40,7 +40,6 @@ public class HealthServiceImpl implements HealthService {
@Override @Override
public Boolean update(Long id, HealthRecordDto dto) { public Boolean update(Long id, HealthRecordDto dto) {
if (id == 0) { if (id == 0) {
setSleepDuration(dto);
return healthRecordMapper.insert(healthConverter.toEntity(dto)) == 1; return healthRecordMapper.insert(healthConverter.toEntity(dto)) == 1;
} else { } else {
if ((dto.getSportProject() == null || dto.getSportProject().isEmpty()) if ((dto.getSportProject() == null || dto.getSportProject().isEmpty())
@@ -48,19 +47,10 @@ public class HealthServiceImpl implements HealthService {
&& dto.getSportDuration() == 0 && dto.getWeight() == 0) { && dto.getSportDuration() == 0 && dto.getWeight() == 0) {
return healthRecordMapper.deleteById(id) == 1; return healthRecordMapper.deleteById(id) == 1;
} else { } else {
setSleepDuration(dto);
HealthRecord healthRecord = healthConverter.toEntity(dto); HealthRecord healthRecord = healthConverter.toEntity(dto);
healthRecord.setId(id); healthRecord.setId(id);
return healthRecordMapper.updateById(healthRecord) == 1; return healthRecordMapper.updateById(healthRecord) == 1;
} }
} }
} }
private void setSleepDuration(HealthRecordDto dto) {
LocalDateTime startTime = dto.getSleepStartTime();
LocalDateTime endTime = dto.getSleepEndTime();
if (startTime != null && endTime != null) {
dto.setSleepDuration(Duration.between(startTime, endTime).toMinutes() / 60.0);
}
}
} }