查询店铺接口

dev_0531
zyy 5 years ago
parent d06dd2a58e
commit de015e55e9

@ -108,4 +108,6 @@ public class DepartmentController extends BaseController {
return fail(); return fail();
} }
} }
} }

@ -29,31 +29,31 @@ public class PoiStoreController extends BaseController {
private PoiStoreService poiStoreService; private PoiStoreService poiStoreService;
/** /**
* idid * idid
*
* @return * @return
*/ */
@RequestMapping(value = "/user/shop",method = RequestMethod.POST) @RequestMapping(value = "/user/shop", method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Map<String,Object> getUserShop(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ public Map<String, Object> getUserShop(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds) {
try { try {
List<Long> customers = null; List<Long> customers = null;
if (StringUtils.isNotBlank(customerIds)){ if (StringUtils.isNotBlank(customerIds)) {
String[] split = customerIds.replace("[", "").replace("]", "").split(","); String[] split = customerIds.replace("[", "").replace("]", "").split(",");
List<String> strings = Arrays.asList(split); List<String> strings = Arrays.asList(split);
if (CollectionUtils.isNotEmpty(strings)){ if (CollectionUtils.isNotEmpty(strings)) {
customers = new ArrayList<>(); customers = new ArrayList<>();
for (String customerId:strings){ for (String customerId : strings) {
if (StringUtils.isNotBlank(customerId)){ if (StringUtils.isNotBlank(customerId)) {
customers.add(Long.parseLong(customerId)); customers.add(Long.parseLong(customerId));
} }
} }
} }
} }
return data(poiStoreService.getRegionShop(userId,customers)); return data(poiStoreService.getRegionShop(userId, customers));
}catch (Exception e){ } catch (Exception e) {
log.error("获取用户店铺失败",e); log.error("获取用户店铺失败", e);
return fail(); return fail();
} }
@ -61,32 +61,34 @@ public class PoiStoreController extends BaseController {
/** /**
* idid * idid
*
* @return * @return
*/ */
@RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST) @RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Map<String,Object> getUserShopDTO(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ public Map<String, Object> getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds) {
try { try {
List<Long> customers = null; List<Long> customers = null;
if (StringUtils.isNotBlank(customerIds)){ if (StringUtils.isNotBlank(customerIds)) {
String[] split = customerIds.replace("[", "").replace("]", "").split(","); String[] split = customerIds.replace("[", "").replace("]", "").split(",");
List<String> strings = Arrays.asList(split); List<String> strings = Arrays.asList(split);
if (CollectionUtils.isNotEmpty(strings)){ if (CollectionUtils.isNotEmpty(strings)) {
customers = new ArrayList<>(); customers = new ArrayList<>();
for (String customerId:strings){ for (String customerId : strings) {
if (StringUtils.isNotBlank(customerId)){ if (StringUtils.isNotBlank(customerId)) {
customers.add(Long.parseLong(customerId)); customers.add(Long.parseLong(customerId));
} }
} }
} }
} }
return data(poiStoreService.getRegionShopDTO(userId,customers)); return data(poiStoreService.getRegionShopDTO(userId, customers));
}catch (Exception e){ } catch (Exception e) {
log.error("获取用户店铺失败",e); log.error("获取用户店铺失败", e);
return fail(); return fail();
} }
} }
/** /**
* *
* *
@ -105,4 +107,23 @@ public class PoiStoreController extends BaseController {
} }
/**
*
*
* @return
*/
@RequestMapping(value = "/org/list", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> orgList(@RequestParam("departmentIdList") String departmentIdList) {
try {
List<PoiStore> shops = poiStoreService.organizationalList(departmentIdList);
return data(shops);
} catch (Exception e) {
log.error("查询店铺出错", e);
return fail();
}
}
} }

@ -86,4 +86,10 @@ public interface PoiStoreDOMapper extends BaseMapper<PoiStore> {
*/ */
PrivilageOrganizational findStoreCompany(@Param("storeId") Long storeId); PrivilageOrganizational findStoreCompany(@Param("storeId") Long storeId);
/***
*
* @param organizationalIdList
* @return
*/
List<PoiStore> organizationalList(@Param("organizationalIdList") String organizationalIdList);
} }

@ -53,40 +53,43 @@ public class PoiStoreService {
private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper; private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper;
@Autowired @Autowired
private RetailCompanyMapper retailCompanyMapper; private RetailCompanyMapper retailCompanyMapper;
/** /**
* id * id
*
* @param regionId * @param regionId
*/ */
public List<PoiStore> getRegionShop(long regionId){ public List<PoiStore> getRegionShop(long regionId) {
List<PoiStore> poiStores = poiStoreDOMapper.selectRegionShop(regionId); List<PoiStore> poiStores = poiStoreDOMapper.selectRegionShop(regionId);
return poiStores; return poiStores;
} }
/** /**
* id * id
*
* @param regionId * @param regionId
*/ */
public List<PoiStore> getRegionShop(long userId,List<Long> customerIds){ public List<PoiStore> getRegionShop(long userId, List<Long> customerIds) {
List<PoiStore> poiStores = new ArrayList<>(); List<PoiStore> poiStores = new ArrayList<>();
//找到店铺集合 //找到店铺集合
List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId); List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId);
if(null != customerIds && customerIds.size()>0){ if (null != customerIds && customerIds.size() > 0) {
Set<Long> shopIds = new HashSet<>(); Set<Long> shopIds = new HashSet<>();
customerIds.forEach(customerId -> { customerIds.forEach(customerId -> {
Set<Long> shops = customerViewService.getCompanyShop(customerId,userId); Set<Long> shops = customerViewService.getCompanyShop(customerId, userId);
if (CollectionUtils.isNotEmpty(shops)){ if (CollectionUtils.isNotEmpty(shops)) {
shopIds.addAll(shops); shopIds.addAll(shops);
} }
}); });
if(shopIds.size() > 0){ if (shopIds.size() > 0) {
List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shopIds); List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shopIds);
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{ } else {
poiStores = poiStoreDOMapper.selectBatchIds(shopsIds); poiStores = poiStoreDOMapper.selectBatchIds(shopsIds);
} }
return poiStores; return poiStores;
@ -94,12 +97,13 @@ public class PoiStoreService {
/** /**
* id * id
*
* @param regionId * @param regionId
*/ */
public List<PoiStoreDTO> getRegionShopDTO(long userId,List<Long> customerIds){ public List<PoiStoreDTO> getRegionShopDTO(long userId, List<Long> customerIds) {
List<PoiStoreDTO> poiStores = new ArrayList<>(); List<PoiStoreDTO> poiStores = new ArrayList<>();
//找到店铺集合 //找到店铺集合
if(null != customerIds && customerIds.size()>0){ if (null != customerIds && customerIds.size() > 0) {
Set<Long> cs = new HashSet<>(); Set<Long> cs = new HashSet<>();
cs.addAll(customerIds); cs.addAll(customerIds);
Set<Long> childs = retailCompanyMapper.selectChildList(cs); Set<Long> childs = retailCompanyMapper.selectChildList(cs);
@ -107,14 +111,15 @@ public class PoiStoreService {
Set<Long> domainIds = domains.stream().map(PrivilageOrganizationalDomain::getDomainId).collect(Collectors.toSet()); Set<Long> domainIds = domains.stream().map(PrivilageOrganizationalDomain::getDomainId).collect(Collectors.toSet());
List<PrivilageDomainEntityDO> entityDOS = privilageDomainEntityDOMapper.selectList(Wrappers.<PrivilageDomainEntityDO>lambdaQuery().in(PrivilageDomainEntityDO::getDomainId, domainIds).eq(PrivilageDomainEntityDO::getType, 3).select(PrivilageDomainEntityDO::getEntityId)); List<PrivilageDomainEntityDO> entityDOS = privilageDomainEntityDOMapper.selectList(Wrappers.<PrivilageDomainEntityDO>lambdaQuery().in(PrivilageDomainEntityDO::getDomainId, domainIds).eq(PrivilageDomainEntityDO::getType, 3).select(PrivilageDomainEntityDO::getEntityId));
Set<Long> shopIds = entityDOS.stream().map(PrivilageDomainEntityDO::getEntityId).collect(Collectors.toSet()); Set<Long> shopIds = entityDOS.stream().map(PrivilageDomainEntityDO::getEntityId).collect(Collectors.toSet());
if(shopIds.size() > 0){ if (shopIds.size() > 0) {
poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds); poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds);
} }
}else{ } else {
poiStores = poiStoreDOMapper.selectDTOBatchIds(privilageDomainService.listUserDatePermission(userId)); poiStores = poiStoreDOMapper.selectDTOBatchIds(privilageDomainService.listUserDatePermission(userId));
} }
return poiStores; return poiStores;
} }
/** /**
* *
* *
@ -127,22 +132,29 @@ public class PoiStoreService {
/** /**
* id * id
*
* @param companyId ID * @param companyId ID
*/ */
public List<PoiStore> getStoreByCompanyId(long userId,Long companyId){ public List<PoiStore> getStoreByCompanyId(long userId, 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.equals(0L)){ if (!companyId.equals(0L)) {
Set<Long> shops = customerViewService.getCompanyShop(companyId,userId); Set<Long> shops = customerViewService.getCompanyShop(companyId, userId);
if(shops.size() > 0){ if (shops.size() > 0) {
List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shops); List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shops);
List<PoiStore> intersection = regionPoiStores.stream().filter(item -> shops.contains(item.getId())).collect(toList()); List<PoiStore> intersection = regionPoiStores.stream().filter(item -> shops.contains(item.getId())).collect(toList());
return intersection; return intersection;
} }
}else{ } else {
poiStores = poiStoreDOMapper.selectBatchIds(shopsIds); poiStores = poiStoreDOMapper.selectBatchIds(shopsIds);
} }
return poiStores; return poiStores;
} }
public List<PoiStore> organizationalList(String organizationalIdList) {
return poiStoreDOMapper.organizationalList(organizationalIdList);
}
} }

