From 86a0feaf0f3277a78e68e4ebfda4ee1b92959b49 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Tue, 04 Sep 2018 09:55:13 +0800 Subject: [PATCH] 优良天数 --- src/main/java/com/moral/service/QualityDailyService.java | 9 ++++ src/main/java/com/moral/mapper/QualityDailyMapper.java | 9 ++++ src/main/resources/mapper/QualityDailyMapper.xml | 16 ++++++++ src/main/java/com/moral/controller/ScreenController.java | 9 ++-- src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java | 45 ++++++++++++++++++++++ 5 files changed, 84 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 91f21b1..87ca7e3 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -110,6 +110,9 @@ @Resource private WeatherService weatherService; + @Resource + private QualityDailyService qualityDailyService; + /** * Screen login. ������������ * @@ -720,7 +723,7 @@ @ApiImplicitParams(value = { @ApiImplicitParam(name = "accountId",defaultValue = "1", value = "���������������id", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "sensorKey",defaultValue = "e1,e2,e3", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "time",defaultValue = "", value = "������(long���������������)", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time",defaultValue = "", value = "������(long������������)", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "interval",defaultValue = "30", value = "���������������������", required = true, paramType = "query", dataType = "Integer"), }) public ResultBean<Map<String, Object>> getActualDataByRegion(HttpServletRequest request) throws Exception { @@ -736,9 +739,7 @@ }) public ResultBean<Map<String, Object>> getQualityCountDayByRegion(HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); - //Map<String, Object> map = hangzhouAqiService.getQualityCountDayByRegion(parameters); - Map<String, Object> map = new HashMap<String, Object>(); - map.put("count", 136); + Map<String, Object> map = qualityDailyService.getQualityCountDayByRegion(parameters); return new ResultBean<Map<String, Object>>(map); } } diff --git a/src/main/java/com/moral/mapper/QualityDailyMapper.java b/src/main/java/com/moral/mapper/QualityDailyMapper.java new file mode 100644 index 0000000..db38038 --- /dev/null +++ b/src/main/java/com/moral/mapper/QualityDailyMapper.java @@ -0,0 +1,9 @@ +package com.moral.mapper; + +import java.util.Map; + +public interface QualityDailyMapper { + + Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters); + +} \ No newline at end of file diff --git a/src/main/java/com/moral/service/QualityDailyService.java b/src/main/java/com/moral/service/QualityDailyService.java new file mode 100644 index 0000000..ce4b3b1 --- /dev/null +++ b/src/main/java/com/moral/service/QualityDailyService.java @@ -0,0 +1,9 @@ +package com.moral.service; + +import java.util.Map; + +public interface QualityDailyService { + + Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters); + +} diff --git a/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java b/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java new file mode 100644 index 0000000..bf94642 --- /dev/null +++ b/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java @@ -0,0 +1,45 @@ +package com.moral.service.impl; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalAdjusters; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import com.moral.entity.Organization; +import com.moral.mapper.OrganizationMapper; +import com.moral.mapper.QualityDailyMapper; +import com.moral.service.QualityDailyService; + +@Service +public class QualityDailyServiceImpl implements QualityDailyService { + + @Resource + private QualityDailyMapper qualityDailyMapper; + + @Resource + private OrganizationMapper organizationMapper; + + @Override + public Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters) { + LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.DAYS); + parameters.put("start", localDateTime.with(TemporalAdjusters.firstDayOfYear())); + parameters.put("end", localDateTime.with(TemporalAdjusters.firstDayOfNextYear())); + Organization organization = organizationMapper.selectByPrimaryKey(Integer.valueOf(parameters.get("organizationId").toString())); + Map<String, Object> resultMap = null; + if (!ObjectUtils.isEmpty(organization.getAreaCode())) { + parameters.put("cityCode", organization.getAreaCode()); + resultMap = qualityDailyMapper.getQualityCountDayByRegion(parameters); + } + if (ObjectUtils.isEmpty(resultMap) || "0".equals(resultMap.get("count").toString())) { + parameters.put("cityCode", organization.getCityCode()); + resultMap = qualityDailyMapper.getQualityCountDayByRegion(parameters); + } + return resultMap; + } + +} diff --git a/src/main/resources/mapper/QualityDailyMapper.xml b/src/main/resources/mapper/QualityDailyMapper.xml new file mode 100644 index 0000000..0e17f92 --- /dev/null +++ b/src/main/resources/mapper/QualityDailyMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.mapper.QualityDailyMapper"> + <select id="getQualityCountDayByRegion" resultType="map"> + SELECT + COUNT( * ) count + FROM + quality_daily + <where> + time >= #{start} + AND time < #{end} + AND city_code = #{cityCode} + AND quality < 3 + </where> + </select> +</mapper> \ No newline at end of file -- Gitblit v1.8.0