|
@@ -80,10 +80,12 @@ import weixin.popular.util.JsonUtil;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
+import java.time.DayOfWeek;
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
import java.time.LocalTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -1496,17 +1498,36 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
|
|
|
* @param userId 用户ID(企业用户,对应user_type=2)
|
|
* @param userId 用户ID(企业用户,对应user_type=2)
|
|
|
* @return 包含各指标今日数据及较昨日变化的Map
|
|
* @return 包含各指标今日数据及较昨日变化的Map
|
|
|
*/
|
|
*/
|
|
|
- public HashMap<String, Object> userYesterdayData(Long userId) {
|
|
|
|
|
|
|
+ public HashMap<String, Object> userYesterdayData(Long userId,Integer dateType) {
|
|
|
HashMap<String, Object> resultMap = new HashMap<>();
|
|
HashMap<String, Object> resultMap = new HashMap<>();
|
|
|
-
|
|
|
|
|
- // 1. 定义时间范围:今日00:00:00至23:59:59
|
|
|
|
|
- LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
|
|
|
|
|
- LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
|
|
|
|
|
-
|
|
|
|
|
- // 2. 定义昨日时间范围:昨日00:00:00至23:59:59(用于计算较昨日变化)
|
|
|
|
|
- LocalDateTime yesterdayStart = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIN);
|
|
|
|
|
- LocalDateTime yesterdayEnd = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MAX);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ LocalDateTime todayStart;
|
|
|
|
|
+ LocalDateTime todayEnd;
|
|
|
|
|
+ LocalDateTime yesterdayStart;
|
|
|
|
|
+ LocalDateTime yesterdayEnd;
|
|
|
|
|
+ if (dateType==1) {
|
|
|
|
|
+ // 1. 定义时间范围:今日00:00:00至23:59:59
|
|
|
|
|
+ todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
|
|
|
|
|
+ todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
|
|
|
|
|
+
|
|
|
|
|
+ // 2. 定义昨日时间范围:昨日00:00:00至23:59:59(用于计算较昨日变化)
|
|
|
|
|
+ yesterdayStart = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIN);
|
|
|
|
|
+ yesterdayEnd = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MAX);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
|
|
+ // 本周一 00:00:00
|
|
|
|
|
+ LocalDate thisWeekMonday = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
|
|
|
|
|
+ // 本周日 23:59:59
|
|
|
|
|
+ LocalDate thisWeekSunday = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
|
|
|
|
|
+ todayStart = LocalDateTime.of(thisWeekMonday, LocalTime.MIN);
|
|
|
|
|
+ todayEnd = LocalDateTime.of(thisWeekSunday, LocalTime.MAX);
|
|
|
|
|
+
|
|
|
|
|
+ // 上周一 00:00:00
|
|
|
|
|
+ LocalDate lastWeekMonday = thisWeekMonday.minusWeeks(1);
|
|
|
|
|
+ // 上周日 23:59:59
|
|
|
|
|
+ LocalDate lastWeekSunday = thisWeekSunday.minusWeeks(1);
|
|
|
|
|
+ yesterdayStart = LocalDateTime.of(lastWeekMonday, LocalTime.MIN);
|
|
|
|
|
+ yesterdayEnd = LocalDateTime.of(lastWeekSunday, LocalTime.MAX);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 统计各指标今日数据及昨日数据
|
|
// 4. 统计各指标今日数据及昨日数据
|