From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:41:42 +0800
Subject: [PATCH] Merge branch 'developer'

---
 zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java |  104 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 57 insertions(+), 47 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
index 6703ad4..5fc7ecb 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java
@@ -1,15 +1,16 @@
 package com.matrix.system.hiveErp.action;
 
+import com.matrix.component.redis.RedisClient;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.hive.bean.SysShopInfo;
 import com.matrix.system.hive.dao.SysShopInfoDao;
-import com.matrix.system.hiveErp.analysUtil.SeriesVo;
-import com.matrix.system.hiveErp.analysUtil.StatisticsParamVo;
+import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl;
+import com.matrix.system.hiveErp.analysUtil.*;
 import com.matrix.system.hiveErp.dao.TjVipSumDao;
-import com.matrix.system.hiveErp.analysUtil.StatisticsTimeUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,7 +32,8 @@
     @Autowired
     SysShopInfoDao shopInfoDao;
 
-
+    @Autowired
+    DataAnalysisCustomerServiceImpl dataAnalysisCustomerService;
 
     /**
      * 会员人头数统计
@@ -41,51 +43,59 @@
      * @param statisticsParam
      * @return
      */
-    @RequestMapping(value = "customerHeadCompare")
-    public @ResponseBody  AjaxResult vipVisitCompare(StatisticsParamVo statisticsParam) {
-
-        AjaxResult result = new AjaxResult();
-
-        //根据计算横坐标
-        List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
-
-        //获取所有门店
-        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
-        List<SysShopInfo> shops= shopInfoDao.selectShopInfo(user.getCompanyId());
-
-        //定义数据项内容
-        List<SeriesVo> series=new ArrayList<>();
-
-        //定义数据主体
-        String[]  legendData=new String[shops.size()];
-
-        int i=0;
-
-        //按门店统计数据
-        for(SysShopInfo shop: shops){
-
-            legendData[i++]=shop.getShopName();
-
-            SeriesVo storeInfoSeries=new SeriesVo();
-            storeInfoSeries.setName(shop.getShopName());
-
-            //从员工业绩统计表中,按时间段,门店的维度统计人头数
-            Map<String, Integer> yAxisMap = tjVipSumDao.countVisitByTime(StatisticsTimeUtil.buidParam(xAxis),shop.getId());
-
-            storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
-            series.add(storeInfoSeries);
-
-        }
-        //构造返回对象
-        Map<Object,Object> data=new HashMap<>();
-        data.put("legendData",legendData);
-        data.put("series",series);
-        data.put("xAxis", StatisticsTimeUtil.getFormartDateList(xAxis,statisticsParam));
-        result.setMapInfo(data);
-        result.setStatus(AjaxResult.STATUS_SUCCESS);
-        return result;
+    @RequestMapping(value = "/customerHeadCompare")
+    public @ResponseBody  AjaxResult customerHeadCompare(StatisticsParamVo statisticsParam) {
+        return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
+            @Override
+            public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
+                //从员工业绩统计表中,按时间段,门店的维度统计人头数
+                return tjVipSumDao.customerHeadCompare(timeSpaceParam,shopId);
+            }
+        });
     }
 
+    /**
+     * 会员人次统计
+     * 业务说明:
+     * 一个会员在一天进店一次或者多次即为一个人次
+     * @param statisticsParam
+     * @return
+     */
+    @RequestMapping(value = "/customerEnterCountCompare")
+    public @ResponseBody  AjaxResult customerEnterCountCompare(StatisticsParamVo statisticsParam) {
+        return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
+            @Override
+            public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
+                //从员工业绩统计表中,按时间段,门店的维度统计人次
+                return tjVipSumDao.customerEnterCountCompare(timeSpaceParam,shopId);
+            }
+        });
+    }
+
+
+    /**
+     * 到店率
+     * 业务说明:
+     * 门店所有客户人次数除以人头数
+     * @param statisticsParam
+     * @return
+     */
+    @RequestMapping(value = "/customerEnterRateCompare")
+    public @ResponseBody  AjaxResult customerEnterRateCompare(StatisticsParamVo statisticsParam) {
+        return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() {
+            @Override
+            public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) {
+                //从员工业绩统计表中,按时间段,门店的维度统计人次
+                return tjVipSumDao.customerEnterRateCompare(timeSpaceParam,shopId);
+            }
+        });
+    }
+
+
+
+
+
+
 
 
 }

--
Gitblit v1.9.1