diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java index 3426a0720..a901d838f 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/SaleDataApi.java @@ -79,6 +79,12 @@ public class SaleDataApi { return saleDataService.findBySaleMethod(); } + @GetMapping("/itemType") + @Operation(summary = "查询各个产品类型的购票人数") + public List> findByItemType() { + return saleDataService.findByDoItemType(); + } + @GetMapping("/wuyi/{x}") @Operation(summary = "查询最近前几年当年的五一期间的数据") public List> findByWuyi(@PathVariable("x") int x) { diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/SaleDataItemTypeVo.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/SaleDataItemTypeVo.java new file mode 100644 index 000000000..aa1e904b5 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/saledata/vo/SaleDataItemTypeVo.java @@ -0,0 +1,9 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo; + +import lombok.Data; + +@Data +public class SaleDataItemTypeVo { +// private String itemtype; + private String itemtypename; +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataRepository.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataRepository.java index 7be78301c..19f421667 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataRepository.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/dal/mongodb/saledata/SaleDataRepository.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.datacenter.dal.mongodb.saledata; import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.AgeVo; import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.AggregationVO; +import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.SaleDataItemTypeVo; import cn.iocoder.yudao.module.datacenter.dal.dataobject.saledata.SaleData; import org.springframework.data.mongodb.repository.Aggregation; import org.springframework.data.mongodb.repository.MongoRepository; @@ -41,4 +42,7 @@ public interface SaleDataRepository extends MongoRepository { }) AgeVo findByAge(); + @Query(value = "{}", fields = "{ 'itemtypename': 1 }") + List findAllByItemtypename(); + } diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java index 224560916..a05bfa5e4 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataService.java @@ -65,6 +65,12 @@ public interface SaleDataService { */ public List> findBySaleMethod(); + /** + * 查询各个产品类型的购票人数 + * @return + */ + public List> findByDoItemType(); + /** * 查询最近前x年五一期间的数据 * @param x 前几年 diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java index 5879730a7..c04d16a65 100644 --- a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/saledata/SaleDataServiceImpl.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.ticket.IdCardUtil; import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.AgeVo; import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.AggregationVO; +import cn.iocoder.yudao.module.datacenter.controller.app.saledata.vo.SaleDataItemTypeVo; import cn.iocoder.yudao.module.datacenter.dal.dataobject.saledata.SaleData; import cn.iocoder.yudao.module.datacenter.dal.mongodb.saledata.SaleDataRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -17,6 +18,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; /** @@ -210,6 +212,23 @@ public class SaleDataServiceImpl implements SaleDataService { return mapList; } + @Override + public List> findByDoItemType() { + List list = saleDataRepository.findAllByItemtypename(); + Map countMap = list.stream() + .collect(Collectors.groupingBy(SaleDataItemTypeVo::getItemtypename, Collectors.counting())); + List> mapArrayList = new ArrayList<>(); + for (String s : countMap.keySet()) { + Map map = new HashMap<>(); + map.put("TypeName",s); + map.put("count",countMap.get(s).toString()); + mapArrayList.add(map); +// map.clear(); + } + + return mapArrayList; + } + @Override public List> findWuyi(int x) { DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyyMMdd");