xufenglei
2018-08-28 ace40d29ff8065ea801c57d249400caf27ece585
接口 优化
3 files modified
14 ■■■■ changed files
src/main/java/com/moral/common/util/ParameterUtils.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/HistoryMinutelyMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/com/moral/common/util/ParameterUtils.java
@@ -47,6 +47,7 @@
    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");
@@ -65,12 +66,14 @@
                parameters.put("typeFormat", "%Y-%m-%d %H");
                parameters.put("timeLength", 24);
                parameters.put("field", Calendar.DATE);
                parameters.put("timeUnits", "minutely");
                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;
            }
        }
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -37,6 +37,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.moral.common.util.CalculateUtils;
import com.moral.common.util.ParameterUtils;
import com.moral.common.util.ReportTimeFormat;
import com.moral.common.util.ResourceUtil;
import com.moral.common.util.ValidateUtil;
@@ -139,7 +140,8 @@
        List<Map<String, Object>> list = JSON.parseObject((String)parameters.remove("items"), new TypeReference<List<Map<String, Object>>>() {});
        
        String type = (String) parameters.get("type");
        parameters.putAll(getElementByType(type));
        // parameters.putAll(getElementByType(type));
        ParameterUtils.getElementByType(parameters);
        Integer timeLength = Integer.valueOf(parameters.remove("timeLength").toString());
        if ("month".equals(type)) {
            for (Map<String, Object> map : list) {
@@ -315,9 +317,10 @@
    @Override
    public void convertQueryParam(Map<String, Object> parameters) throws ParseException {
        String type = (String) parameters.get("type");
        if (!parameters.containsKey("field")) {
            parameters.putAll(getElementByType(type));
            // String type = (String) parameters.get("type");
            // parameters.putAll(getElementByType(type));
            ParameterUtils.getElementByType(parameters);
        }
        String time = (String) parameters.get("time");
        String format = (String) parameters.get("format");
src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -38,7 +38,7 @@
                AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
            </foreach>
        FROM
            history_minutely h
            history_${timeUnits} h
        WHERE
            h.time >= #{start}
        AND h.time <![CDATA[<]]> #{end}