|
|
@ -277,7 +277,7 @@ public class RetailCompanyService {
|
|
|
|
List<PrivilageOrganizational> listOfOrg = retailCompanyMapper.selectList(wrapper);
|
|
|
|
List<PrivilageOrganizational> listOfOrg = retailCompanyMapper.selectList(wrapper);
|
|
|
|
|
|
|
|
|
|
|
|
List<RetailOrganizationalVO> list = new ArrayList<>();
|
|
|
|
List<RetailOrganizationalVO> list = new ArrayList<>();
|
|
|
|
listOfOrg.forEach(org -> {
|
|
|
|
listOfOrg.parallelStream().forEach(org -> {
|
|
|
|
RetailOrganizationalVO organizationalVO = new RetailOrganizationalVO();
|
|
|
|
RetailOrganizationalVO organizationalVO = new RetailOrganizationalVO();
|
|
|
|
organizationalVO.setRetailCompany(org.getName());
|
|
|
|
organizationalVO.setRetailCompany(org.getName());
|
|
|
|
|
|
|
|
|
|
|
@ -444,23 +444,34 @@ public class RetailCompanyService {
|
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
|
List<CompanyStoreDO> list = retailCompanyMapper.selectShopIdByRetail(orgId, shopId);
|
|
|
|
List<CompanyStoreDO> list = retailCompanyMapper.selectShopIdByRetail(orgId, shopId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Long> shopIds = list.stream().map(CompanyStoreDO::getShopId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
//查询所有的店铺信息
|
|
|
|
|
|
|
|
QueryWrapper<PoiStore> poiStoreQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
|
|
|
poiStoreQueryWrapper.in("id", shopIds);
|
|
|
|
|
|
|
|
List<PoiStore> list2 = poiStoreDOMapper.selectList(poiStoreQueryWrapper);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<Long, PoiStore> map = list2.stream().collect(Collectors.toMap(PoiStore::getId, p -> p));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//所有的导购客户个数
|
|
|
|
|
|
|
|
List<Map<String, Object>> map1 = opSellerCustomerRelationDOMapper.selectAllCustomerShop(shopIds);
|
|
|
|
|
|
|
|
Map<Long, Object> collect = map1 == null ? new HashMap<>() : map1.stream().collect(Collectors.toMap(m -> Long.parseLong(m.get("store_id").toString()), m1 -> m1.get("count")));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> map2 = opSellerCustomerRelationDOMapper.selectAllCustomerShop1(shopIds);
|
|
|
|
|
|
|
|
Map<Long, Object> collect1 = map2 == null ? new HashMap<>() : map2.stream().collect(Collectors.toMap(m -> Long.parseLong(m.get("store_id").toString()), m1 -> m1.get("count")));
|
|
|
|
List<StoreOrganizationalVO> list1 = new ArrayList<>();
|
|
|
|
List<StoreOrganizationalVO> list1 = new ArrayList<>();
|
|
|
|
list.forEach(li -> {
|
|
|
|
|
|
|
|
StoreOrganizationalVO storeOrganizationalVO = new StoreOrganizationalVO();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
list.stream().parallel().forEach(li -> {
|
|
|
|
|
|
|
|
StoreOrganizationalVO storeOrganizationalVO = new StoreOrganizationalVO();
|
|
|
|
|
|
|
|
long count = 0;
|
|
|
|
//查询所有的客户
|
|
|
|
//查询所有的客户
|
|
|
|
QueryWrapper<OpSellerCustomerRelation> wrapper = new QueryWrapper<>();
|
|
|
|
count = collect.get(li) == null ? 0 : Long.parseLong(collect.get(li).toString());
|
|
|
|
wrapper.eq("store_id", li.getShopId());
|
|
|
|
long countAble = 0;
|
|
|
|
long count = opSellerCustomerRelationDOMapper.selectCount(wrapper);
|
|
|
|
|
|
|
|
//查询所有的有效客户
|
|
|
|
//查询所有的有效客户
|
|
|
|
QueryWrapper<OpSellerCustomerRelation> wrapper2 = new QueryWrapper<>();
|
|
|
|
countAble = collect1.get(li) == null ? 0 : Long.parseLong(collect1.get(li).toString());
|
|
|
|
wrapper2.eq("store_id", li.getShopId());
|
|
|
|
|
|
|
|
wrapper2.eq("type", 1);
|
|
|
|
|
|
|
|
long countAble = opSellerCustomerRelationDOMapper.selectCount(wrapper2);
|
|
|
|
|
|
|
|
//计算新客户数据
|
|
|
|
//计算新客户数据
|
|
|
|
newCustomerStore(startTime, endTime, storeOrganizationalVO, Collections.singletonList(li.getShopId()));
|
|
|
|
newCustomerStore(startTime, endTime, storeOrganizationalVO, Collections.singletonList(li.getShopId()));
|
|
|
|
//查询店铺的名称
|
|
|
|
//查询店铺的名称
|
|
|
|
PoiStore poiStore = poiStoreDOMapper.selectById(li.getShopId());
|
|
|
|
PoiStore poiStore = map.get(li.getShopId());
|
|
|
|
|
|
|
|
|
|
|
|
//被拉黑的客户数
|
|
|
|
//被拉黑的客户数
|
|
|
|
QueryWrapper<PoiCustomerContactDataStat> wrapper3 = new QueryWrapper<>();
|
|
|
|
QueryWrapper<PoiCustomerContactDataStat> wrapper3 = new QueryWrapper<>();
|
|
|
@ -507,19 +518,38 @@ public class RetailCompanyService {
|
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
|
List<Long> sellerIds = retailCompanyMapper.selectSellerIdsByShop(orgId, shopId, sellerId);
|
|
|
|
List<Long> sellerIds = retailCompanyMapper.selectSellerIdsByShop(orgId, shopId, sellerId);
|
|
|
|
List<SellerOrganizationalVO> list = new ArrayList<>();
|
|
|
|
List<SellerOrganizationalVO> list = new ArrayList<>();
|
|
|
|
sellerIds.forEach(seller -> {
|
|
|
|
|
|
|
|
SellerOrganizationalVO sellerOrganizationalVO = new SellerOrganizationalVO();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询所有的店铺信息
|
|
|
|
|
|
|
|
QueryWrapper<PrivilageUserDO> poiStoreQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
|
|
|
poiStoreQueryWrapper.in("id", sellerIds);
|
|
|
|
|
|
|
|
List<PrivilageUserDO> list2 = privilageUserDOMapper.selectList(poiStoreQueryWrapper);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<Long, PrivilageUserDO> map = list2.stream().collect(Collectors.toMap(PrivilageUserDO::getId, p -> p));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//所有的导购客户个数
|
|
|
|
|
|
|
|
List<Map<String, Object>> map1 = opSellerCustomerRelationDOMapper.selectAllCustomer(sellerIds);
|
|
|
|
|
|
|
|
Map<Long, Object> collect = map1 == null ? new HashMap<>() : map1.stream().collect(Collectors.toMap(m -> Long.parseLong(m.get("user_id").toString()), m1 -> m1.get("count")));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> map3 = opSellerCustomerRelationDOMapper.selectAllCustomer1(sellerIds);
|
|
|
|
|
|
|
|
Map<Long, Object> collect1 = map3 == null ? new HashMap<>() : map3.stream().collect(Collectors.toMap(m -> Long.parseLong(m.get("store_id").toString()), m1 -> m1.get("count")));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QueryWrapper<PoiStoreStaff> wrapper1 = new QueryWrapper<>();
|
|
|
|
|
|
|
|
wrapper1.in("user_id", sellerIds);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<PoiStoreStaff> list1 = poiStoreStaffDOMapper.selectList(wrapper1);
|
|
|
|
|
|
|
|
Map<Long, PoiStoreStaff> map2 = list1.stream().collect(Collectors.toMap(PoiStoreStaff::getId, p -> p));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sellerIds.stream().parallel().forEach(seller -> {
|
|
|
|
|
|
|
|
SellerOrganizationalVO sellerOrganizationalVO = new SellerOrganizationalVO();
|
|
|
|
|
|
|
|
long count = 0;
|
|
|
|
//查询所有的客户
|
|
|
|
//查询所有的客户
|
|
|
|
QueryWrapper<OpSellerCustomerRelation> wrapper = new QueryWrapper<>();
|
|
|
|
count = collect.get(seller) == null ? 0 : Long.parseLong(collect.get(seller).toString());
|
|
|
|
wrapper.eq("user_id", seller);
|
|
|
|
long countAble = 0;
|
|
|
|
long count = opSellerCustomerRelationDOMapper.selectCount(wrapper);
|
|
|
|
countAble = collect1.get(seller) == null ? 0 : Long.parseLong(collect1.get(seller).toString());
|
|
|
|
|
|
|
|
|
|
|
|
//查询导购信息
|
|
|
|
//查询导购信息
|
|
|
|
PrivilageUserDO privilageUserDO = privilageUserDOMapper.selectById(seller);
|
|
|
|
PrivilageUserDO privilageUserDO = map.get(seller);
|
|
|
|
QueryWrapper<PoiStoreStaff> wrapper1 = new QueryWrapper<>();
|
|
|
|
PoiStoreStaff poiStoreStaff = map2.get(seller);
|
|
|
|
wrapper1.eq("user_id", seller).last("limit 1");
|
|
|
|
|
|
|
|
PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(wrapper1);
|
|
|
|
|
|
|
|
//计算新客户数据
|
|
|
|
//计算新客户数据
|
|
|
|
newCustomerUser(startTime, endTime, sellerOrganizationalVO, Collections.singletonList(seller));
|
|
|
|
newCustomerUser(startTime, endTime, sellerOrganizationalVO, Collections.singletonList(seller));
|
|
|
|
//查询导购所属公司门店
|
|
|
|
//查询导购所属公司门店
|
|
|
@ -530,6 +560,7 @@ public class RetailCompanyService {
|
|
|
|
sellerOrganizationalVO.setCompanyName(companyStoreDO == null ? null : companyStoreDO.getCompanyName());
|
|
|
|
sellerOrganizationalVO.setCompanyName(companyStoreDO == null ? null : companyStoreDO.getCompanyName());
|
|
|
|
sellerOrganizationalVO.setSellerName(privilageUserDO == null ? null : privilageUserDO.getName());
|
|
|
|
sellerOrganizationalVO.setSellerName(privilageUserDO == null ? null : privilageUserDO.getName());
|
|
|
|
sellerOrganizationalVO.setAllCustomer((int) count);
|
|
|
|
sellerOrganizationalVO.setAllCustomer((int) count);
|
|
|
|
|
|
|
|
sellerOrganizationalVO.setEffectiveCustomer((int) countAble);
|
|
|
|
list.add(sellerOrganizationalVO);
|
|
|
|
list.add(sellerOrganizationalVO);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|