From f0acb97e91f456c9b402977416e73951b708a157 Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期一, 19 六月 2023 23:23:23 +0800 Subject: [PATCH] 营销统计 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 84 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 9189131..cf27bba 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -1264,4 +1264,88 @@ MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(); return mgtBulletinBoardVo; } + + /** + * @description getTotalOrderTotal + * @param mgtBaseShopDto + * @return MgtTotalOrderTotalVo + * @author jqs34 + * @date 2023/6/19 22:23 + */ + @Override + public MgtTotalOrderTotalVo getTotalOrderTotal(MgtBaseShopDto mgtBaseShopDto){ + MgtTotalOrderTotalVo mgtTotalOrderTotalVo = orderMapper.getTotalOrderTotalOrderFrom(mgtBaseShopDto); + //MgtTotalOrderTotalVo mgtTotalOrderTotalVoGoodsType = orderMapper.getTotalOrderTotalGoodsType(mgtBaseShopDto); + List<MgtMapTotalVo> mgtMapTotalVos = orderMapper.listTotalOrderTotal(mgtBaseShopDto); + if (mgtMapTotalVos != null && mgtMapTotalVos.size() > 0) { + String[] orderTotalKey = new String[mgtMapTotalVos.size()]; + Integer[] orderTotalValue = new Integer[mgtMapTotalVos.size()]; + BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalVos.size()]; + for (int i = 0; i < mgtMapTotalVos.size(); i++) { + orderTotalKey[i] = mgtMapTotalVos.get(i).getMapKey(); + orderTotalValue[i] = mgtMapTotalVos.get(i).getMapValueFirst(); + orderMoneyValue[i] = mgtMapTotalVos.get(i).getMapValueSecond(); + } + mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey); + mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue); + mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue); + } + //获取商品分类销售数据 + List<MgtMapTotalVo> mgtMapTotalVoGoodsType = orderMapper.listTotalOrderTotalGoodsType(mgtBaseShopDto); + if (mgtMapTotalVoGoodsType != null && mgtMapTotalVoGoodsType.size() > 0) { + String[] goodsTypeKey = new String[mgtMapTotalVoGoodsType.size()]; + Integer[] goodsTypeTotalValue = new Integer[mgtMapTotalVoGoodsType.size()]; + BigDecimal[] goodsTypeMoneyValue = new BigDecimal[mgtMapTotalVoGoodsType.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < mgtMapTotalVoGoodsType.size(); i++) { + goodsTypeTotalValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueFirst(); + goodsTypeMoneyValue[i] = mgtMapTotalVoGoodsType.get(i).getMapValueSecond(); + if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("1")){ + goodsTypeKey[i] = "周期"; + mgtTotalOrderTotalVo.setCycleTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setCycleMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); + }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("2")){ + goodsTypeKey[i] = "服务"; + mgtTotalOrderTotalVo.setServiceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setServiceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); + }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("3")){ + goodsTypeKey[i] = "体验"; + mgtTotalOrderTotalVo.setExperienceTotal(mgtMapTotalVoGoodsType.get(i).getMapValueFirst()); + mgtTotalOrderTotalVo.setExperienceMoney(mgtMapTotalVoGoodsType.get(i).getMapValueSecond()); + }else if(mgtMapTotalVoGoodsType.get(i).getMapKey().equals("4")){ + goodsTypeKey[i] = "单品"; + } + } + mgtTotalOrderTotalVo.setGoodsTypeKey(goodsTypeKey); + mgtTotalOrderTotalVo.setGoodsTypeTotalValue(goodsTypeTotalValue); + mgtTotalOrderTotalVo.setGoodsTypeMoneyValue(goodsTypeMoneyValue); + } + //获取商品销售排名 + List<MgtMapTotalVo> goodsRankList = orderMapper.listTotalOrderTotalGoodsRank(mgtBaseShopDto); + if (goodsRankList != null && goodsRankList.size() > 0) { + String[] goodsRankKey = new String[goodsRankList.size()]; + BigDecimal[] goodsRankValue = new BigDecimal[goodsRankList.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < goodsRankList.size(); i++) { + goodsRankKey[i] = goodsRankList.get(i).getMapKey(); + goodsRankValue[i] = goodsRankList.get(i).getMapValueSecond(); + } + mgtTotalOrderTotalVo.setGoodsRankKey(goodsRankKey); + mgtTotalOrderTotalVo.setGoodsRankValue(goodsRankValue); + } + //获取来源销售排名 + List<MgtMapTotalVo> orderFromList = orderMapper.listTotalOrderTotalOrderFrom(mgtBaseShopDto); + if (orderFromList != null && orderFromList.size() > 0) { + String[] orderFromKey = new String[orderFromList.size()]; + BigDecimal[] orderFromValue = new BigDecimal[orderFromList.size()]; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < orderFromList.size(); i++) { + orderFromKey[i] = orderFromList.get(i).getMapKey(); + orderFromValue[i] = orderFromList.get(i).getMapValueSecond(); + } + mgtTotalOrderTotalVo.setOrderFromRankKey(orderFromKey); + mgtTotalOrderTotalVo.setOrderFromRankValue(orderFromValue); + } + return mgtTotalOrderTotalVo; + } } -- Gitblit v1.7.1