|
|
|
@ -20,6 +20,7 @@ import com.kiisoo.ic.system.entity.PrivilageRoleDO;
|
|
|
|
|
import com.kiisoo.ic.system.entity.PrivilageUserDO;
|
|
|
|
|
import com.kiisoo.ic.system.enums.RoleEnum;
|
|
|
|
|
import com.kiisoo.ic.system.mapper.PrivilageUserDOMapper;
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
@ -597,56 +598,60 @@ public class RetailCompanyService {
|
|
|
|
|
List<Long> sellerIds = retailCompanyMapper.selectSellerIdsByShop(orgId, shopIds, sellerId);
|
|
|
|
|
List<SellerOrganizationalVO> list = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
//查询所有的用户信息
|
|
|
|
|
List<PrivilageUserDO> list2 = privilageUserDOMapper.selectListPr(sellerIds);
|
|
|
|
|
Map<Long, PrivilageUserDO> map = list2.stream().collect(Collectors.toMap(PrivilageUserDO::getSellerId, 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("user_id").toString()), m1 -> m1.get("count")));
|
|
|
|
|
|
|
|
|
|
List<PoiStoreStaff> list1 = poiStoreStaffDOMapper.selectList(null);
|
|
|
|
|
Map<Long, PoiStoreStaff> map2 = list1.stream().collect(Collectors.toMap(PoiStoreStaff::getId, p -> p));
|
|
|
|
|
|
|
|
|
|
sellerIds.forEach(seller -> {
|
|
|
|
|
SellerOrganizationalVO sellerOrganizationalVO = new SellerOrganizationalVO();
|
|
|
|
|
long count = 0;
|
|
|
|
|
//查询所有的客户
|
|
|
|
|
count = collect.get(seller) == null ? 0 : Long.parseLong(collect.get(seller).toString());
|
|
|
|
|
long countAble = 0;
|
|
|
|
|
countAble = collect1.get(seller) == null ? 0 : Long.parseLong(collect1.get(seller).toString());
|
|
|
|
|
|
|
|
|
|
//查询导购信息
|
|
|
|
|
PrivilageUserDO privilageUserDO = map.get(seller);
|
|
|
|
|
PoiStoreStaff poiStoreStaff = map2.get(seller);
|
|
|
|
|
//计算新客户数据
|
|
|
|
|
newCustomerUser(startTime, endTime, sellerOrganizationalVO, Collections.singletonList(seller));
|
|
|
|
|
//查询导购所属公司门店
|
|
|
|
|
CompanyStoreDO companyStoreDO = poiStoreDOMapper.selectCompanyStore(seller);
|
|
|
|
|
sellerOrganizationalVO.setShopName(companyStoreDO == null ? null : companyStoreDO.getShopName());
|
|
|
|
|
sellerOrganizationalVO.setShopCode(companyStoreDO == null ? null : companyStoreDO.getShopCode());
|
|
|
|
|
sellerOrganizationalVO.setSellerCode(poiStoreStaff == null ? null : poiStoreStaff.getStaffCode());
|
|
|
|
|
sellerOrganizationalVO.setCompanyName(companyStoreDO == null ? null : companyStoreDO.getCompanyName());
|
|
|
|
|
sellerOrganizationalVO.setSellerName(privilageUserDO == null ? null : privilageUserDO.getName());
|
|
|
|
|
sellerOrganizationalVO.setAllCustomer((int) count);
|
|
|
|
|
sellerOrganizationalVO.setEffectiveCustomer((int) countAble);
|
|
|
|
|
list.add(sellerOrganizationalVO);
|
|
|
|
|
});
|
|
|
|
|
if (CollectionUtils.isNotEmpty(sellerIds)){
|
|
|
|
|
//查询所有的用户信息
|
|
|
|
|
List<PrivilageUserDO> list2 = privilageUserDOMapper.selectListPr(sellerIds);
|
|
|
|
|
Map<Long, PrivilageUserDO> map = list2.stream().collect(Collectors.toMap(PrivilageUserDO::getSellerId, 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("user_id").toString()), m1 -> m1.get("count")));
|
|
|
|
|
|
|
|
|
|
List<PoiStoreStaff> list1 = poiStoreStaffDOMapper.selectList(null);
|
|
|
|
|
Map<Long, PoiStoreStaff> map2 = list1.stream().collect(Collectors.toMap(PoiStoreStaff::getId, p -> p));
|
|
|
|
|
|
|
|
|
|
sellerIds.forEach(seller -> {
|
|
|
|
|
SellerOrganizationalVO sellerOrganizationalVO = new SellerOrganizationalVO();
|
|
|
|
|
long count = 0;
|
|
|
|
|
//查询所有的客户
|
|
|
|
|
count = collect.get(seller) == null ? 0 : Long.parseLong(collect.get(seller).toString());
|
|
|
|
|
long countAble = 0;
|
|
|
|
|
countAble = collect1.get(seller) == null ? 0 : Long.parseLong(collect1.get(seller).toString());
|
|
|
|
|
|
|
|
|
|
//查询导购信息
|
|
|
|
|
PrivilageUserDO privilageUserDO = map.get(seller);
|
|
|
|
|
PoiStoreStaff poiStoreStaff = map2.get(seller);
|
|
|
|
|
//计算新客户数据
|
|
|
|
|
newCustomerUser(startTime, endTime, sellerOrganizationalVO, Collections.singletonList(seller));
|
|
|
|
|
//查询导购所属公司门店
|
|
|
|
|
CompanyStoreDO companyStoreDO = poiStoreDOMapper.selectCompanyStore(seller);
|
|
|
|
|
sellerOrganizationalVO.setShopName(companyStoreDO == null ? null : companyStoreDO.getShopName());
|
|
|
|
|
sellerOrganizationalVO.setShopCode(companyStoreDO == null ? null : companyStoreDO.getShopCode());
|
|
|
|
|
sellerOrganizationalVO.setSellerCode(poiStoreStaff == null ? null : poiStoreStaff.getStaffCode());
|
|
|
|
|
sellerOrganizationalVO.setCompanyName(companyStoreDO == null ? null : companyStoreDO.getCompanyName());
|
|
|
|
|
sellerOrganizationalVO.setSellerName(privilageUserDO == null ? null : privilageUserDO.getName());
|
|
|
|
|
sellerOrganizationalVO.setAllCustomer((int) count);
|
|
|
|
|
sellerOrganizationalVO.setEffectiveCustomer((int) countAble);
|
|
|
|
|
list.add(sellerOrganizationalVO);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
OrganizationVO vo = new OrganizationVO();
|
|
|
|
|
//总条数
|
|
|
|
|
if (sellerIds.size() > 0) {
|
|
|
|
|
vo.setDataVOS(list);
|
|
|
|
|
Page<Long> pageList = (Page<Long>) sellerIds;
|
|
|
|
|
long totalSize = pageList.getTotal();
|
|
|
|
|
vo.setSizeNum(totalSize);
|
|
|
|
|
} else {
|
|
|
|
|
OrganizationVO vo = new OrganizationVO();
|
|
|
|
|
//总条数
|
|
|
|
|
if (sellerIds.size() > 0) {
|
|
|
|
|
vo.setDataVOS(list);
|
|
|
|
|
Page<Long> pageList = (Page<Long>) sellerIds;
|
|
|
|
|
long totalSize = pageList.getTotal();
|
|
|
|
|
vo.setSizeNum(totalSize);
|
|
|
|
|
} else {
|
|
|
|
|
return new OrganizationVO();
|
|
|
|
|
}
|
|
|
|
|
return vo;
|
|
|
|
|
}else{
|
|
|
|
|
return new OrganizationVO();
|
|
|
|
|
}
|
|
|
|
|
return vo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|