时间段

This commit is contained in:
qjq
2024-04-01 15:34:21 +08:00
parent 02d3b47a9d
commit 12833c1b9f

View File

@ -0,0 +1,67 @@
package cn.iocoder.yudao.module.member.enums;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.map.MapUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
/**
* @Author:qjq 订单管理 时间段 时间枚举
* @Date:2024/4/1 10:54
*/
@AllArgsConstructor
@Getter
public enum TimePeriodEnum {
/**
* 早上时间段
*/
MORNING("05:00:00","10:59:59","2",5,10),
/**
* 中午时间段
*/
MIDDAY("11:00:00","15:59:59","3",11,15),
/**
* 晚上时间段
*/
NIGHT("16:00:00","23:59:59","4",16,23);
private final String startTime;
private final String endTime;
private final String code;
private final Integer startInt;
private final Integer endInt;
public LocalDateTime getStart(){
LocalDateTime now = LocalDateTimeUtil.now();
String format = LocalDateTimeUtil.format(now, DatePattern.NORM_DATE_PATTERN);
format+="T"+startTime;
return LocalDateTimeUtil.parse(format);
}
public LocalDateTime getEnd(){
LocalDateTime now = LocalDateTimeUtil.now();
String format = LocalDateTimeUtil.format(now, DatePattern.NORM_DATE_PATTERN);
format+="T"+endTime;
return LocalDateTimeUtil.parse(format);
}
public Map<String,LocalDateTime> getStartToEnd(){
LocalDateTime start = this.getStart();
LocalDateTime end = this.getEnd();
return MapUtil.builder(new HashMap<String,LocalDateTime>())
.put("start", start)
.put("end", end).build();
}
public String getTimePeriod(LocalDateTime localDateTime){
int hour = localDateTime.getHour();
if(TimePeriodEnum.MORNING.startInt<=hour && hour<=TimePeriodEnum.MORNING.endInt){
return CostTypeEnum.MORNING.getName();
} else if (TimePeriodEnum.MIDDAY.startInt<=hour && hour<=TimePeriodEnum.MIDDAY.endInt){
return CostTypeEnum.NOON.getName();
}else{
return CostTypeEnum.NIGHT.getName();
}
}
}