From 39ccc4c07607bbee88aad981167185f1896fb018 Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 26 Oct 2020 18:18:58 +0800 Subject: [PATCH] bug --- .../datatower/WxUserStructureController.java | 13 ++- .../com/iformall/mapper/WxCUserMapper.java | 9 +- .../com/iformall/service/WxCUserService.java | 8 +- .../service/impl/WxCUserServiceImpl.java | 12 +- .../service/impl/WxChartServiceImpl.java | 12 +- .../resources/mapper/WxCUserCarMapper.xml | 3 +- .../main/resources/mapper/WxCUserMapper.xml | 103 ++++++++++-------- 7 files changed, 90 insertions(+), 70 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java index ff68b4ebd..08f064412 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java @@ -361,7 +361,7 @@ public class WxUserStructureController extends BaseController { dto.setReportType(reportType); List wxCountList = new ArrayList<>();//每日新增会员数 - List wxCounts = wxCUserService.findCountHistory(dto);//每日新增会员数 + List wxCounts = wxCUserService.findCountHistory(dto,tenantEntitys);//每日新增会员数 List memCountList = new ArrayList<>();//每日新增会员数 List memCounts = wxCUserBasicInfoService.findCountHistory(ifParentUpdateTenantInfo(),dto);//每日新增会员数 @@ -471,6 +471,9 @@ public class WxUserStructureController extends BaseController { Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxUserStructureController::findUserByChannel"); List sceneList = null; + TenantEntity tenantEntity = getTenantInfo(); + List tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); + if (StringUtils.isNotBlank(wxCUser.getChannelName())) { WxUserChannel c = new WxUserChannel(); c.setChannelName(wxCUser.getChannelName()); @@ -483,7 +486,7 @@ public class WxUserStructureController extends BaseController { } } wxCUser.setSceneList(sceneList); - PageInfo page = wxCUserService.listByChannel(wxCUser, pageNum, pageSize); + PageInfo page = wxCUserService.listByChannel(wxCUser,tenantEntitys, pageNum, pageSize); for (WxCUser u : page.getList()) { WxUserChannel c = new WxUserChannel(); c.setSceneAddress(u.getSceneAddress()); @@ -508,6 +511,8 @@ public class WxUserStructureController extends BaseController { List channelStructureList = new ArrayList<>(); List senceStructureList = new ArrayList<>(); + List tenantEntitys = wxMallService.getTenantEntitys(getTenantInfo()); + List channels = wxUserChannelService.findDistinctChannel(); for (WxUserChannel w : channels) { WxUserChannel c = new WxUserChannel(); @@ -521,7 +526,7 @@ public class WxUserStructureController extends BaseController { wxCUser.setSceneList(scene); WxUserChannel senceStructure = new WxUserChannel(); senceStructure.setDescription(uc.getDescription()); - senceStructure.setCount(wxCUserService.countByChannel(wxCUser)); + senceStructure.setCount(wxCUserService.countByChannel(tenantEntitys,wxCUser)); senceStructureList.add(senceStructure); sceneList.add(uc.getSceneAddress()); } @@ -529,7 +534,7 @@ public class WxUserStructureController extends BaseController { wxCUser.setSceneList(sceneList); WxUserChannel channelStructure = new WxUserChannel(); channelStructure.setChannelName(w.getChannelName()); - channelStructure.setCount(wxCUserService.countByChannel(wxCUser)); + channelStructure.setCount(wxCUserService.countByChannel(tenantEntitys,wxCUser)); channelStructureList.add(channelStructure); } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java index 7500b1af3..7a1d8af78 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java @@ -1,12 +1,11 @@ package com.iformall.mapper; import java.util.List; -import java.util.Map; import com.iformall.common.CommonMapper; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.WxCUser; -import com.iformall.domain.po.base.BaseCUserEntity; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.UserCountVo; import org.apache.ibatis.annotations.Param; @@ -24,11 +23,11 @@ public interface WxCUserMapper extends CommonMapper { long findCount(WxCUserBasicInfoDto dto); - List findCountHistory(WxCUserBasicInfoDto dto); + List findCountHistory(@Param("tenantEntitys")List tenantEntitys, @Param("basicDto")WxCUserBasicInfoDto dto); - List listByChannel(WxCUser wxCUser); + List listByChannel(@Param("tenantEntitys")List tenantEntitys, @Param("wxCUser")WxCUser wxCUser); - long countByChannel(WxCUser wxCUser); + long countByChannel(List tenantEntitys, WxCUser wxCUser); //List> checkCountByTenantOpenId(); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserService.java index b6e418f7c..bfbc6a0dc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserService.java @@ -101,21 +101,23 @@ public interface WxCUserService { /** * 统计数量 * @param dto + * @param tenantEntitys * @return */ - List findCountHistory(WxCUserBasicInfoDto dto); + List findCountHistory(WxCUserBasicInfoDto dto, List tenantEntitys); /** * 通过渠道获取会员信息 * @param user + * @param tenantEntitys * @param pageIndex * @param pageSize * @return */ - PageInfo listByChannel(WxCUser user, Integer pageIndex, Integer pageSize); + PageInfo listByChannel(WxCUser user, List tenantEntitys, Integer pageIndex, Integer pageSize); - long countByChannel(WxCUser user); + long countByChannel(List tenantEntitys, WxCUser user); /** * 登录后发消息 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index 1ab501c51..25041df10 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -233,18 +233,18 @@ public class WxCUserServiceImpl implements WxCUserService { } @Override - public List findCountHistory(WxCUserBasicInfoDto dto) { - return wxCUserMapper.findCountHistory(dto); + public List findCountHistory(WxCUserBasicInfoDto dto, List tenantEntitys) { + return wxCUserMapper.findCountHistory(tenantEntitys,dto); } @Override - public PageInfo listByChannel(WxCUser user, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.listByChannel(user)); + public PageInfo listByChannel(WxCUser user, List tenantEntitys, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.listByChannel(tenantEntitys,user)); } @Override - public long countByChannel(WxCUser user) { - return wxCUserMapper.countByChannel(user); + public long countByChannel(List tenantEntitys, WxCUser user) { + return wxCUserMapper.countByChannel(tenantEntitys, user); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index 9f412fe92..bc8c38bfb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -1033,7 +1033,7 @@ public class WxChartServiceImpl implements WxChartDataService { String oneWeekEndDate = DateUtils.getTimeBefore(1, new Date()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); WxCUserBasicInfoDto wxCUserBasicInfoDto = new WxCUserBasicInfoDto(); - wxCUserBasicInfoDto.updateTenantInfo(tenantEntity); +// wxCUserBasicInfoDto.updateTenantInfo(tenantEntity); try { wxCUserBasicInfoDto.setStartTime(sdf.parse(oneWeekStartdate)); wxCUserBasicInfoDto.setEndTime(sdf.parse(oneWeekEndDate)); @@ -1043,7 +1043,7 @@ public class WxChartServiceImpl implements WxChartDataService { datamap.put("oneWeekNewCarUserCount", wxCUserCarService.countUser(wxCUserBasicInfoDto,tenantEntitys)); //停车会员总数 wxCUserBasicInfoDto = new WxCUserBasicInfoDto(); - wxCUserBasicInfoDto.updateTenantInfo(tenantEntity); +// wxCUserBasicInfoDto.updateTenantInfo(tenantEntity); datamap.put("newCarUserSumCount", wxCUserCarService.countUser(wxCUserBasicInfoDto,tenantEntitys)); return new ResultData(datamap); @@ -1056,8 +1056,10 @@ public class WxChartServiceImpl implements WxChartDataService { * @return */ private ResultData getCarNewMemberCountInWeek(TenantEntity tenantEntity) { +// List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); HashMap datamap = new HashMap<>(); HashMap weekParams = new HashMap<>(); +// weekParams.put("tenantEntitys", tenantEntitys); weekParams.put("tenantId", tenantEntity.getTenantId()); weekParams.put("finalTenantId", tenantEntity.getFinalTenantId()); if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { @@ -1962,6 +1964,7 @@ public class WxChartServiceImpl implements WxChartDataService { * @return */ private ResultData getFromChannelAnalysis(TenantEntity tenantEntity) { + List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); HashMap datamap = new HashMap<>(); List channelStructureList = new ArrayList<>(); WxCUser wxCUser = new WxCUser(); @@ -1982,7 +1985,7 @@ public class WxChartServiceImpl implements WxChartDataService { wxCUser.setSceneList(sceneList); WxUserChannel channelStructure = new WxUserChannel(); channelStructure.setChannelName(w.getChannelName()); - channelStructure.setCount(wxCUserMapper.countByChannel(wxCUser)); + channelStructure.setCount(wxCUserMapper.countByChannel(tenantEntitys,wxCUser)); channelStructureList.add(channelStructure); } } @@ -2069,6 +2072,7 @@ public class WxChartServiceImpl implements WxChartDataService { * @return */ private ResultData getSceneAnalysis(TenantEntity tenantEntity) { + List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); HashMap datamap = new HashMap<>(); List senceStructureList = new ArrayList<>(); WxCUser wxCUser = new WxCUser(); @@ -2085,7 +2089,7 @@ public class WxChartServiceImpl implements WxChartDataService { wxCUser.setSceneList(scene); WxUserChannel senceStructure = new WxUserChannel(); senceStructure.setDescription(uc.getDescription()); - senceStructure.setCount(wxCUserMapper.countByChannel(wxCUser)); + senceStructure.setCount(wxCUserMapper.countByChannel(tenantEntitys, wxCUser)); senceStructureList.add(senceStructure); } } diff --git a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml index 539f6f16c..9d840b757 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml @@ -123,7 +123,8 @@ - select count(id) as incCount, - + date_format(create_date, '%Y-%m-%d') as reportTime, - + date_format(create_date, '%Y-%m') as reportTime, - + date_format(create_date, '%Y') as reportTime, - - (select count(id) from wx_c_user where - + + (select count(id) from + ( + SELECT * from wx_c_user${tenantEntity.shardTableSuffix} + ) wx_c_user where + date_format(create_date, '%Y-%m-%d') <= reportTime - + date_format(create_date, '%Y-%m') <= reportTime - + date_format(create_date, '%Y') <= reportTime - - and `tenant_id` = #{tenantId} + + and `tenant_id` = #{basicDto.tenantId} - - and `parent_tenant_id` = #{parentTenantId} + + and `parent_tenant_id` = #{basicDto.parentTenantId} ) as totalCount - from wx_c_user where 1=1 - - and `tenant_id` = #{tenantId} + from ( + SELECT * from wx_c_user${tenantEntity.shardTableSuffix} + ) wx_c_user where 1=1 + + and `tenant_id` = #{basicDto.tenantId} - - and `parent_tenant_id` = #{parentTenantId} + + and `parent_tenant_id` = #{basicDto.parentTenantId} - - and create_date >= #{startTime} + + and create_date >= #{basicDto.startTime} - - and create_date < #{endTime} + + and create_date < #{basicDto.endTime} - + group by reportTime