package com.moral.common.util;
|
|
import java.text.ParseException;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.Map;
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
public class ParameterUtils {
|
|
public static void getTimeType4Time(Map<String, Object> parameters) {
|
if (parameters.containsKey("time")) {
|
int length = ((String) parameters.get("time")).split("-").length;
|
if (length == 2) {
|
parameters.put("type", "month");
|
} else if (length == 3) {
|
parameters.put("type", "day");
|
} else if (length == 1) {
|
parameters.put("type", "year");
|
}
|
}
|
}
|
|
public static void getRegionType4RegionCode(Map<String, Object> parameters) {
|
String regionType = "village";
|
String nextLevel = "";
|
if (parameters.containsKey("regionCode")) {
|
String regionCode = parameters.get("regionCode").toString();
|
if (regionCode.length() == 6) {
|
if (regionCode.endsWith("0000")) {
|
regionType = "province";
|
nextLevel = "city";
|
} else if (regionCode.endsWith("00")) {
|
regionType = "city";
|
nextLevel = "area";
|
} else {
|
regionType = "area";
|
nextLevel = "town";
|
}
|
} else if (regionCode.length() == 12) {
|
if (regionCode.endsWith("000")) {
|
regionType = "town";
|
nextLevel = "village";
|
}
|
}
|
}
|
parameters.put("regionType", regionType);
|
parameters.put("nextLevel", nextLevel);
|
}
|
|
public static void getElementByType(Map<String, Object> parameters){
|
if (parameters.containsKey("type")) {
|
parameters.put("timeUnits", "daily");
|
switch (parameters.get("type").toString()) {
|
case "year":
|
parameters.put("format", "yyyy");
|
parameters.put("typeFormat", "%Y-%m");
|
parameters.put("timeLength", 12);
|
parameters.put("field", Calendar.YEAR);
|
break;
|
case "month":
|
parameters.put("format", "yyyy-MM");
|
parameters.put("typeFormat", "%Y-%m-%d");
|
parameters.put("timeLength", 28);
|
parameters.put("field", Calendar.MONTH);
|
break;
|
case "day":
|
parameters.put("format", "yyyy-MM-dd");
|
parameters.put("typeFormat", "%Y-%m-%d %H");
|
parameters.put("timeLength", 24);
|
parameters.put("field", Calendar.DATE);
|
parameters.put("timeUnits", "hourly");
|
break;
|
case "hour":
|
parameters.put("format", "yyyy-MM-dd HH");
|
parameters.put("typeFormat", "%Y-%m-%d %H:%i");
|
parameters.put("timeLength", 60);
|
parameters.put("field", Calendar.HOUR);
|
parameters.put("timeUnits", "minutely");
|
break;
|
}
|
}
|
}
|
|
public static void getStartAndEndByTime(Map<String, Object> parameters) throws ParseException {
|
String time = (String) parameters.get("time");
|
String format = (String) parameters.get("format");
|
Integer field = Integer.valueOf(parameters.get("field").toString());
|
Date start = DateUtils.parseDate(time, format);
|
|
Calendar instance = Calendar.getInstance();
|
instance.setTime(start);
|
instance.add(field, 1);
|
Date end = instance.getTime();
|
|
parameters.put("start", start);
|
parameters.put("end", end);
|
}
|
|
}
|