查询店铺接口

dev_0531
zyy 5 years ago
parent d06dd2a58e
commit de015e55e9

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

@ -29,31 +29,31 @@ public class PoiStoreController extends BaseController {
private PoiStoreService poiStoreService;
/**
* idid
*
* @return
*/
@RequestMapping(value = "/user/shop",method = RequestMethod.POST)
@RequestMapping(value = "/user/shop", method = RequestMethod.POST)
@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 {
List<Long> customers = null;
if (StringUtils.isNotBlank(customerIds)){
if (StringUtils.isNotBlank(customerIds)) {
String[] split = customerIds.replace("[", "").replace("]", "").split(",");
List<String> strings = Arrays.asList(split);
if (CollectionUtils.isNotEmpty(strings)){
if (CollectionUtils.isNotEmpty(strings)) {
customers = new ArrayList<>();
for (String customerId:strings){
if (StringUtils.isNotBlank(customerId)){
for (String customerId : strings) {
if (StringUtils.isNotBlank(customerId)) {
customers.add(Long.parseLong(customerId));
}
}
}
}
return data(poiStoreService.getRegionShop(userId,customers));
}catch (Exception e){
log.error("获取用户店铺失败",e);
return data(poiStoreService.getRegionShop(userId, customers));
} catch (Exception e) {
log.error("获取用户店铺失败", e);
return fail();
}
@ -61,32 +61,34 @@ public class PoiStoreController extends BaseController {
/**
* idid
*
* @return
*/
@RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST)
@RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST)
@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 {
List<Long> customers = null;
if (StringUtils.isNotBlank(customerIds)){
if (StringUtils.isNotBlank(customerIds)) {
String[] split = customerIds.replace("[", "").replace("]", "").split(",");
List<String> strings = Arrays.asList(split);
if (CollectionUtils.isNotEmpty(strings)){
if (CollectionUtils.isNotEmpty(strings)) {
customers = new ArrayList<>();
for (String customerId:strings){
if (StringUtils.isNotBlank(customerId)){
for (String customerId : strings) {
if (StringUtils.isNotBlank(customerId)) {
customers.add(Long.parseLong(customerId));
}
}
}
}
return data(poiStoreService.getRegionShopDTO(userId,customers));
}catch (Exception e){
log.error("获取用户店铺失败",e);
return data(poiStoreService.getRegionShopDTO(userId, customers));
} catch (Exception e) {
log.error("获取用户店铺失败", e);
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);
/***
*
* @param organizationalIdList
* @return
*/
List<PoiStore> organizationalList(@Param("organizationalIdList") String organizationalIdList);
}

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

@ -208,11 +208,11 @@
</select>
<select id="findStoreCompany" resultType="com.kiisoo.ic.generalize.entity.PrivilageOrganizational">
SELECT
SELECT
t.*
FROM
FROM
privilage_organizational t
WHERE
WHERE
t.id = (
SELECT
t1.parent_id
@ -239,4 +239,23 @@ WHERE
LIMIT 0,
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>
</mapper>

Loading…
Cancel
Save