diff --git a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java index 76dada5..d89a7f4 100644 --- a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java +++ b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java @@ -59,30 +59,26 @@ public class PoiStoreController extends BaseController { } - /** - * 根据用户id,区域id获取店铺 - * @return - */ - @RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST) + @RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST) @ResponseBody - public Map getUserShopDTO(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ + public Map getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds, @RequestParam("scheduleId") Long scheduleId) { try { List customers = null; - if (StringUtils.isNotBlank(customerIds)){ + if (StringUtils.isNotBlank(customerIds)) { String[] split = customerIds.replace("[", "").replace("]", "").split(","); List 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, scheduleId)); + } catch (Exception e) { + log.error("获取用户店铺失败", e); return fail(); } diff --git a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java index 4952c62..ceedc29 100644 --- a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java +++ b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java @@ -2,6 +2,10 @@ package com.kiisoo.ic.store.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kiisoo.ic.activity.entity.PmnActivityInstance; +import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation; +import com.kiisoo.ic.activity.service.IPmnActivityInstanceService; +import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService; import com.kiisoo.ic.customer.service.CustomerViewService; import com.kiisoo.ic.domain.entity.PrivilageDomainEntityDO; import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper; @@ -11,11 +15,8 @@ import com.kiisoo.ic.generalize.mapper.PrivilageOrganizationalDomainMapper; import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper; import com.kiisoo.ic.generalize.service.RetailCompanyService; import com.kiisoo.ic.store.bean.PoiStoreDTO; -import com.kiisoo.ic.store.bean.PoiStoreStaffDTO; import com.kiisoo.ic.store.entity.PoiStore; -import com.kiisoo.ic.store.entity.PoiStoreStaff; import com.kiisoo.ic.store.mapper.PoiStoreDOMapper; -import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,40 +58,41 @@ public class PoiStoreService { private IPmnActivityInstanceService pmnActivityInstanceService; @Autowired private IPmnActivityStoreRelationService storeRelationService; + /** * 根据区域id找到店铺集合 + * * @param regionId */ - public List getRegionShop(long regionId){ + public List getRegionShop(long regionId) { List poiStores = poiStoreDOMapper.selectRegionShop(regionId); return poiStores; } /** * 根据区域id找到店铺集合,若没有,则查用户所有店铺 - * @param regionId */ - public List getRegionShop(long userId,List customerIds){ + public List getRegionShop(long userId, List customerIds) { List poiStores = new ArrayList<>(); //找到店铺集合 List shopsIds = privilageDomainService.listUserDatePermission(userId); - if(null != customerIds && customerIds.size()>0){ + if (null != customerIds && customerIds.size() > 0) { Set shopIds = new HashSet<>(); customerIds.forEach(customerId -> { - Set shops = customerViewService.getCompanyShop(customerId,userId); - if (CollectionUtils.isNotEmpty(shops)){ + Set shops = customerViewService.getCompanyShop(customerId, userId); + if (CollectionUtils.isNotEmpty(shops)) { shopIds.addAll(shops); } }); - if(shopIds.size() > 0){ + if (shopIds.size() > 0) { List 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; @@ -98,16 +100,15 @@ public class PoiStoreService { /** * 根据区域id找到店铺集合,若没有,则查用户所有店铺 - * @param regionId */ - public List getRegionShopDTO(long userId,List customerIds, Long scheduleId){ + public List getRegionShopDTO(long userId, List customerIds, Long scheduleId) { List poiStores = new ArrayList<>(); //找到店铺集合 - if(null != customerIds && customerIds.size()>0){ + if (null != customerIds && customerIds.size() > 0) { Set cs = new HashSet<>(); cs.addAll(customerIds); Set joined = new HashSet<>(); - if(scheduleId != null) { + if (scheduleId != null) { List instances = pmnActivityInstanceService.list(Wrappers.lambdaQuery().eq(PmnActivityInstance::getScheduleId, scheduleId).select(PmnActivityInstance::getId)); Set instanceIds = instances.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); List relations = storeRelationService.list(Wrappers.lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, instanceIds).select(PmnActivityStoreRelation::getStoreId)); @@ -118,17 +119,18 @@ public class PoiStoreService { Set domainIds = domains.stream().map(PrivilageOrganizationalDomain::getDomainId).collect(Collectors.toSet()); List entityDOS = privilageDomainEntityDOMapper.selectList(Wrappers.lambdaQuery().in(PrivilageDomainEntityDO::getDomainId, domainIds).eq(PrivilageDomainEntityDO::getType, 3).select(PrivilageDomainEntityDO::getEntityId)); Set shopIds = entityDOS.stream().map(PrivilageDomainEntityDO::getEntityId).collect(Collectors.toSet()); - if(joined.size() > 0) { + if (joined.size() > 0) { shopIds.removeAll(joined); } - if(shopIds.size() > 0){ + if (shopIds.size() > 0) { poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds); } - }else{ + } else { poiStores = poiStoreDOMapper.selectDTOBatchIds(privilageDomainService.listUserDatePermission(userId)); } return poiStores; } + /** * 查询所有店铺 * @@ -141,20 +143,21 @@ public class PoiStoreService { /** * 根据区域id找到店铺集合,若没有,则查用户所有店铺 + * * @param companyId 零售公司ID */ - public List getStoreByCompanyId(long userId,Long companyId){ + public List getStoreByCompanyId(long userId, Long companyId) { List poiStores = new ArrayList<>(); //找到店铺集合 List shopsIds = privilageDomainService.listUserDatePermission(userId); - if(!companyId.equals(0L)){ - Set shops = customerViewService.getCompanyShop(companyId,userId); - if(shops.size() > 0){ + if (!companyId.equals(0L)) { + Set shops = customerViewService.getCompanyShop(companyId, userId); + if (shops.size() > 0) { List regionPoiStores = poiStoreDOMapper.selectBatchIds(shops); List intersection = regionPoiStores.stream().filter(item -> shops.contains(item.getId())).collect(toList()); return intersection; } - }else{ + } else { poiStores = poiStoreDOMapper.selectBatchIds(shopsIds); } return poiStores;