@ -208,35 +208,54 @@
</select> </select>
<select id="findStoreCompany" resultType="com.kiisoo.ic.generalize.entity.PrivilageOrganizational"> <select id="findStoreCompany" resultType="com.kiisoo.ic.generalize.entity.PrivilageOrganizational">
SELECT SELECT
t.* t.*
FROM FROM
privilage_organizational t privilage_organizational t
WHERE WHERE
t.id = ( t.id = (
SELECT SELECT
t1.parent_id t1.parent_id
FROM FROM
privilage_organizational t1 privilage_organizational t1
WHERE WHERE
id = ( id = (
SELECT SELECT
t1.org_id t1.org_id
FROM FROM
privilage_organizational_domain t1 privilage_organizational_domain t1
WHERE WHERE
t1.domain_id = ( t1.domain_id = (
SELECT SELECT
t2.domain_id t2.domain_id
FROM FROM
privilage_domain_entity t2 privilage_domain_entity t2
WHERE WHERE
t2.entity_id = #{storeId} t2.entity_id = #{storeId}
) )
) )
) )
AND t.LEVEL = 2 AND t.LEVEL = 2
LIMIT 0, LIMIT 0,
1; 1;
</select>
<select id="organizationalList" resultType="com.kiisoo.ic.store.entity.PoiStore">
SELECT
d.*
FROM
privilage_organizational a
INNER JOIN privilage_organizational_domain b ON a.id = b.org_id
INNER JOIN privilage_domain_entity c ON c.domain_id = b.domain_id
INNER JOIN poi_store d ON c.entity_id = d.id
WHERE 1=1
<if test="organizationalIdList!=null and organizationalIdList!=''">
AND a.id IN
<foreach item="item" collection="organizationalIdList.split(',')" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save