|
@@ -15,7 +15,9 @@ import org.dromara.common.mybatis.utils.WrapperUtils;
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.service.api.RemoteStoreServiceService;
|
|
import org.dromara.service.api.RemoteStoreServiceService;
|
|
|
import org.dromara.service.api.domain.bo.RemoteStoreServiceBo;
|
|
import org.dromara.service.api.domain.bo.RemoteStoreServiceBo;
|
|
|
|
|
+import org.dromara.system.constants.StoreConstants;
|
|
|
import org.dromara.system.domain.SysAreaStation;
|
|
import org.dromara.system.domain.SysAreaStation;
|
|
|
|
|
+import org.dromara.system.domain.SysUserStore;
|
|
|
import org.dromara.system.domain.bo.SysStorePageBo;
|
|
import org.dromara.system.domain.bo.SysStorePageBo;
|
|
|
import org.dromara.system.domain.vo.SysStoreListOnMerchantAccountInfoVo;
|
|
import org.dromara.system.domain.vo.SysStoreListOnMerchantAccountInfoVo;
|
|
|
import org.dromara.system.domain.vo.SysStoreListOnMerchantStoreInfoVo;
|
|
import org.dromara.system.domain.vo.SysStoreListOnMerchantStoreInfoVo;
|
|
@@ -23,6 +25,7 @@ import org.dromara.system.domain.vo.SysStoreStatusVo;
|
|
|
import org.dromara.system.enums.AreaStationStatusEnum;
|
|
import org.dromara.system.enums.AreaStationStatusEnum;
|
|
|
import org.dromara.system.enums.SysStoreStatusEnum;
|
|
import org.dromara.system.enums.SysStoreStatusEnum;
|
|
|
import org.dromara.system.mapper.SysAreaStationMapper;
|
|
import org.dromara.system.mapper.SysAreaStationMapper;
|
|
|
|
|
+import org.dromara.system.mapper.SysUserStoreMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.dromara.system.domain.bo.SysStoreBo;
|
|
import org.dromara.system.domain.bo.SysStoreBo;
|
|
|
import org.dromara.system.domain.vo.SysStoreVo;
|
|
import org.dromara.system.domain.vo.SysStoreVo;
|
|
@@ -45,6 +48,7 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
|
|
|
|
|
private final SysStoreMapper baseMapper;
|
|
private final SysStoreMapper baseMapper;
|
|
|
private final SysAreaStationMapper areaStationMapper;
|
|
private final SysAreaStationMapper areaStationMapper;
|
|
|
|
|
+ private final SysUserStoreMapper userStoreMapper;
|
|
|
|
|
|
|
|
@DubboReference
|
|
@DubboReference
|
|
|
private final RemoteStoreServiceService storeServiceService;
|
|
private final RemoteStoreServiceService storeServiceService;
|
|
@@ -220,15 +224,23 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
|
|
|
|
|
List<SysStoreListOnMerchantStoreInfoVo> list = new ArrayList<>();
|
|
List<SysStoreListOnMerchantStoreInfoVo> list = new ArrayList<>();
|
|
|
|
|
|
|
|
- if (LoginHelper.isTenantAdmin()) {
|
|
|
|
|
- baseMapper.selectList().forEach(e -> {
|
|
|
|
|
- SysStoreListOnMerchantStoreInfoVo vo = new SysStoreListOnMerchantStoreInfoVo();
|
|
|
|
|
- vo.setId(e.getId());
|
|
|
|
|
- vo.setName(e.getName());
|
|
|
|
|
- list.add(vo);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ List<Long> ids = userStoreMapper.selectList(
|
|
|
|
|
+ Wrappers.lambdaQuery(SysUserStore.class).select(SysUserStore::getStoreId).eq(SysUserStore::getUserId, LoginHelper.getUserId())
|
|
|
|
|
+ ).stream().map(SysUserStore::getStoreId).toList();
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<SysStore> wrapper = Wrappers.lambdaQuery(SysStore.class).select(SysStore::getId, SysStore::getName);
|
|
|
|
|
+
|
|
|
|
|
+ if (!Objects.equals(ids.get(0), StoreConstants.ALL_STORE)) {
|
|
|
|
|
+ wrapper.in(SysStore::getId, WrapperUtils.convertIds(ids));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ baseMapper.selectList(wrapper).forEach(e -> {
|
|
|
|
|
+ SysStoreListOnMerchantStoreInfoVo vo = new SysStoreListOnMerchantStoreInfoVo();
|
|
|
|
|
+ vo.setId(e.getId());
|
|
|
|
|
+ vo.setName(e.getName());
|
|
|
|
|
+ list.add(vo);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -242,4 +254,12 @@ public class SysStoreServiceImpl implements ISysStoreService {
|
|
|
return vo;
|
|
return vo;
|
|
|
}).toList();
|
|
}).toList();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Long> selectStoreIds(Long userId) {
|
|
|
|
|
+ return userStoreMapper.selectList(
|
|
|
|
|
+ Wrappers.lambdaQuery(SysUserStore.class).select(SysUserStore::getStoreId)
|
|
|
|
|
+ .eq(userId != null, SysUserStore::getUserId, userId)
|
|
|
|
|
+ ).stream().map(SysUserStore::getStoreId).toList();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|