店铺对应的推广用户

master
wangweijia 6 years ago
parent 86319bfa1f
commit adafa57e55

@ -17,6 +17,7 @@ import com.kiisoo.ic.customer.entity.OpVip;
import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper; import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper;
import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper;
import com.kiisoo.ic.customer.mapper.OpVipDOMapper; import com.kiisoo.ic.customer.mapper.OpVipDOMapper;
import com.kiisoo.ic.customer.service.CustomerViewService;
import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.service.RetailCompanyService; import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.entity.PoiStore;
@ -73,6 +74,8 @@ public class CustomerService {
@Autowired @Autowired
private RetailCompanyService retailCompanyService; private RetailCompanyService retailCompanyService;
@Autowired
private CustomerViewService customerViewService;
/** /**
* token * token
@ -372,10 +375,8 @@ public class CustomerService {
shopIds.retainAll(userAllShops); shopIds.retainAll(userAllShops);
}else if(companyId != null){ }else if(companyId != null){
//如果有公司则查公司店铺 //如果有公司则查公司店铺
List<PoiStore> shops = retailCompanyService.selectShopByCompany(companyId); Set<Long> sp = customerViewService.getCompanyShop(companyId, userId);
shopIds = shops.stream().map(p -> p.getId()).collect(Collectors.toSet()); shopIds.addAll(sp);
List<Long> userAllShops = privilageDomainService.listUserDatePermission(userId);
shopIds.retainAll(userAllShops);
}else{ }else{
//查询用户权限店铺 //查询用户权限店铺
shopIds = new HashSet<>(privilageDomainService.listUserDatePermission(userId)); shopIds = new HashSet<>(privilageDomainService.listUserDatePermission(userId));

@ -398,7 +398,7 @@ public class CustomerViewService {
//找到公司店铺 //找到公司店铺
List<PoiStore> shops = new ArrayList<>(); List<PoiStore> shops = new ArrayList<>();
minCompany.forEach(item -> { minCompany.forEach(item -> {
shops.addAll(retailCompanyService.selectShopByCompany(item)); shops.addAll(retailCompanyService.selectCustomerShopByCompany(item));
}); });
//公司店铺和权限做交集 //公司店铺和权限做交集
Set<Long> shopIds = shops.stream().map(p -> p.getId()).collect(Collectors.toSet()); Set<Long> shopIds = shops.stream().map(p -> p.getId()).collect(Collectors.toSet());

@ -201,6 +201,16 @@ public class RetailCompanyService {
return poiStoreDOMapper.selectShopByCustomerIds(new ArrayList<>(customerIds)); return poiStoreDOMapper.selectShopByCustomerIds(new ArrayList<>(customerIds));
} }
/**
*
* @param orgId id
* @return
*/
public List<PoiStore> selectCustomerShopByCompany(Long orgId){
return poiStoreDOMapper.selectCustomerShopByCompany(orgId);
}
/** /**
* *
* @param shopId id * @param shopId id

@ -37,6 +37,8 @@ public interface PoiStoreDOMapper extends BaseMapper<PoiStore> {
List<PoiStore> selectShopByCompany(Long orgId); List<PoiStore> selectShopByCompany(Long orgId);
List<PoiStore> selectCustomerShopByCompany(Long orgId);
List<PrivilageUserDO> selectSellerByShop(Long shopId); List<PrivilageUserDO> selectSellerByShop(Long shopId);
String selectStoreQrCode(@Param("shopId")Long shopId); String selectStoreQrCode(@Param("shopId")Long shopId);

@ -1,5 +1,6 @@
package com.kiisoo.ic.store.service; package com.kiisoo.ic.store.service;
import com.kiisoo.ic.customer.service.CustomerViewService;
import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.service.RetailCompanyService; import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.bean.PoiStoreStaffDTO; import com.kiisoo.ic.store.bean.PoiStoreStaffDTO;
@ -11,6 +12,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -29,7 +31,7 @@ public class PoiSellerService {
private PrivilageDomainService privilageDomainService; private PrivilageDomainService privilageDomainService;
@Autowired @Autowired
private RetailCompanyService retailCompanyService; private CustomerViewService customerViewService;
/** /**
* id * id
* @param shopId id * @param shopId id
@ -56,10 +58,7 @@ public class PoiSellerService {
shopIds.retainAll(regionShopIds); shopIds.retainAll(regionShopIds);
}else if(companyId != null){ }else if(companyId != null){
//有公司就查公司店铺 //有公司就查公司店铺
shopIds = privilageDomainService.listUserDatePermission(userId); shopIds.addAll(customerViewService.getCompanyShop(companyId,userId));
List<PoiStore> stores = retailCompanyService.selectShopByCompany(companyId);
List<Long> regionShopIds = stores.stream().map(i -> i.getId()).collect(Collectors.toList());
shopIds.retainAll(regionShopIds);
}else{ }else{
//什么都没有就全查 //什么都没有就全查
shopIds = privilageDomainService.listUserDatePermission(userId); shopIds = privilageDomainService.listUserDatePermission(userId);

@ -1,6 +1,7 @@
package com.kiisoo.ic.store.service; package com.kiisoo.ic.store.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kiisoo.ic.customer.service.CustomerViewService;
import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.service.RetailCompanyService; import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.bean.PoiStoreStaffDTO; import com.kiisoo.ic.store.bean.PoiStoreStaffDTO;
@ -13,6 +14,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* *
@ -28,6 +30,9 @@ public class PoiStoreService {
@Autowired @Autowired
private RetailCompanyService retailCompanyService; private RetailCompanyService retailCompanyService;
@Autowired
private CustomerViewService customerViewService;
/** /**
* id * id
* @param regionId * @param regionId
@ -41,22 +46,25 @@ public class PoiStoreService {
* id * id
* @param regionId * @param regionId
*/ */
public List<PoiStore> getRegionShop(long userId,Long bigRegionId, Long companyId){ public List<PoiStore> getRegionShop(long userId,Long regionId, Long companyId){
List<PoiStore> poiStores = new ArrayList<>(); List<PoiStore> poiStores = new ArrayList<>();
//找到店铺集合 //找到店铺集合
List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId); List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId);
if(companyId != null){ if(null != regionId){
List<PoiStore> regionPoiStores = retailCompanyService.selectShopByCompany(companyId); List<PoiStore> regionPoiStores = poiStoreDOMapper.selectRegionShop(regionId);
for(PoiStore item : regionPoiStores){ for(PoiStore item : regionPoiStores){
if(shopsIds.contains(item.getId())){ if(shopsIds.contains(item.getId())){
poiStores.add(item); poiStores.add(item);
} }
} }
}else if(null != bigRegionId){ }else if(companyId != null){
List<PoiStore> regionPoiStores = retailCompanyService.selectShopByBigRegion(bigRegionId); Set<Long> shops = customerViewService.getCompanyShop(companyId,userId);
for(PoiStore item : regionPoiStores){ if(shops.size() > 0){
if(shopsIds.contains(item.getId())){ List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shops);
poiStores.add(item); for(PoiStore item : regionPoiStores){
if(shopsIds.contains(item.getId())){
poiStores.add(item);
}
} }
} }
}else{ }else{

@ -8,7 +8,7 @@ mybatis:
spring: spring:
datasource: datasource:
url: jdbc:mysql://192.168.0.215:3306/ic?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true url: jdbc:mysql://192.168.0.215:3306/ic1?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: p2p username: p2p
password: p2p password: p2p
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver

@ -45,6 +45,23 @@
and t2.entity_id = t3.id and t2.entity_id = t3.id
and t2.type = 3 and t2.type = 3
</select> </select>
<select id="selectCustomerShopByCompany" resultType="com.kiisoo.ic.store.entity.PoiStore">
select t3.id,t3.name
from privilage_organizational t,
privilage_organizational_domain t1,
privilage_domain_entity t2,
poi_store t3
where 1 = 1
and t.id = #{orgId}
and t.level = 3
and t.id = t1.org_id
and t1.domain_id = t2.domain_id
and t2.entity_id = t3.id
and t2.type = 3
</select>
<select id="selectShopByCustomerIds" resultType="com.kiisoo.ic.store.entity.PoiStore"> <select id="selectShopByCustomerIds" resultType="com.kiisoo.ic.store.entity.PoiStore">
select t3.id,t3.name select t3.id,t3.name
from privilage_organizational_domain t1, from privilage_organizational_domain t1,

Loading…
Cancel
Save