fengxiang
2018-09-05 86916a5b7c8ed98221c03e440a9aad0f38109263
Merge remote-tracking branch 'origin/master'
4 files added
1 files modified
95 ■■■■■ changed files
src/main/java/com/moral/controller/ScreenController.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/mapper/QualityDailyMapper.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/QualityDailyService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java 45 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/QualityDailyMapper.xml 16 ●●●●● patch | view | raw | blame | history
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 {
@@ -728,4 +731,15 @@
        Map<String, Object> map = historyService.getActualDataByRegion(parameters);
        return new ResultBean<Map<String, Object>>(map);
    }
    @GetMapping("quality")
    @ApiOperation(value = "获取优良天数", notes = "获取优良天数")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "organizationId",defaultValue = "5", value = "登录账号的组织id", required = true, paramType = "query", dataType = "String")
    })
    public ResultBean<Map<String, Object>> getQualityCountDayByRegion(HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = getParametersStartingWith(request, null);
        Map<String, Object> map = qualityDailyService.getQualityCountDayByRegion(parameters);
        return new ResultBean<Map<String, Object>>(map);
    }
}
src/main/java/com/moral/mapper/QualityDailyMapper.java
New file
@@ -0,0 +1,9 @@
package com.moral.mapper;
import java.util.Map;
public interface QualityDailyMapper {
    Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters);
}
src/main/java/com/moral/service/QualityDailyService.java
New file
@@ -0,0 +1,9 @@
package com.moral.service;
import java.util.Map;
public interface QualityDailyService {
    Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters);
}
src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java
New file
@@ -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;
    }
}
src/main/resources/mapper/QualityDailyMapper.xml
New file
@@ -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 &lt; #{end}
            AND city_code = #{cityCode}
            AND quality &lt; 3
        </where>
    </select>
</mapper>