Browse Source

新版统计

wangzhinan 2 years ago
parent
commit
458e39d194

+ 66 - 5
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -5710,8 +5710,8 @@ public class StatisticsEsService {
        Integer publishLinkTotal = saveModel1!=null?saveModel1.getResult1().intValue():0;
        Integer publishSameTotal = saveModel2!=null?saveModel2.getResult1().intValue():0;
        object.put("publishTotal",publishTotal);//发布量
        object.put("publishLink",getTwoRange(publishTotal,publishLinkTotal,0));//环比
        object.put("publishSame",getTwoRange(publishTotal,publishSameTotal,0));//同比
        object.put("publishLink",getTwoRange(publishTotal-publishLinkTotal,publishLinkTotal,0));//环比
        object.put("publishSame",getTwoRange(publishTotal-publishSameTotal,publishSameTotal,0));//同比
        //收藏量统计
@ -5724,8 +5724,8 @@ public class StatisticsEsService {
        Integer collectLinkTotal = saveModel4!=null?saveModel4.getResult1().intValue():0;
        Integer collectSameTotal = saveModel5!=null?saveModel5.getResult1().intValue():0;
        object.put("collectTotal",collectTotal);//发布量
        object.put("collectLink",getTwoRange(collectTotal,collectLinkTotal,0));//环比
        object.put("collectSame",getTwoRange(collectTotal,collectSameTotal,0));//同比
        object.put("collectLink",getTwoRange(collectTotal-collectLinkTotal,collectLinkTotal,0));//环比
        object.put("collectSame",getTwoRange(collectTotal-collectSameTotal,collectSameTotal,0));//同比
        return object;
    }
@ -5789,6 +5789,18 @@ public class StatisticsEsService {
        return object;
    }
    /**
     * 全院统计
     * @param flag 0自定义 1本月2近半年3本年
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @param level 等级 1 省 2 市 3 区县 4 机构 5团队
     * @param area code  厦门市 350200 code 和level是对应的
     * @param lowLevel
     * @param lowCode
     * @return
     * @throws Exception
     */
    public List<Map<String,Object>> getArticleExcel(Integer flag,String startDate,String endDate,int level, String area, String lowLevel,String lowCode) throws Exception {
        if (flag==1){
            startDate = DateUtil.getFirstMonthDay() +" 00:00:00";
@ -5803,7 +5815,7 @@ public class StatisticsEsService {
        //文章发布数
        List<SaveModel> total = elasticsearchUtil.findListDateQuotaLevel1Empty(startDate, endDate,area,level, "75", SaveModel.timeLevel_ZL, lowLevel,lowCode);//总数
        //发布类型
        List<SaveModel> publishTypeTotal = elasticsearchUtil.findListDateQuotaLevel1Empty(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, lowLevel,lowCode);//发布类型
        List<SaveModel> publishTypeTotal = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL, lowLevel,lowCode);//发布类型
        //文章评论数
        List<SaveModel> pinlunTotal = elasticsearchUtil.findListDateQuotaLevel2Empty(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, lowLevel,lowCode,"1");//评论
        //文章点赞数
@ -5812,4 +5824,53 @@ public class StatisticsEsService {
        List<SaveModel> collectTotal = elasticsearchUtil.findListDateQuotaLevel2Empty(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, lowLevel,lowCode,"3");//收藏
        return getArticleCoutList(level,lowLevel,publishTypeTotal,total,pinlunTotal,dianzangTotal,collectTotal);
    }
    /**
     * 文章类型统计
     *
     * @param flag 0自定义 1本月2近半年3本年
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @param level 等级 1 省 2 市 3 区县 4 机构 5团队
     * @param area code  厦门市 350200 code 和level是对应的
     * @param lowLevel
     * @param lowCode
     * @return
     * @throws Exception
     */
    public JSONObject getArticleTypeCircle(Integer flag,String startDate,String endDate,int level, String area, String lowLevel,String lowCode) throws Exception {
        JSONObject jsonObject = new JSONObject();
        if (flag==1){
            startDate = DateUtil.getFirstMonthDay() +" 00:00:00";
            endDate = DateUtil.getLastMonthDay()+" 23:59:59";
        } else if (flag==2) {
            startDate = DateUtil.getMonthDate(new Date(),-6)+" 00:00:00";
            endDate = DateUtil.getStringDateShort()+" 23:59:59";
        }else if (flag==3){
            startDate = DateUtil.getCurrentYearStartTime()+" 00:00:00";
            endDate = DateUtil.getCurrentYearEndTime() +" 23:59:59";
        }
        //文章发布数
        SaveModel totalMap = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL);//总数
        int total = 0;
        if (totalMap!=null){
        }
        //发布类型
        List<SaveModel> publishTypeTotal = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL, lowLevel,lowCode);//发布类型
        JSONArray array = new JSONArray();
        for (SaveModel saveModel:publishTypeTotal){
            JSONObject object = new JSONObject();
            object.put("code",saveModel.getSlaveKey1());
            object.put("name",saveModel.getSlaveKey1Name());
            object.put("total",saveModel.getResult1());
            object.put("rate",getTwoRange(saveModel.getResult1().intValue(),total, 0));
            array.add(object);
        }
        jsonObject.put("total",total);
        jsonObject.put("list",array);
        return jsonObject;
    }
}

+ 3 - 0
business/es-service/src/main/java/com/yihu/jw/es/util/ElasticsearchUtil.java

@ -2480,6 +2480,9 @@ public class ElasticsearchUtil {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, slaveKey1, null, null,areaLevel);
        if(list==null||list.size()==0){
            return null;
        }
        return (SaveModel) list.get(0);
    }

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -1489,6 +1489,7 @@ public class BaseHospitalRequestMapping {
        public static final String getArticlePublishList="/getArticlePublishList";
        public static final String getArticleOperateDateLine = "/getArticleOperateDateLine";
        public static final String getArticleExcel="/getArticleExcel";
        public static final String getArticleTypeCircle="/getArticleTypeCircle";
    }

+ 28 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java

@ -1074,4 +1074,32 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.getArticleTypeCircle)
    @ApiOperation(value = " 文章类型统计")
    public Envelop getArticleTypeCircle(
            @ApiParam(name = "startDate", value = "开始时间", required = false)
            @RequestParam(value = "startDate",required = false) String startDate,
            @ApiParam(name = "endDate", value = "结束时间", required = false)
            @RequestParam(value = "endDate",required = false) String endDate,
            @ApiParam(name = "area", value = "区域编码 如 level2 area传市编码", required = true)
            @RequestParam(value = "area",required = true) String area,
            @ApiParam(name = "level", value = "2 市  3区  4医院 5、科室 6医生", required = true)
            @RequestParam(value = "level",required = true) int level,
            @ApiParam(name = "flag", value = "0自定义 1本月2近半年3本年", required = true)
            @RequestParam(value = "flag",required = true) Integer flag,
            @ApiParam(name = "lowLevel", value = "下一级区域等级   2 市  3区  4医院 5、科室 6医生", required = false)
            @RequestParam(value = "lowLevel",required = false) String lowLevel,
            @ApiParam(name = "lowCode", value = "", required = false)
            @RequestParam(value = "lowCode",required = false) String lowCode) {
        try {
            return success(statisticsEsService.getArticleTypeCircle(flag,startDate, endDate,level,area,lowLevel,lowCode));
        } catch (Exception e) {
            e.printStackTrace();
            return failedObjEnvelopException(e);
        }
    }
}