From 56f4e40702b1133fafd913880788c59412cba4dc Mon Sep 17 00:00:00 2001 From: wyj2080 <1603068044@qq.com> Date: Wed, 22 Apr 2020 15:49:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=8C=BA=E5=9F=9F=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/CustomerViewZeroExtendVO.java | 4 ++ .../customer/service/CustomerViewService.java | 51 ++++++++++++++++++- .../resources/mapper/OpCustomerDOMapper.xml | 4 +- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/kiisoo/ic/customer/entity/CustomerViewZeroExtendVO.java b/src/main/java/com/kiisoo/ic/customer/entity/CustomerViewZeroExtendVO.java index b05ef13..cd6e5dd 100644 --- a/src/main/java/com/kiisoo/ic/customer/entity/CustomerViewZeroExtendVO.java +++ b/src/main/java/com/kiisoo/ic/customer/entity/CustomerViewZeroExtendVO.java @@ -27,8 +27,10 @@ public class CustomerViewZeroExtendVO { /**店铺id*/ private Long shopId; /**大区*/ + private Long regionId; private String region; /**零售公司*/ + private Long companyId; private String company; /**客户*/ private String customer; @@ -36,6 +38,8 @@ public class CustomerViewZeroExtendVO { private Integer numb; /**序号*/ private Integer number; + /**父区域id*/ + private Long parentId; /* *分页总条数 */ diff --git a/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java b/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java index 30fcdb3..3233c82 100644 --- a/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java +++ b/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java @@ -11,6 +11,7 @@ import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat; import com.kiisoo.ic.generalize.entity.PrivilageOrganizational; import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper; +import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper; import com.kiisoo.ic.generalize.service.RetailCompanyService; import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.mapper.PoiStoreDOMapper; @@ -72,6 +73,12 @@ public class CustomerViewService { @Autowired private OpVipDOMapper opVipDOMapper; + /** + * 组织mapper + */ + @Autowired + private RetailCompanyMapper retailCompanyMapper; + /** * 客户概览main * @param userId 用户id @@ -291,7 +298,8 @@ public class CustomerViewService { shopIds.removeAll(notZeroShopIds); PageHelper.startPage(pageNum,pageSize); List list = opCustomerDOMapper.selectOrgInfoByShopIds(shopIds); - + //区域,公司信息 + getShopRegionInfo(list); AtomicInteger number = new AtomicInteger(1 + ((pageNum-1) * pageSize)); //求分页总数 Page pageList = (Page)list; @@ -348,7 +356,7 @@ public class CustomerViewService { //找到公司店铺 List shops = new ArrayList<>(); minCompany.forEach(item -> { - shops.addAll(retailCompanyService.selectShopByCompany(companyId)); + shops.addAll(retailCompanyService.selectShopByCompany(item)); }); //公司店铺和权限做交集 Set shopIds = shops.stream().map(p -> p.getId()).collect(Collectors.toSet()); @@ -357,4 +365,43 @@ public class CustomerViewService { return shopIds; } + /** + * 零推广店铺区域信息 + * @param shopList 店铺list + */ + public void getShopRegionInfo(List shopList){ + //零售公司信息 + List orgIds = shopList.stream().map(CustomerViewZeroExtendVO::getParentId).collect(Collectors.toList()); + if(orgIds.size() == 0){ + return; + } + QueryWrapper orgWrapper = new QueryWrapper<>(); + orgWrapper.in("id", orgIds); + List companyList = retailCompanyMapper.selectList(orgWrapper); + shopList.forEach(zeroExtendVO -> { + Long companyId = zeroExtendVO.getParentId(); + List tmpCompanyList = companyList.stream().filter(companyDO -> companyDO.getId().equals(companyId)).collect(Collectors.toList()); + if(tmpCompanyList.size() > 0){ + zeroExtendVO.setRegionId(tmpCompanyList.get(0).getParentId()); + zeroExtendVO.setCompany(tmpCompanyList.get(0).getName()); + } + }); + //区域信息 + List regionIds = companyList.stream().map(PrivilageOrganizational::getParentId).collect(Collectors.toList()); + if(regionIds.size() == 0){ + return; + } + QueryWrapper regionWrapper = new QueryWrapper<>(); + regionWrapper.in("id", regionIds); + List regionList = retailCompanyMapper.selectList(regionWrapper); + shopList.forEach(zeroExtendVO -> { + Long regionId = zeroExtendVO.getRegionId(); + //区域 + List tmpRegionList = regionList.stream().filter(regionDO -> regionDO.getId().equals(regionId)).collect(Collectors.toList()); + if(tmpRegionList.size() > 0){ + zeroExtendVO.setRegion(tmpRegionList.get(0).getName()); + } + }); + } + } diff --git a/src/main/resources/mapper/OpCustomerDOMapper.xml b/src/main/resources/mapper/OpCustomerDOMapper.xml index 8329cca..3d2a3b3 100644 --- a/src/main/resources/mapper/OpCustomerDOMapper.xml +++ b/src/main/resources/mapper/OpCustomerDOMapper.xml @@ -113,9 +113,9 @@ - +