ParamUtils.java
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.skua.tool.util;
import com.skua.common.constant.BusinessConstant;
import com.skua.core.util.ConvertUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 请求参数工具类
*
* @Author:sonin
* @Date:2025/3/6 15:05
*/
public class ParamUtils {
/**
* 时间范围参数处理
*
* @param startTime
* @param endTime
* @param timeType
* @return
*/
public static List<String> timeRangeParamFunc(String startTime, String endTime, String timeType) {
List<String> timeList = new ArrayList<>(), intervalTimeList;
if ("day".equalsIgnoreCase(timeType)) {
intervalTimeList = DateUtils.intervalByDay(startTime, endTime, BusinessConstant.dateFormat.substring(0, 10));
for (String intervalTime : intervalTimeList) {
timeList.add(intervalTime + BusinessConstant.startTimeSuffix + "~" + intervalTime + BusinessConstant.endTimeSuffix);
}
} else if ("month".equalsIgnoreCase(timeType)) {
intervalTimeList = DateUtils.intervalByMonth(startTime, endTime, BusinessConstant.dateFormat.substring(0, 7));
for (String intervalTime : intervalTimeList) {
String tmpStartTime = intervalTime + "-01" + BusinessConstant.startTimeSuffix;
int days = DateUtils.lengthOfSomeMonth(Integer.parseInt(intervalTime.split("-")[0]), Integer.parseInt(intervalTime.split("-")[1]));
String tmpEndTime = intervalTime + "-" + days + BusinessConstant.endTimeSuffix;
timeList.add(tmpStartTime + "~" + tmpEndTime);
}
} else if ("year".equalsIgnoreCase(timeType)) {
intervalTimeList = DateUtils.intervalByYear(startTime, endTime, BusinessConstant.dateFormat.substring(0, 4));
for (String intervalTime : intervalTimeList) {
String tmpStartTime = intervalTime + "-01-01" + BusinessConstant.startTimeSuffix;
String tmpEndTime = intervalTime + "-12-31" + BusinessConstant.endTimeSuffix;
timeList.add(tmpStartTime + "~" + tmpEndTime);
}
}
return timeList;
}
/**
* 统一保留小数位数
*
* @param paramMap
* @param nPoint
*/
public static void retainDecimalFunc(Map<String, Object> paramMap, int nPoint) {
for (Map.Entry<String, Object> entry : paramMap.entrySet()) {
if (entry.getValue() instanceof List) {
((List) entry.getValue()).forEach(item -> {
if (item instanceof Map) {
retainDecimalFunc((Map<String, Object>) item, nPoint);
} else {
if (DigitalUtils.isNumeric(ConvertUtils.getString(item))) {
paramMap.put(entry.getKey(), DigitalUtils.nPoint(item, nPoint));
}
}
});
} else {
if (DigitalUtils.isNumeric(ConvertUtils.getString(entry.getValue()))) {
paramMap.put(entry.getKey(), DigitalUtils.nPoint(entry.getValue(), nPoint));
}
}
}
}
}