springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/acid/ComActAcidColorChartsVO.java
New file @@ -0,0 +1,23 @@ package com.panzhihua.common.model.vos.community.acid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author yh */ @Data @ApiModel() public class ComActAcidColorChartsVO { @ApiModelProperty("数量") private Integer countNum; @ApiModelProperty("类型名称") private String countName; @ApiModelProperty("健康码颜色") private String colorMark; @ApiModelProperty("百分比") private BigDecimal percent = BigDecimal.ZERO; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopFlowerGoodsVO.java
@@ -68,7 +68,7 @@ private String goodsDescribe; @ApiModelProperty("配送方式(1.自提 2.快递)") private Integer deliveryType; private String deliveryType; @ApiModelProperty("删除状态(1.未删除 2.已删除)") private Integer deleteStatus; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActAcidRecordDao.java
@@ -130,4 +130,17 @@ * @return */ void batchCheck(@Param("batchCheckAcidRecordDTO") BatchCheckAcidRecordDTO batchCheckAcidRecordDTO); /** * 统计所有红 黄 绿码 * @return */ List<ComActAcidColorChartsVO> selectColorMarkGroup(); /** * 按月份统计红 黄 绿码 数量 * @return */ List<ComActAcidColorChartsVO> selectColorMarkGroupByMonth(); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
@@ -29,9 +29,9 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty; import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNull; @@ -609,4 +609,34 @@ } return 3; } /** * 统计红黄绿码 * @return */ public R selectColorMarkGroup(){ //所有 List<ComActAcidColorChartsVO> comActAcidColorChartsVOS = this.baseMapper.selectColorMarkGroup(); int all = comActAcidColorChartsVOS.stream().mapToInt(ComActAcidColorChartsVO::getCountNum).sum(); for (ComActAcidColorChartsVO comActAcidColorChartsVO : comActAcidColorChartsVOS) { if (0!=all){ BigDecimal countNum = new BigDecimal(comActAcidColorChartsVO.getCountNum()); BigDecimal allDecimal = new BigDecimal(all); BigDecimal percent = countNum.divide(allDecimal,2, BigDecimal.ROUND_HALF_DOWN); comActAcidColorChartsVO.setPercent(percent); } } Map<String, ComActAcidColorChartsVO> circleMap = comActAcidColorChartsVOS.stream().collect(Collectors.toMap(ComActAcidColorChartsVO::getCountName, Function.identity())); //月份 List<ComActAcidColorChartsVO> comActAcidColorChartsVOS1 = this.baseMapper.selectColorMarkGroupByMonth(); Map<String, List<ComActAcidColorChartsVO>> colorMap = comActAcidColorChartsVOS1.stream().collect(Collectors.groupingBy(ComActAcidColorChartsVO::getColorMark)); Map<String,Object> retMap = new HashMap<>(); retMap.put("circleMap",circleMap); return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActAcidRecordMapper.xml
@@ -434,4 +434,14 @@ GROUP BY status </select> <select id="selectColorMarkGroup" resultType="com.panzhihua.common.model.vos.community.acid.ComActAcidColorChartsVO"> SELECT count(1) count_num,color_mark FROM `com_act_acid_record` GROUP BY color_mark </select> <select id="selectColorMarkGroupByMonth" resultType="com.panzhihua.common.model.vos.community.acid.ComActAcidColorChartsVO"> SELECT COUNT(1) count_num,date_format(create_time,'%Y-%m') as count_name,color_mark FROM `com_act_acid_record` WHERE date_format(create_time,'%Y-%m') >= date_format(date_sub(now(), INTERVAL 5 MONTH),'%Y-%m') GROUP BY count_name,color_mark </select> </mapper>