jinpengyong
2021-11-12 c85d78a46c7f4287b587d5f71c1d81b52d2e0cad
省内排名和排名详情接口变更,根据regionCode获取数据
3 files modified
46 ■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/AqiController.java 26 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/CityAqiService.java 2 ●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java 18 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/AqiController.java
@@ -3,6 +3,7 @@
import com.moral.api.pojo.dto.dataDisplay.PieChartOfPollutionLevelDTO;
import com.moral.api.pojo.form.aqi.QueryPieChartOfPollutionLevelForm;
import com.moral.api.service.CityAqiDailyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -89,14 +90,14 @@
    }
    /**
    * @Description: 首页右下角,污染天数占比的饼状图
            * @Param: [regionCode]
            * @return: com.moral.constant.ResultMessage
            * @Author: 陈凯裕
            * @Date: 2021/11/11
            */
     * @Description: 首页右下角,污染天数占比的饼状图
     * @Param: [regionCode]
     * @return: com.moral.constant.ResultMessage
     * @Author: 陈凯裕
     * @Date: 2021/11/11
     */
    @GetMapping("queryPieChartOfPollutionLevel")
    public ResultMessage queryPieChartOfPollutionLevel(QueryPieChartOfPollutionLevelForm form){
    public ResultMessage queryPieChartOfPollutionLevel(QueryPieChartOfPollutionLevelForm form) {
        //判断是否缺少参数
        if (!form.valid())
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
@@ -109,19 +110,20 @@
    @GetMapping("provincialRanking")
    @ApiOperation(value = "省内排名", notes = "省内排名")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "organizationId", value = "组织id", required = true, paramType = "query", dataType = "Integer")
            @ApiImplicitParam(name = "regionCode", value = "区号", required = true, paramType = "query", dataType = "Integer")
    })
    public ResultMessage provincialRanking(Integer organizationId) {
        if (ObjectUtils.isEmpty(organizationId)) {
    public ResultMessage provincialRanking(Integer regionCode) {
        if (ObjectUtils.isEmpty(regionCode)) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Map<String, Object> response = cityAqiService.provincialRanking(organizationId);
        Map<String, Object> response = cityAqiService.provincialRanking(regionCode);
        return ResultMessage.ok(response);
    }
    @GetMapping("rankingDetails")
    @ApiOperation(value = "排名详情", notes = "排名详情")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "regionCode", value = "区号", required = true, paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "type", value = "排名类型,今日累计:today,小时:hour,日:day,月:month,年:year,自定义:custom", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time", value = "时间,排名类型为day,month,year是需传此参", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "start", value = "开始时间,排名类型为custom自定义是传此参,精确到日,如:2021-11-02", required = true, paramType = "query", dataType = "String"),
@@ -130,7 +132,7 @@
    })
    public ResultMessage rankingDetails(HttpServletRequest request) {
        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
        if (!params.containsKey("type") || !params.containsKey("cityType")) {
        if (!params.containsKey("type") || !params.containsKey("cityType") || !params.containsKey("regionCode")) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Object type = params.get("type");
screen-api/src/main/java/com/moral/api/service/CityAqiService.java
@@ -29,7 +29,7 @@
    Map<String, Object> queryCityAqiByRegionCode(Integer regionCode);
    //省内排名
    Map<String, Object> provincialRanking(Integer organizationId);
    Map<String, Object> provincialRanking(Integer regionCode);
    /**
     * @Description: 根据地区码查询24小时的aqi
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -223,7 +223,7 @@
    @Override
    public List<Map<String, Object>> rankingDetails(Map<String, Object> params) {
        List<Map<String, Object>> result = new ArrayList<>();
        int orgId = Integer.parseInt(params.get("organizationId").toString());
        int regionCode = Integer.parseInt(params.get("regionCode").toString());
        String type = params.get("type").toString();
        String time = null;
        if (!ObjectUtils.isEmpty(params.get("time"))) {
@@ -237,10 +237,10 @@
        }
        String cityType = params.get("cityType").toString();
        //获取省,市code
        Organization organization = organizationService.getById(orgId);
        Integer curProvinceCode = organization.getProvinceCode();
        Integer curCityCode = organization.getCityCode();
        String s = String.valueOf(regionCode);
        //获取当前省,市code
        Integer curProvinceCode = Integer.parseInt(s.substring(0, 2) + "0000");
        Integer curCityCode = Integer.parseInt(s.substring(0, 4) + "00");
        QueryWrapper<SysArea> areaWrapper = new QueryWrapper<>();
        if ("province".equals(cityType)) {
@@ -826,7 +826,7 @@
    }
    @Override
    public Map<String, Object> provincialRanking(Integer organizationId) {
    public Map<String, Object> provincialRanking(Integer regionCode) {
        //结果集
        Map<String, Object> result = new HashMap<>();
@@ -835,10 +835,10 @@
        Date yesterday = DateUtils.dataToTimeStampTime(DateUtils.getDateOfDay(now, -1), DateUtils.yyyy_MM_dd_EN);
        String dateString = DateUtils.dateToDateString(yesterday, DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
        String s = String.valueOf(regionCode);
        //获取省,市code
        Organization organization = organizationService.getById(organizationId);
        Integer provinceCode = organization.getProvinceCode();
        Integer cityCode = organization.getCityCode();
        Integer provinceCode = Integer.parseInt(s.substring(0, 2) + "0000");
        Integer cityCode = Integer.parseInt(s.substring(0, 4) + "00");
        //获取省内所有city_code
        QueryWrapper<SysArea> wrapper = new QueryWrapper<>();
        wrapper.select("area_code").eq("parent_code", provinceCode);