Compare commits
2 Commits
1b56f33a02
...
638a1a9186
| Author | SHA1 | Date | |
|---|---|---|---|
| 638a1a9186 | |||
| 1a4b1a8639 |
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user