于紫祥_1901
2020-10-26 28f0818ba47d9d3f0f3c187356fa89cba2db748a
src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java
@@ -18,6 +18,7 @@
import com.moral.mapper.HangzhouAqiMapper;
import com.moral.mapper.OrganizationMapper;
import com.moral.service.HangzhouAqiService;
import com.moral.service.HistoryMinutelyService;
/**
 * @Auther: fengxiang
@@ -30,6 +31,9 @@
  private OrganizationMapper organizationMapper;
  @Resource
  private HangzhouAqiMapper hangzhouAqiMapper;
  @Resource
  private HistoryMinutelyService historyMinutelyService;
  public List<Map> queryAqiOfTimePeriod(String code, TimePeriod timePeriod) {
    return hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code, timePeriod);
@@ -109,4 +113,57 @@
  public Integer queryCityCode(Integer areaCode) {
    return  hangzhouAqiMapper.queryCityCode(areaCode);
  }
  @Override
  public List<Map<String, Object>> getAreaAvgDataByAreaCode(Map<String, Object> parameters) throws Exception {
    historyMinutelyService.convertQueryParam(parameters);
    if (!ObjectUtils.isEmpty(parameters.get("compensate"))) {
      parameters.put("timeUnits", "10min");
    }
    String sensors2 = parameters.get("sensors2").toString();
    String sensors1 = sensors2;
    String sensors="";
    switch (sensors2) {
      case "e1":
        sensors1 = "PM2_5";
        sensors="PM25C";
        break;
      case "e2":
        sensors1 = "PM10";
        sensors="PM10C";
        break;
      case "e10":
        sensors1 = "CO";
        sensors="COC";
        break;
      case "e11":
        sensors1 = "SO2";
        sensors="SO2C";
        break;
      case "e15":
        sensors1 = "O3";
        sensors="O3C";
        break;
      case "e16":
        sensors1 = "NO2";
        sensors="NO2C";
        break;
      default:
        break;
    }
    parameters.put("sensors1", sensors1);
    parameters.put("sensors",sensors);
    List<Map<String, Object>> areaList = hangzhouAqiMapper.getAreaAvgDataByAreaCode(parameters);
    if (areaList.isEmpty()) {
      Integer areaCode = Integer.valueOf(parameters.get("areaCode").toString());
      areaCode = hangzhouAqiMapper.queryCityCode(areaCode);
      parameters.put("areaCode", String.valueOf(areaCode));
      areaList = hangzhouAqiMapper.getAreaAvgDataByAreaCode(parameters);
    }
    return areaList;
  }
}