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