|
@@ -3,10 +3,14 @@ package com.caimei365.manager.service.caimei.user.impl;
|
|
|
import cn.hutool.core.util.ZipUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
+import com.caimei.utils.MathUtil;
|
|
|
+import com.caimei.utils.StringUtils;
|
|
|
import com.caimei365.manager.dao.user.CmMarketShopDao;
|
|
|
import com.caimei365.manager.entity.PaginationVo;
|
|
|
import com.caimei365.manager.entity.ResponseJson;
|
|
|
import com.caimei365.manager.entity.caimei.CmShop;
|
|
|
+import com.caimei365.manager.entity.caimei.ReturnData;
|
|
|
+import com.caimei365.manager.entity.caimei.ReturnEntity;
|
|
|
import com.caimei365.manager.entity.caimei.shopImport.*;
|
|
|
import com.caimei365.manager.service.caimei.listener.*;
|
|
|
import com.caimei365.manager.service.caimei.user.CmMarketShopService;
|
|
@@ -23,10 +27,10 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.*;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Description
|
|
@@ -39,7 +43,7 @@ import java.util.Map;
|
|
|
public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
|
|
|
private final static String ZIP_FILE = "zip";
|
|
|
- private final static String RAR_FILE = "rar";
|
|
|
+ private final static String RAR_FILE = "octet";
|
|
|
|
|
|
// private final static String extract = "/mnt/newdatadrive/data/runtime/jar-instance/manager-api/extract";
|
|
|
private final static String extract = "E:\\Users\\Desktop\\extract";
|
|
@@ -109,7 +113,20 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseJson updateMarketReport(Integer id) {
|
|
|
+ // 删除数据报表
|
|
|
marketShopDao.updateMarketReport(id);
|
|
|
+ // 删除数据报表具体数据
|
|
|
+ marketShopDao.updateMarketStage(id, null);
|
|
|
+ marketShopDao.updateMarketFunnelModel(id, null);
|
|
|
+ marketShopDao.updateMarketArticleReadVolume(id, null);
|
|
|
+ marketShopDao.updateMarketImpressions(id, null);
|
|
|
+ marketShopDao.updateMarketReadVolume(id, null);
|
|
|
+ marketShopDao.updateMarketSummary(id, null);
|
|
|
+ marketShopDao.updateMarketVisits(id, null);
|
|
|
+ marketShopDao.updateMarketProportion(id, null);
|
|
|
+ marketShopDao.updateMarketPageDuration(id, null);
|
|
|
+ marketShopDao.updateMarketAdvertHits(id, null);
|
|
|
+ marketShopDao.updateMarketRemark(id, null);
|
|
|
return ResponseJson.success();
|
|
|
}
|
|
|
|
|
@@ -126,6 +143,7 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
|
|
|
//不存在则创建
|
|
|
File packFile = new File(extract);
|
|
|
+ packFile.delete();
|
|
|
if (!packFile.exists()) {
|
|
|
boolean mkdirs = packFile.mkdirs();
|
|
|
}
|
|
@@ -160,7 +178,7 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
FileUtil.unZip(packFilePath, extract);
|
|
|
} else {
|
|
|
//rar压缩包
|
|
|
- FileUtil.unPackRar(file, extract);
|
|
|
+ FileUtil.unPackRar(file, filename, extract);
|
|
|
}
|
|
|
//获取压缩包名称
|
|
|
filename = filename.substring(0, filename.lastIndexOf("."));
|
|
@@ -169,7 +187,12 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
if (file.exists()) {
|
|
|
file.delete();
|
|
|
}
|
|
|
- String filePath = extract + "/" + filename;
|
|
|
+ String filePath = "";
|
|
|
+ if (isZipPack) {
|
|
|
+ filePath = extract + "/" + filename;
|
|
|
+ } else {
|
|
|
+ filePath = extract;
|
|
|
+ }
|
|
|
return ResponseJson.success(filePath);
|
|
|
}
|
|
|
|
|
@@ -183,14 +206,38 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson saveReport(Integer marketId, String reportDate, String reportName, String filePath) throws IOException {
|
|
|
- CmMarketReport marketReport = new CmMarketReport();
|
|
|
- marketReport.setMarketId(marketId);
|
|
|
- marketReport.setReportDate(reportDate);
|
|
|
- marketReport.setReportName(reportName);
|
|
|
- marketShopDao.insertMarketReport(marketReport);
|
|
|
- // 读取文件,处理数据
|
|
|
- readFile(marketReport.getId(), filePath);
|
|
|
+ public ResponseJson saveReport(Integer marketId, Integer id, String reportDate, String reportName, String filePath) throws IOException {
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
|
|
+ try {
|
|
|
+ String reportTime = dateFormat.format(dateFormat.parse(reportDate));
|
|
|
+ if (id == null) {
|
|
|
+ CmMarketReport marketReport = new CmMarketReport();
|
|
|
+ marketReport.setMarketId(marketId);
|
|
|
+ marketReport.setReportDate(reportTime);
|
|
|
+ marketReport.setReportName(reportName);
|
|
|
+ marketShopDao.insertMarketReport(marketReport);
|
|
|
+ // 读取文件,处理数据
|
|
|
+ readFile(marketReport.getId(), filePath);
|
|
|
+ } else {
|
|
|
+ // 删除数据报表具体数据
|
|
|
+ marketShopDao.updateMarketStage(id, reportTime);
|
|
|
+ marketShopDao.updateMarketFunnelModel(id, reportTime);
|
|
|
+ marketShopDao.updateMarketArticleReadVolume(id, reportTime);
|
|
|
+ marketShopDao.updateMarketImpressions(id, reportTime);
|
|
|
+ marketShopDao.updateMarketReadVolume(id, reportTime);
|
|
|
+ marketShopDao.updateMarketSummary(id, reportTime);
|
|
|
+ marketShopDao.updateMarketVisits(id, reportTime);
|
|
|
+ marketShopDao.updateMarketProportion(id, reportTime);
|
|
|
+ marketShopDao.updateMarketPageDuration(id, reportTime);
|
|
|
+ marketShopDao.updateMarketAdvertHits(id, reportTime);
|
|
|
+ marketShopDao.updateMarketRemark(id, reportTime);
|
|
|
+ // 读取文件,处理数据
|
|
|
+ readFile(id, filePath);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
return ResponseJson.success();
|
|
|
}
|
|
|
|
|
@@ -203,7 +250,297 @@ public class CmMarketShopServiceImpl implements CmMarketShopService {
|
|
|
@Override
|
|
|
public ResponseJson<Map<String, Object>> preview(Integer id) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
|
|
+ // name集合
|
|
|
+ ArrayList<String> name = new ArrayList<>();
|
|
|
+ // value 集合
|
|
|
+ ArrayList<Integer> value = new ArrayList<>();
|
|
|
+ // 备份(第二value)集合
|
|
|
+ ArrayList<Integer> backupsValues = new ArrayList<>();
|
|
|
+ // 唯一name集合
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
+ // 获取报表对应供应商数据
|
|
|
+ CmMarketShop shopInfo = marketShopDao.getShopInfoById(id);
|
|
|
+ // 获取阶段描述
|
|
|
+ List<Stage> summarize = new ArrayList<>();
|
|
|
+ List<Stage> summarize1 = new ArrayList<>();
|
|
|
+ List<Stage> summarize2 = new ArrayList<>();
|
|
|
+ List<Stage> marketStage = marketShopDao.getMarketStage(id);
|
|
|
+ if (null != marketStage && marketStage.size() > 0) {
|
|
|
+ for (Stage stage : marketStage) {
|
|
|
+ try {
|
|
|
+ stage.setAddTime(dateFormat.format(dateFormat.parse(stage.getAddTime())));
|
|
|
+ if ("1".equals(stage.getStage())) {
|
|
|
+ summarize.add(stage);
|
|
|
+ }
|
|
|
+ if ("2".equals(stage.getStage())) {
|
|
|
+ summarize1.add(stage);
|
|
|
+ }
|
|
|
+ if ("3".equals(stage.getStage())) {
|
|
|
+ summarize2.add(stage);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("summarize", summarize);
|
|
|
+ map.put("summarize1", summarize1);
|
|
|
+ map.put("summarize2", summarize2);
|
|
|
+ // 获取漏斗模型数据
|
|
|
+ List<FunnelModel> marketFunnelModel = marketShopDao.getMarketFunnelModel(id);
|
|
|
+ int impressions = 0, hits = 0, visits = 0, consultation = 0, report = 0;
|
|
|
+ if (null != marketFunnelModel && marketFunnelModel.size() > 0) {
|
|
|
+ for (FunnelModel funnelModel : marketFunnelModel) {
|
|
|
+ impressions += funnelModel.getImpressions();
|
|
|
+ hits += funnelModel.getHits();
|
|
|
+ visits += funnelModel.getVisits();
|
|
|
+ consultation += funnelModel.getConsultation();
|
|
|
+ report += funnelModel.getReport();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ shopInfo.setChartTitle("【"+shopInfo.getName()+"】"+dateFormat.format(dateFormat.parse(shopInfo.getAddTime())) + "数据报表");
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ shopInfo.setImpressions(impressions);
|
|
|
+ shopInfo.setHits(hits);
|
|
|
+ shopInfo.setVisits(visits);
|
|
|
+ shopInfo.setConsultation(consultation);
|
|
|
+ shopInfo.setReport(report);
|
|
|
+ map.put("shopInfo", shopInfo);
|
|
|
+ // 获取推文数据
|
|
|
+ List<ArticleReadVolume> marketArticleReadVolume = marketShopDao.getMarketArticleReadVolume(id);
|
|
|
+ List<ArticleReadVolume> articleReadVolumeList = new ArrayList<>();
|
|
|
+ if (null != marketArticleReadVolume && marketArticleReadVolume.size() > 0) {
|
|
|
+ for (ArticleReadVolume articleReadVolume : marketArticleReadVolume) {
|
|
|
+ if (!set.contains(articleReadVolume.getTitle())) {
|
|
|
+ set.add(articleReadVolume.getTitle());
|
|
|
+ articleReadVolumeList.add(articleReadVolume);
|
|
|
+ } else {
|
|
|
+ // 将有重复的推文数据 总阅读量 总展现量相加为一组数据
|
|
|
+ for (ArticleReadVolume readVolume : articleReadVolumeList) {
|
|
|
+ if (articleReadVolume.getTitle().equals(readVolume.getTitle())) {
|
|
|
+ readVolume.setWechatNumber(MathUtil.sub(readVolume.getWechatNumber(), articleReadVolume.getWechatNumber()).intValue());
|
|
|
+ readVolume.setTouchNumber(MathUtil.sub(readVolume.getTouchNumber(), articleReadVolume.getTouchNumber()).intValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("volumeList", articleReadVolumeList);
|
|
|
+ // 公众号推文数据
|
|
|
+ ReturnData articleReturnData = new ReturnData();
|
|
|
+ if (null != articleReadVolumeList && articleReadVolumeList.size() > 0) {
|
|
|
+ name = new ArrayList<>(articleReadVolumeList.stream().map(ArticleReadVolume::getTitleReferred).collect(Collectors.toList()));
|
|
|
+ articleReturnData.setNames(name);
|
|
|
+ value = new ArrayList<>(articleReadVolumeList.stream().map(ArticleReadVolume::getWechatNumber).collect(Collectors.toList()));
|
|
|
+ articleReturnData.setValues(value);
|
|
|
+ backupsValues = new ArrayList<>(articleReadVolumeList.stream().map(ArticleReadVolume::getTouchNumber).collect(Collectors.toList()));
|
|
|
+ articleReturnData.setBackupsValues(backupsValues);
|
|
|
+ }
|
|
|
+ map.put("wechats", articleReturnData);
|
|
|
+ // 获取展现量数据
|
|
|
+ List<Impressions> marketImpressions = marketShopDao.getMarketImpressions(id);
|
|
|
+ int generalNumber = 0, microBlog = 0, redBookNumber = 0, otherNumber = 0;
|
|
|
+ if (null != marketImpressions && marketImpressions.size() > 0) {
|
|
|
+ for (Impressions imp : marketImpressions) {
|
|
|
+ generalNumber += imp.getGeneralNumber();
|
|
|
+ microBlog += imp.getMicroBlog();
|
|
|
+ redBookNumber += imp.getRedBookNumber();
|
|
|
+ otherNumber += imp.getOtherNumber();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData returnData = new ReturnData();
|
|
|
+ name.add("公众号");
|
|
|
+ name.add("微博");
|
|
|
+ name.add("小红书");
|
|
|
+ name.add("其它自媒体渠道");
|
|
|
+ returnData.setNames(name);
|
|
|
+ value.add(generalNumber);
|
|
|
+ value.add(microBlog);
|
|
|
+ value.add(redBookNumber);
|
|
|
+ value.add(otherNumber);
|
|
|
+ returnData.setValues(value);
|
|
|
+ map.put("intention", returnData);
|
|
|
+ // 获取点击量数据
|
|
|
+ name.clear();
|
|
|
+ value.clear();
|
|
|
+ List<ReadVolume> marketReadVolume = marketShopDao.getMarketReadVolume(id);
|
|
|
+ if (null != marketReadVolume && marketReadVolume.size() > 0) {
|
|
|
+ for (ReadVolume readVolume : marketReadVolume) {
|
|
|
+ generalNumber += readVolume.getGeneralNumber();
|
|
|
+ microBlog += readVolume.getMicroBlog();
|
|
|
+ redBookNumber += readVolume.getRedBookNumber();
|
|
|
+ otherNumber += readVolume.getOtherNumber();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData readVolumeReturnData = new ReturnData();
|
|
|
+ name.add("公众号");
|
|
|
+ name.add("微博");
|
|
|
+ name.add("小红书");
|
|
|
+ name.add("其它自媒体渠道");
|
|
|
+ returnData.setNames(name);
|
|
|
+ value.add(generalNumber);
|
|
|
+ value.add(microBlog);
|
|
|
+ value.add(redBookNumber);
|
|
|
+ value.add(otherNumber);
|
|
|
+ returnData.setValues(value);
|
|
|
+ map.put("allVisits", readVolumeReturnData);
|
|
|
+ // 获取SEO汇总数据
|
|
|
+ set.clear();
|
|
|
+ List<Summary> marketSummary = marketShopDao.getMarketSummary(id);
|
|
|
+ List<Summary> summaryList = new ArrayList<>();
|
|
|
+ List<ReturnData> returnDataList = new ArrayList<>();
|
|
|
+ if (null != marketSummary && marketSummary.size() > 0) {
|
|
|
+ for (Summary summary : marketSummary) {
|
|
|
+ if (!set.contains(summary.getKeyword())) {
|
|
|
+ set.add(summary.getKeyword());
|
|
|
+ summaryList.add(summary);
|
|
|
+ } else {
|
|
|
+ for (Summary summary1 : summaryList) {
|
|
|
+ if (summary.getKeyword().equals(summary1.getKeyword())) {
|
|
|
+ summary1.setSearchVolume(MathUtil.sub(summary1.getSearchVolume(), summary.getSearchVolume()).intValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null != summaryList && summaryList.size() > 0) {
|
|
|
+ for (Summary summary : summaryList) {
|
|
|
+ ReturnData summaryReturnData = new ReturnData();
|
|
|
+ summaryReturnData.setName(summary.getKeyword());
|
|
|
+ summaryReturnData.setValue(summary.getSearchVolume());
|
|
|
+ summaryReturnData.setSeo(summary.getSeoRanking());
|
|
|
+ returnDataList.add(summaryReturnData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("keywordList", summaryList);
|
|
|
+ // 获取访问量数据
|
|
|
+ name.clear();
|
|
|
+ value.clear();
|
|
|
+ List<Visits> marketVisits = marketShopDao.getMarketVisits(id);
|
|
|
+ int clubNumber = 0, touristNumber = 0;
|
|
|
+ if (null != marketVisits && marketVisits.size() > 0) {
|
|
|
+ for (Visits vis : marketVisits) {
|
|
|
+ clubNumber += vis.getClubNumber();
|
|
|
+ touristNumber += vis.getTouristNumber();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData visitsReturnData = new ReturnData();
|
|
|
+ name.add("机构访问量");
|
|
|
+ name.add("游客访问量");
|
|
|
+ visitsReturnData.setNames(name);
|
|
|
+ value.add(clubNumber);
|
|
|
+ value.add(touristNumber);
|
|
|
+ visitsReturnData.setValues(value);
|
|
|
+ map.put("stationVisits", visitsReturnData);
|
|
|
+ // 获取访客来源分布数据
|
|
|
+ name.clear();
|
|
|
+ value.clear();
|
|
|
+ List<Proportion> marketProportion = marketShopDao.getMarketProportion(id);
|
|
|
+ int search = 0, general = 0, proMicroBlog = 0, directAccess = 0;
|
|
|
+ if (null != marketProportion && marketProportion.size() > 0) {
|
|
|
+ for (Proportion proportion : marketProportion) {
|
|
|
+ search += proportion.getSearch();
|
|
|
+ general += proportion.getGeneral();
|
|
|
+ proMicroBlog += proportion.getMicroBlog();
|
|
|
+ directAccess += proportion.getDirectAccess();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData proportionReturnData = new ReturnData();
|
|
|
+ name.add("搜索引擎");
|
|
|
+ name.add("微信平台");
|
|
|
+ name.add("微博");
|
|
|
+ name.add("直接访问");
|
|
|
+ proportionReturnData.setNames(name);
|
|
|
+ value.add(search);
|
|
|
+ value.add(general);
|
|
|
+ value.add(proMicroBlog);
|
|
|
+ value.add(directAccess);
|
|
|
+ proportionReturnData.setValues(value);
|
|
|
+ map.put("proportion", proportionReturnData);
|
|
|
+ // 获取页面平均访问时长数据
|
|
|
+ set.clear();
|
|
|
+ List<PageDuration> marketPageDuration = marketShopDao.getMarketPageDuration(id);
|
|
|
+ List<PageDuration> pageDurationList = new ArrayList<>();
|
|
|
+ if (null != marketPageDuration && marketPageDuration.size() > 0) {
|
|
|
+ for (PageDuration pageDuration : marketPageDuration) {
|
|
|
+ if (!set.contains(pageDuration.getPageLabel())) {
|
|
|
+ set.add(pageDuration.getPageLabel());
|
|
|
+ pageDurationList.add(pageDuration);
|
|
|
+ } else {
|
|
|
+ for (PageDuration pageDuration1 : pageDurationList) {
|
|
|
+ if (pageDuration.getPageLabel().equals(pageDuration1.getPageLabel())) {
|
|
|
+ pageDuration1.setAccessDuration(MathUtil.sub(pageDuration1.getAccessDuration(), pageDuration.getAccessDuration()).intValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData pageDurationReturnData = new ReturnData();
|
|
|
+ name = new ArrayList<>(set);
|
|
|
+ pageDurationReturnData.setNames(name);
|
|
|
+ value = new ArrayList<>(pageDurationList.stream().map(PageDuration::getAccessDuration).collect(Collectors.toList()));
|
|
|
+ pageDurationReturnData.setValues(value);
|
|
|
|
|
|
+ map.put("visitTimes", pageDurationReturnData);
|
|
|
+ // 获取广告图点击量数据
|
|
|
+ List<AdvertHits> marketAdvertHits = marketShopDao.getMarketAdvertHits(id);
|
|
|
+ map.put("bannerList", marketAdvertHits);
|
|
|
+ // 获取咨询数量数据
|
|
|
+ name.clear();
|
|
|
+ value.clear();
|
|
|
+ List<Remark> marketRemark = marketShopDao.getMarketRemark(id);
|
|
|
+ if (null != marketRemark && marketRemark.size() > 0) {
|
|
|
+ for (Remark remark : marketRemark) {
|
|
|
+ try {
|
|
|
+ name.add(dateFormat.format(dateFormat.parse(remark.getAddTime())));
|
|
|
+ value.add(remark.getRemarkNumber());
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ReturnData remarkReturnData = new ReturnData();
|
|
|
+ remarkReturnData.setNames(name);
|
|
|
+ remarkReturnData.setValues(value);
|
|
|
+ map.put("leadUserMonthly", remarkReturnData);
|
|
|
+ String accessDate = "";
|
|
|
+ try {
|
|
|
+ dateFormat.format(dateFormat.parse(shopInfo.getAddTime()));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ // 供应商相关标签
|
|
|
+ List<String> shopKeyword = marketShopDao.getShopKeyword(shopInfo.getShopId());
|
|
|
+
|
|
|
+ Map<String, Integer> regionMap = new HashMap<>();
|
|
|
+ // 访问供应商用户对应身份
|
|
|
+ List<ReturnEntity> userIdentity = new ArrayList<>();
|
|
|
+ // 访问供应商用户对应机构类型
|
|
|
+ List<ReturnEntity> clubType = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(accessDate) && StringUtils.isNotEmpty(accessDate)) {
|
|
|
+ // 访问供应商用户对于所在地区
|
|
|
+ List<String> region = marketShopDao.getRegion(accessDate, shopKeyword);
|
|
|
+ Set<String> province = new HashSet<>();
|
|
|
+ String com = "";
|
|
|
+ for (String str : region ) {
|
|
|
+ String trim = str.trim();
|
|
|
+ com = trim.substring(0, 2);
|
|
|
+ province.add(com);
|
|
|
+ }
|
|
|
+ for (String str : province) {
|
|
|
+ List<String> collect = region.stream().filter(pro -> pro.substring(0, 3).contains(str)).collect(Collectors.toList());
|
|
|
+ regionMap.put(str, collect.size());
|
|
|
+ }
|
|
|
+ userIdentity = marketShopDao.getUserIdentity(accessDate, shopKeyword);
|
|
|
+ clubType = marketShopDao.getClubType(accessDate, shopKeyword);
|
|
|
+ }
|
|
|
+ map.put("regionMap", regionMap);
|
|
|
+ map.put("userIdentity", userIdentity);
|
|
|
+ map.put("clubType", clubType);
|
|
|
return ResponseJson.success(map);
|
|
|
}
|
|
|
|