客户回调接口

master
Caps 6 years ago
parent 3fb5d370ab
commit 93ec40fd43

@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
@ -33,4 +34,10 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper<OpSellerCus
@Param("startDate") Date startDate,
@Param("endDate") Date endDate,
@Param("type") Integer type);
List<Map<String, Object>> selectAllCustomer(@Param("ids") List<Long> ids);
List<Map<String, Object>> selectAllCustomer1(@Param("ids") List<Long> ids);
List<Map<String, Object>> selectAllCustomerShop(@Param("ids") List<Long> ids);
List<Map<String, Object>> selectAllCustomerShop1(@Param("ids") List<Long> ids);
}

@ -277,7 +277,7 @@ public class RetailCompanyService {
List<PrivilageOrganizational> listOfOrg = retailCompanyMapper.selectList(wrapper);
List<RetailOrganizationalVO> list = new ArrayList<>();
listOfOrg.forEach(org -> {
listOfOrg.parallelStream().forEach(org -> {
RetailOrganizationalVO organizationalVO = new RetailOrganizationalVO();
organizationalVO.setRetailCompany(org.getName());
@ -444,23 +444,34 @@ public class RetailCompanyService {
PageHelper.startPage(pageNum, pageSize);
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.forEach(li -> {
StoreOrganizationalVO storeOrganizationalVO = new StoreOrganizationalVO();
list.stream().parallel().forEach(li -> {
StoreOrganizationalVO storeOrganizationalVO = new StoreOrganizationalVO();
long count = 0;
//查询所有的客户
QueryWrapper<OpSellerCustomerRelation> wrapper = new QueryWrapper<>();
wrapper.eq("store_id", li.getShopId());
long count = opSellerCustomerRelationDOMapper.selectCount(wrapper);
count = collect.get(li) == null ? 0 : Long.parseLong(collect.get(li).toString());
long countAble = 0;
//查询所有的有效客户
QueryWrapper<OpSellerCustomerRelation> wrapper2 = new QueryWrapper<>();
wrapper2.eq("store_id", li.getShopId());
wrapper2.eq("type", 1);
long countAble = opSellerCustomerRelationDOMapper.selectCount(wrapper2);
countAble = collect1.get(li) == null ? 0 : Long.parseLong(collect1.get(li).toString());
//计算新客户数据
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<>();
@ -507,19 +518,38 @@ public class RetailCompanyService {
PageHelper.startPage(pageNum, pageSize);
List<Long> sellerIds = retailCompanyMapper.selectSellerIdsByShop(orgId, shopId, sellerId);
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<>();
wrapper.eq("user_id", seller);
long count = opSellerCustomerRelationDOMapper.selectCount(wrapper);
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 = privilageUserDOMapper.selectById(seller);
QueryWrapper<PoiStoreStaff> wrapper1 = new QueryWrapper<>();
wrapper1.eq("user_id", seller).last("limit 1");
PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(wrapper1);
PrivilageUserDO privilageUserDO = map.get(seller);
PoiStoreStaff poiStoreStaff = map2.get(seller);
//计算新客户数据
newCustomerUser(startTime, endTime, sellerOrganizationalVO, Collections.singletonList(seller));
//查询导购所属公司门店
@ -530,6 +560,7 @@ public class RetailCompanyService {
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);
});

@ -50,4 +50,42 @@
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate},'%Y-%m-%d')
</if>
</select>
<select id="selectAllCustomer" resultType="java.util.Map">
select user_id,count(0) as count from op_seller_customer_relation
where 1 = 1
and user_id in
<foreach collection="ids" open="(" index="index" close=")" item="item" separator=",">
#{item}
</foreach>
group by user_id
</select>
<select id="selectAllCustomerShop" resultType="java.util.Map">
select store_id,count(0) as count from op_seller_customer_relation
where 1 = 1
and store_id in
<foreach collection="ids" open="(" index="index" close=")" item="item" separator=",">
#{item}
</foreach>
group by store_id
</select>
<select id="selectAllCustomerShop1" resultType="java.util.Map">
select store_id,count(0) as count from op_seller_customer_relation
where 1 = 1
and type = 1
and store_id in
<foreach collection="ids" open="(" index="index" close=")" item="item" separator=",">
#{item}
</foreach>
group by store_id
</select>
<select id="selectAllCustomer1" resultType="java.util.Map">
select user_id,count(0) as count from op_seller_customer_relation
where 1 = 1
and type = 1
and user_id in
<foreach collection="ids" open="(" index="index" close=")" item="item" separator=",">
#{item}
</foreach>
group by user_id
</select>
</mapper>

@ -70,7 +70,6 @@
where t1.domain_id = t2.domain_id
and t2.entity_id = t3.id
and t2.type = 3
and
<choose>
<when test="customerIds != null and customerIds.size > 0">
and t1.org_id in

Loading…
Cancel
Save