From 88d917224eb302f6576b7296c5873f6986831e57 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Fri, 14 Sep 2018 16:03:04 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=9A=E5=91=98=E7=B3=BB=E7=BB=9F][?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E6=95=B0=E9=87=8F][=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E6=95=B0=E6=8D=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxUserStructureController.java | 75 +++++++++++++++++-- .../simple/mapper/WxCUserBasicInfoMapper.java | 3 +- .../service/WxCUserBasicInfoService.java | 3 +- .../impl/WxCUserBasicInfoServiceImpl.java | 5 ++ .../mapper/WxCUserBasicInfoMapper.xml | 18 ++++- 5 files changed, 96 insertions(+), 8 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java index d917c6d62..cdfdcdfca 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java @@ -101,13 +101,17 @@ public class WxUserStructureController extends BaseController { WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto(); dto.setTenantId(getTenantId()); dto.setStartTime(startTime); + dto.setEndTime(endTime); if (endTime != null) { Calendar c = Calendar.getInstance(); c.setTime(endTime); c.add(Calendar.DAY_OF_YEAR, 1); endTime = c.getTime(); } - long allCount = wxCUserService.findCount(dto);//总量 + //微信用户数据 + long wxallCount = wxCUserService.findCount(dto);//总量 + //会员数据 + Map member=getMemberData(dto); Calendar c = Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY, 0); @@ -116,8 +120,8 @@ public class WxUserStructureController extends BaseController { Date today = c.getTime(); dto.setStartTime(today); dto.setEndTime(null); - long todayCount = wxCUserService.findCount(dto);//今天新增 - List newCountVos = new ArrayList<>();//每日新增会员数 + long wxtodayCount = wxCUserService.findCount(dto);//今天新增 + List wxnewCountVos = new ArrayList<>();//每日新增会员数 int j = 1; for (int i = 29; i >= 0; i--) { c.clear(); @@ -132,6 +136,64 @@ public class WxUserStructureController extends BaseController { j++; vo.setName(new SimpleDateFormat("MM-dd").format(dto.getStartTime())); vo.setCount(count); + wxnewCountVos.add(vo); + } + List wxallCountVos = new ArrayList<>();//累计会员数 + c.clear(); + c.setTime(today); + c.add(Calendar.DAY_OF_YEAR, -30); + dto.setEndTime(c.getTime()); + dto.setStartTime(null); + long firstDay = wxCUserService.findCount(dto);//统计的第一天总数 + int i = 0; + long sumCount = 0; + for (UserStructureVo v : wxnewCountVos) { + UserStructureVo vo = new UserStructureVo(); + sumCount += v.getCount(); + vo.setCount(firstDay + sumCount); + vo.setName(v.getName()); + vo.setSortNum(i + 1); + wxallCountVos.add(vo); + i++; + } + + + Map map = new HashMap<>(); + map.put("wxallCount", wxallCount);//累计会员总数 + map.put("wxtodayCount", wxtodayCount);//今日新增会员数 + map.put("wxallCountVos", wxallCountVos);//累计会员列表( 日期和数量list) + map.put("wxnewCountVos", wxnewCountVos);//新增会员列表(日期和数量list) + map.putAll(member); + return new ResultData(map); + } + + private Map getMemberData(WxCUserBasicInfoDto dto) { + + long allCount = wxCUserBasicInfoService.findCount(dto);//总量 + + Calendar c = Calendar.getInstance(); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + Date today = c.getTime(); + dto.setStartTime(today); + dto.setEndTime(null); + long todayCount = wxCUserBasicInfoService.findCount(dto);//今天新增 + List newCountVos = new ArrayList<>();//每日新增会员数 + int j = 1; + for (int i = 29; i >= 0; i--) { + c.clear(); + c.setTime(today); + c.add(Calendar.DAY_OF_YEAR, -i); + dto.setStartTime(c.getTime()); + c.add(Calendar.DAY_OF_YEAR, 1); + dto.setEndTime(c.getTime()); + long count = wxCUserBasicInfoService.findCount(dto); + UserStructureVo vo = new UserStructureVo(); + vo.setSortNum(j); + j++; + vo.setName(new SimpleDateFormat("MM-dd").format(dto.getStartTime())); + vo.setCount(count); newCountVos.add(vo); } List allCountVos = new ArrayList<>();//累计会员数 @@ -140,7 +202,7 @@ public class WxUserStructureController extends BaseController { c.add(Calendar.DAY_OF_YEAR, -30); dto.setEndTime(c.getTime()); dto.setStartTime(null); - long firstDay = wxCUserService.findCount(dto);//统计的第一天总数 + long firstDay = wxCUserBasicInfoService.findCount(dto);//统计的第一天总数 int i = 0; long sumCount = 0; for (UserStructureVo v : newCountVos) { @@ -152,12 +214,15 @@ public class WxUserStructureController extends BaseController { allCountVos.add(vo); i++; } + Map map = new HashMap<>(); map.put("allCount", allCount);//累计会员总数 map.put("todayCount", todayCount);//今日新增会员数 map.put("allCountVos", allCountVos);//累计会员列表( 日期和数量list) map.put("newCountVos", newCountVos);//新增会员列表(日期和数量list) - return new ResultData(map); + + return map; + } @ApiOperation("拓客分析") diff --git a/mallinkService/src/main/java/com/simple/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxCUserBasicInfoMapper.java index 4705fc127..5b732730d 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxCUserBasicInfoMapper.java @@ -6,7 +6,6 @@ import com.simple.domain.po.WxCUserBasicInfo; import com.simple.domain.vo.CUserBaseVo; import java.util.List; -import java.util.Map; public interface WxCUserBasicInfoMapper extends CommonMapper { @@ -20,4 +19,6 @@ public interface WxCUserBasicInfoMapper extends CommonMapper - + + +