查询店铺接口

dev_0531
zyy 5 years ago
parent 3ac8cfbb9b
commit f93a840aa6

@ -59,30 +59,26 @@ 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, @RequestParam("scheduleId") Long scheduleId) {
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, scheduleId));
} catch (Exception e) {
log.error("获取用户店铺失败", e);
return fail();
}

@ -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<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;
@ -98,16 +100,15 @@ public class PoiStoreService {
/**
* id
* @param regionId
*/
public List<PoiStoreDTO> getRegionShopDTO(long userId,List<Long> customerIds, Long scheduleId){
public List<PoiStoreDTO> getRegionShopDTO(long userId, List<Long> customerIds, Long scheduleId) {
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> joined = new HashSet<>();
if(scheduleId != null) {
if (scheduleId != null) {
List<PmnActivityInstance> instances = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().eq(PmnActivityInstance::getScheduleId, scheduleId).select(PmnActivityInstance::getId));
Set<Long> instanceIds = instances.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet());
List<PmnActivityStoreRelation> relations = storeRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, instanceIds).select(PmnActivityStoreRelation::getStoreId));
@ -118,17 +119,18 @@ 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(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<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;

Loading…
Cancel
Save