yanghui
2022-11-23 7a50ab251493b23fe50247a483fc0e2b0c39e67b
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopFlowerOrderServiceImpl.java
@@ -1017,15 +1017,15 @@
        Map<String,Object> retMap = new HashMap<>();
        //查询我的店铺订单量
        List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountByStoreId(storeId, null);
        Map<String, Integer> zddlMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCount));
        Map<String, Integer> zddlMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        retMap.put("zddl",zddlMap);
        //查询我的店铺拼单订单
        List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS1 = this.baseMapper.selectCountByStoreId(storeId, ComShopFlowerOrderDO.deliveryType.store);
        Map<String, Integer> pdddMap = comShopOrderStoreIdCountVOS1.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCount));
        Map<String, Integer> pdddMap = comShopOrderStoreIdCountVOS1.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        retMap.put("pddd",pdddMap);
        //查询我的店铺快递订单
        List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS2 = this.baseMapper.selectCountByStoreId(storeId, ComShopFlowerOrderDO.deliveryType.express);
        Map<String, Integer> kdddMap = comShopOrderStoreIdCountVOS2.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCount));
        Map<String, Integer> kdddMap = comShopOrderStoreIdCountVOS2.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        retMap.put("kddd",kdddMap);
        //拼单订单各状态
@@ -1037,7 +1037,7 @@
        retMap.put("kdddStatus",r1.getData());
        //营业额
        List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS3 = this.baseMapper.selectSumAmountByStoreId(storeId);
        Map<String, Integer> yyeMap = comShopOrderStoreIdCountVOS3.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCount));
        Map<String, Integer> yyeMap = comShopOrderStoreIdCountVOS3.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        retMap.put("yye",yyeMap);
        //在售商品
        Integer countSale = comShopFlowerGoodsDAO.selectCountSaleByStoreId(storeId);
@@ -1055,6 +1055,7 @@
     * @param storeId
     * @return
     */
    @Override
    public R getQuota(Long storeId){
        //营业额
        BigDecimal turnover = this.baseMapper.selectTurnover(storeId);
@@ -1069,4 +1070,44 @@
    }
    @Override
    public R selectSumOrderAndAmountByStoreId(Long storeId){
        List<ComShopOrderStoreIdNumVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectSumOrderAndAmountByStoreId(storeId);
        Map<String, Object> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdNumVO::getCountName, ComShopOrderStoreIdNumVO::getCountNum));
        return R.ok(retMap);
    }
    public R selectOrderLineChart(Long storeId,Integer type){
        if (1==type){
            //近15天的订单量
            int days = 15;
            return getCountByStoreIdAndDays(storeId, days);
        }else if (2 ==type){
            //近30天的订单量
            int days = 30;
            return getCountByStoreIdAndDays(storeId, days);
        }else {
            //今年所有月份订单量
            List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountOrderMonthByStoreId(storeId);
            Map<String, Integer> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        }
        return R.ok();
    }
    private R getCountByStoreIdAndDays(Long storeId, int days) {
        List<ComShopOrderStoreIdCountVO> comShopOrderStoreIdCountVOS = this.baseMapper.selectCountOrderDayByStoreId(storeId, days);
        Map<String, Integer> retMap = comShopOrderStoreIdCountVOS.stream().collect(Collectors.toMap(ComShopOrderStoreIdCountVO::getCountName, ComShopOrderStoreIdCountVO::getCountNum));
        List<String> beforeDays = DateUtils.getBeforeDays(days);
        for (String beforeDay : beforeDays) {
            if (!retMap.containsKey(beforeDay)) {
                retMap.put(beforeDay, 0);
            }
        }
        return R.ok(retMap);
    }
}