零推广详情页,分页sql合并

master
wyj2080 6 years ago
parent 2aec41eaff
commit 7c8456d0b1

@ -56,6 +56,6 @@ public interface OpCustomerDOMapper extends BaseMapper<OpCustomer> {
/**
* ids
*/
List<CustomerViewZeroExtendVO> selectOrgInfoByShopIds(@Param("shopIds") List<Long> shopIds);
List<CustomerViewZeroExtendVO> selectOrgInfoByShopIds(@Param("shopIds") List<Long> shopIds, @Param("regionId")Long regionId , @Param("companyId")Long companyId, @Param("customerId")Long customerId);
}

@ -330,17 +330,18 @@ public class CustomerViewService {
* 广list
* @param newCustimerList list
* @param shopIds ids
* @param regionId
* @param companyId
* @param customerId
* @return 广list
*/
List<CustomerViewZeroExtendVO> getZeroExtendList2(List<OpCustomer> newCustimerList, List<Long> shopIds, int pageNum, int pageSize){
List<CustomerViewZeroExtendVO> getZeroExtendList2(List<OpCustomer> newCustimerList, List<Long> shopIds, int pageNum, int pageSize, Long regionId , Long companyId, Long customerId){
//有推广的店铺ids
List<Long> notZeroShopIds = newCustimerList.stream().map(OpCustomer::getShopId).distinct().collect(Collectors.toList());
//无推广id
shopIds.removeAll(notZeroShopIds);
PageHelper.startPage(pageNum,pageSize);
List<CustomerViewZeroExtendVO> list = opCustomerDOMapper.selectOrgInfoByShopIds(shopIds);
//区域,公司信息
getShopRegionInfo(list);
List<CustomerViewZeroExtendVO> list = opCustomerDOMapper.selectOrgInfoByShopIds(shopIds, regionId, companyId, customerId);
AtomicInteger number = new AtomicInteger(1 + ((pageNum-1) * pageSize));
//求分页总数
Page<CustomerViewZeroExtendVO> pageList = (Page<CustomerViewZeroExtendVO>)list;
@ -383,7 +384,7 @@ public class CustomerViewService {
}
//柱状图好友list
List<OpCustomer> customerList = opCustomerDOMapper.selectCustomerList(new ArrayList<>(shopIds), null, null, startTime, endTime);
List<CustomerViewZeroExtendVO> zeroExtendList = getZeroExtendList2(customerList, new ArrayList<>(shopIds),pageNum,pageSize);
List<CustomerViewZeroExtendVO> zeroExtendList = getZeroExtendList2(customerList, new ArrayList<>(shopIds),pageNum,pageSize, regionId, companyId, customerId);
return zeroExtendList;
}
@ -406,46 +407,5 @@ public class CustomerViewService {
return shopIds;
}
/**
* 广
* @param shopList list
*/
public void getShopRegionInfo(List<CustomerViewZeroExtendVO> shopList){
if(shopList.size() == 0){
return;
}
//零售公司信息
List<Long> orgIds = shopList.stream().map(CustomerViewZeroExtendVO::getParentId).collect(Collectors.toList());
if(orgIds.size() == 0){
return;
}
QueryWrapper<PrivilageOrganizational> orgWrapper = new QueryWrapper<>();
orgWrapper.in("id", orgIds);
List<PrivilageOrganizational> companyList = retailCompanyMapper.selectList(orgWrapper);
shopList.forEach(zeroExtendVO -> {
Long companyId = zeroExtendVO.getParentId();
List<PrivilageOrganizational> 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<Long> regionIds = companyList.stream().map(PrivilageOrganizational::getParentId).collect(Collectors.toList());
if(regionIds.size() == 0){
return;
}
QueryWrapper<PrivilageOrganizational> regionWrapper = new QueryWrapper<>();
regionWrapper.in("id", regionIds);
List<PrivilageOrganizational> regionList = retailCompanyMapper.selectList(regionWrapper);
shopList.forEach(zeroExtendVO -> {
Long regionId = zeroExtendVO.getRegionId();
//区域
List<PrivilageOrganizational> tmpRegionList = regionList.stream().filter(regionDO -> regionDO.getId().equals(regionId)).collect(Collectors.toList());
if(tmpRegionList.size() > 0){
zeroExtendVO.setRegion(tmpRegionList.get(0).getName());
}
});
}
}

@ -119,14 +119,22 @@
<!--店铺ids→零售公司信息-->
<select id="selectOrgInfoByShopIds" resultType="com.kiisoo.ic.customer.entity.CustomerViewZeroExtendVO">
select t1.id as customerId,t1.`name` as customer, t3.entity_id as shopId, t4.name as shopName, t4.code as shopCode, t1.parent_id as parentId
from privilage_organizational t1, privilage_organizational_domain t2, privilage_domain_entity t3, poi_store t4
where t1.id = t2.org_id
and t2.domain_id = t3.domain_id
and t3.type = 3 and t3.entity_id = t4.id
SELECT region.id as regionId,region.name as region,company.id as companyId,company.name as company,
customer.id as customerId,customer.name as customer ,shop.id as shopId, shop.`code` as shopCode, shop.name as shopName
FROM `privilage_organizational` region,`privilage_organizational` company,`privilage_organizational` customer,
privilage_organizational_domain t4, privilage_domain_entity t5,poi_store shop
where company.parent_id=region.id
and customer.parent_id = company.id
and region.`level`=1
and company.`level`=2
and customer.`level`=3
and customer.id = t4.org_id
and t4.domain_id=t5.domain_id
and t5.type=3
and t5.entity_id=shop.id
<choose>
<when test="shopIds != null and shopIds.size > 0 ">
and t3.entity_id in
and shop.id in
<foreach collection="shopIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -135,6 +143,14 @@
and 1 = 0
</otherwise>
</choose>
order by t3.entity_id,t1.id asc
<if test="regionId != null and regionId != 0">
and region.id = #{regionId}
</if>
<if test="companyId != null and companyId != 0">
and company.id = #{companyId}
</if>
<if test="customerId != null and customerId != 0">
and customer.id = #{customerId}
</if>
</select>
</mapper>

Loading…
Cancel
Save