|
|
@@ -21,6 +21,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Collection;
|
|
|
@@ -123,6 +126,9 @@ public class PlayersItemsLogServiceImpl implements IPlayersItemsLogService {
|
|
|
lqw.le(PlayersItemsLog::getCreatedAt, bo.getEndTime());
|
|
|
}
|
|
|
|
|
|
+ if(StringUtils.isNotBlank(bo.getFlagType())){
|
|
|
+ lqw.eq(PlayersItemsLog::getType, 1);
|
|
|
+ }
|
|
|
return lqw;
|
|
|
}
|
|
|
|
|
|
@@ -186,6 +192,28 @@ public class PlayersItemsLogServiceImpl implements IPlayersItemsLogService {
|
|
|
if(StringUtils.isNotBlank(flagType) && (flagType.equals("day") || flagType.equals("week") || flagType.equals("month") || flagType.equals("three"))){
|
|
|
startDate = DateTimeRangeUtils.getStartString(flagType);
|
|
|
endDate = DateTimeRangeUtils.getEndString(flagType);
|
|
|
+
|
|
|
+ // 如果同时传入了自定义时间,则检查是否在flagType范围内
|
|
|
+ String customStartDate = bo.getStartTime();
|
|
|
+ String customEndDate = bo.getEndTime();
|
|
|
+
|
|
|
+ // 如果自定义时间在flagType范围内,则使用自定义时间
|
|
|
+ if (StringUtils.isNotBlank(customStartDate) && StringUtils.isNotBlank(customEndDate)) {
|
|
|
+ // 解析时间字符串
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDateTime customStart = LocalDateTime.parse(customStartDate, formatter);
|
|
|
+ LocalDateTime customEnd = LocalDateTime.parse(customEndDate, formatter);
|
|
|
+ LocalDateTime flagStart = LocalDateTime.parse(startDate, formatter);
|
|
|
+ LocalDateTime flagEnd = LocalDateTime.parse(endDate, formatter);
|
|
|
+
|
|
|
+ // 验证自定义时间是否在flagType范围内
|
|
|
+ if (!customStart.isBefore(flagStart) && !customEnd.isAfter(flagEnd) && !customStart.isAfter(customEnd)) {
|
|
|
+ // 自定义时间在有效范围内,使用自定义时间
|
|
|
+ startDate = customStartDate;
|
|
|
+ endDate = customEndDate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
startDate = bo.getStartTime();
|
|
|
endDate = bo.getEndTime();
|