From ed55b07e0000d99d0aeb796649077d178256fbb8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 09 Jan 2021 17:17:08 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java | 103 ++++++++++++++++++++++++++++-----------------------
1 files changed, 57 insertions(+), 46 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..8c1a271 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
@@ -4,12 +4,13 @@
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.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,6 +32,8 @@
@Autowired
SysShopInfoDao shopInfoDao;
+ @Autowired
+ DataAnalysisCustomerServiceImpl dataAnalysisCustomerService;
/**
@@ -41,51 +44,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