|
|
@@ -118,10 +118,20 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
siteIds.add(bo.getStation());
|
|
|
}
|
|
|
|
|
|
+ List<Long> storeIds = new ArrayList<>();
|
|
|
+ if (Platform.isNotAdmin()) {
|
|
|
+ userStoreMapper.selectList(Wrappers.lambdaQuery(SysUserStore.class).eq(SysUserStore::getUserId, LoginHelper.getUserId()))
|
|
|
+ .forEach(e -> storeIds.add(e.getStoreId()));
|
|
|
+ if (storeIds.get(0).equals(StoreConstants.ALL_STORE)) {
|
|
|
+ storeIds.clear();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return Wrappers.lambdaQuery(SysStore.class)
|
|
|
.like(StringUtils.isNotBlank(bo.getStoreOrContact()), SysStore::getName, bo.getStoreOrContact())
|
|
|
.or()
|
|
|
.like(StringUtils.isNotBlank(bo.getStoreOrContact()), SysStore::getContact, bo.getStoreOrContact())
|
|
|
+ .in(!storeIds.isEmpty(), SysStore::getId, storeIds)
|
|
|
.in(SysStore::getSite, WrapperUtils.convertIds(siteIds))
|
|
|
.eq(bo.getStatus() != null, SysStore::getStatus, bo.getStatus())
|
|
|
.orderByDesc(SysStore::getId);
|
|
|
@@ -255,7 +265,7 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
|
|
|
LambdaQueryWrapper<SysStore> wrapper = Wrappers.lambdaQuery(SysStore.class).select(SysStore::getId, SysStore::getName);
|
|
|
|
|
|
- if (!Objects.equals(ids.get(0), StoreConstants.ALL_STORE)) {
|
|
|
+ if (!ids.isEmpty() && !Objects.equals(ids.get(0), StoreConstants.ALL_STORE)) {
|
|
|
wrapper.in(SysStore::getId, WrapperUtils.convertIds(ids));
|
|
|
}
|
|
|
|
|
|
@@ -291,10 +301,20 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
@Override
|
|
|
public TableDataInfo<SysStoreListOnOrderVo> listOnOrder(String name, Long site, PageQuery pageQuery) {
|
|
|
|
|
|
- Page<SysStore> page = baseMapper.selectPage(
|
|
|
- pageQuery.build(),
|
|
|
- Wrappers.lambdaQuery(SysStore.class).like(StringUtils.isNotBlank(name), SysStore::getName, name).eq(site != null, SysStore::getSite, site).eq(SysStore::getStatus, SysStoreStatusEnum.IN_OPERATION.getValue())
|
|
|
- );
|
|
|
+ LambdaQueryWrapper<SysStore> wrapper = Wrappers.lambdaQuery(SysStore.class)
|
|
|
+ .like(StringUtils.isNotBlank(name), SysStore::getName, name)
|
|
|
+ .eq(site != null, SysStore::getSite, site)
|
|
|
+ .eq(SysStore::getStatus, SysStoreStatusEnum.IN_OPERATION.getValue());
|
|
|
+
|
|
|
+ List<Long> storeIds = userStoreMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(SysUserStore.class).select(SysUserStore::getStoreId).eq(SysUserStore::getUserId, LoginHelper.getUserId())
|
|
|
+ ).stream().map(SysUserStore::getStoreId).toList();
|
|
|
+
|
|
|
+ if (!storeIds.isEmpty() && !Objects.equals(storeIds.get(0), StoreConstants.ALL_STORE)) {
|
|
|
+ wrapper.in(SysStore::getId, WrapperUtils.convertIds(storeIds));
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<SysStore> page = baseMapper.selectPage(pageQuery.build(), wrapper);
|
|
|
|
|
|
List<Long> ids = new ArrayList<>();
|
|
|
page.getRecords().forEach(e -> ids.add(e.getId()));
|