Przeglądaj źródła

区域站点数据权限加入

Huanyi 3 tygodni temu
rodzic
commit
ee744c882d
15 zmienionych plików z 193 dodań i 26 usunięć
  1. 2 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteAreaStationService.java
  2. 16 16
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java
  3. 9 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java
  4. 2 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/RouterVo.java
  5. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java
  6. 8 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteAreaStationServiceImpl.java
  7. 7 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IUserAreaStationService.java
  8. 1 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java
  9. 14 6
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysStoreServiceImpl.java
  10. 36 1
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
  11. 71 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/UserAreaStationServiceImpl.java
  12. 9 0
      ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/impl/UsrCustomerServiceImpl.java
  13. 1 0
      ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/impl/UsrPetServiceImpl.java
  14. 6 0
      ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/service/impl/FlfFulfillerServiceImpl.java
  15. 6 3
      ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/impl/SysSubOrderServiceImpl.java

+ 2 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteAreaStationService.java

@@ -14,4 +14,6 @@ public interface RemoteAreaStationService {
      * @return 子级列表
      */
     List<RemoteAreaStationVo> listByParentId(Long parentId);
+
+    List<Long> listByUserId(Long userId);
 }

+ 16 - 16
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java

@@ -127,13 +127,13 @@ public class SysMenuController extends BaseController {
     @RepeatSubmit()
     @PostMapping
     public R<Void> add(@Validated @RequestBody SysMenuBo menu) {
-        if (!menuService.checkMenuNameUnique(menu)) {
-            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
-        } else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
-            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
-        } else if (!menuService.checkRouteConfigUnique(menu)) {
-            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,路由名称或地址已存在");
-        }
+//        if (!menuService.checkMenuNameUnique(menu)) {
+//            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
+//        } else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
+//            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
+//        } else if (!menuService.checkRouteConfigUnique(menu)) {
+//            return R.fail("新增菜单'" + menu.getMenuName() + "'失败,路由名称或地址已存在");
+//        }
         return toAjax(menuService.insertMenu(menu));
     }
 
@@ -145,15 +145,15 @@ public class SysMenuController extends BaseController {
     @RepeatSubmit()
     @PutMapping
     public R<Void> edit(@Validated @RequestBody SysMenuBo menu) {
-        if (!menuService.checkMenuNameUnique(menu)) {
-            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
-        } else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
-            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
-        } else if (menu.getMenuId().equals(menu.getParentId())) {
-            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
-        } else if (!menuService.checkRouteConfigUnique(menu)) {
-            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,路由名称或地址已存在");
-        }
+//        if (!menuService.checkMenuNameUnique(menu)) {
+//            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
+//        } else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
+//            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
+//        } else if (menu.getMenuId().equals(menu.getParentId())) {
+//            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
+//        } else if (!menuService.checkRouteConfigUnique(menu)) {
+//            return R.fail("修改菜单'" + menu.getMenuName() + "'失败,路由名称或地址已存在");
+//        }
         return toAjax(menuService.updateMenu(menu));
     }
 

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java

@@ -12,6 +12,8 @@ import org.dromara.common.core.xss.Xss;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.system.domain.SysUser;
 
+import java.util.List;
+
 /**
  * 用户信息业务对象 sys_user
  *
@@ -127,6 +129,13 @@ public class SysUserBo extends BaseEntity {
 
     private String content;
 
+    /**
+     * 区域站点组
+     * @Author: Huanyi
+     */
+    @Size(min = 1, message = "必须设置站点")
+    private Long[] areaStations;
+
     public SysUserBo(Long userId) {
         this.userId = userId;
     }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/RouterVo.java

@@ -59,6 +59,8 @@ public class RouterVo implements Serializable {
      */
     private MetaVo meta;
 
+    private String visible;
+
     /**
      * 子路由
      */

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java

@@ -145,4 +145,9 @@ public class SysUserVo implements Serializable {
      */
     private Long[] storeIds;
 
+    /**
+     * 区域站点组
+     */
+    private Long[] areaStations;
+
 }

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteAreaStationServiceImpl.java

@@ -9,6 +9,8 @@ import org.dromara.system.api.RemoteAreaStationService;
 import org.dromara.system.api.domain.vo.RemoteAreaStationVo;
 import org.dromara.system.domain.SysAreaStation;
 import org.dromara.system.mapper.SysAreaStationMapper;
+import org.dromara.system.mapper.SysUserAreaStationMapper;
+import org.dromara.system.service.IUserAreaStationService;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -20,6 +22,7 @@ import java.util.List;
 public class RemoteAreaStationServiceImpl implements RemoteAreaStationService {
 
     private final SysAreaStationMapper baseMapper;
+    private final IUserAreaStationService userAreaStationService;
 
     @Cacheable(value = CacheNames.SYS_AREA_STATION_NAME, key = "#id")
     @Override
@@ -48,4 +51,9 @@ public class RemoteAreaStationServiceImpl implements RemoteAreaStationService {
             return vo;
         }).toList();
     }
+
+    @Override
+    public List<Long> listByUserId(Long userId) {
+        return userAreaStationService.getSitesByUserId(userId);
+    }
 }

+ 7 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IUserAreaStationService.java

@@ -0,0 +1,7 @@
+package org.dromara.system.service;
+
+import java.util.List;
+
+public interface IUserAreaStationService {
+    List<Long> getSitesByUserId(Long userId);
+}

+ 1 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java

@@ -196,6 +196,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
             router.setPath(menu.getRouterPath());
             router.setComponent(menu.getComponentInfo());
             router.setQuery(menu.getQueryParam());
+            router.setVisible(menu.getVisible());
             router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getRemark()));
             List<SysMenu> cMenus = menu.getChildren();
             if (CollUtil.isNotEmpty(cMenus) && SystemConstants.TYPE_DIR.equals(menu.getMenuType())) {

+ 14 - 6
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysStoreServiceImpl.java

@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.mybatis.utils.WrapperUtils;
+import org.dromara.common.platform.Platform;
 import org.dromara.common.redis.utils.CacheUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.order.api.RemoteSubOrderService;
@@ -28,6 +29,7 @@ import org.dromara.system.enums.AreaStationStatusEnum;
 import org.dromara.system.enums.SysStoreStatusEnum;
 import org.dromara.system.mapper.SysAreaStationMapper;
 import org.dromara.system.mapper.SysUserStoreMapper;
+import org.dromara.system.service.IUserAreaStationService;
 import org.springframework.stereotype.Service;
 import org.dromara.system.domain.SysStore;
 import org.dromara.system.mapper.SysStoreMapper;
@@ -50,6 +52,8 @@ public class SysStoreServiceImpl implements ISysStoreService {
     private final SysAreaStationMapper areaStationMapper;
     private final SysUserStoreMapper userStoreMapper;
 
+    private final IUserAreaStationService userAreaStationService;
+
     @DubboReference
     private final RemoteStoreServiceService remoteStoreServiceService;
     @DubboReference
@@ -100,12 +104,16 @@ public class SysStoreServiceImpl implements ISysStoreService {
         List<Long> siteIds = new ArrayList<>();
 
         if (bo.getStation() == null) {
-            siteIds = areaStationMapper.selectList(
-                Wrappers.lambdaQuery(SysAreaStation.class)
-                    .select(SysAreaStation::getId)
-                    .eq(bo.getArea() != null, SysAreaStation::getParentId, bo.getArea())
-                    .eq(SysAreaStation::getStatus, AreaStationStatusEnum.ENABLE.getValue())
-            ).stream().map(SysAreaStation::getId).toList();
+            if (Platform.isAdmin()) {
+                siteIds = userAreaStationService.getSitesByUserId(LoginHelper.getUserId());
+            } else {
+                siteIds = areaStationMapper.selectList(
+                    Wrappers.lambdaQuery(SysAreaStation.class)
+                        .select(SysAreaStation::getId)
+                        .eq(bo.getArea() != null, SysAreaStation::getParentId, bo.getArea())
+                        .eq(SysAreaStation::getStatus, AreaStationStatusEnum.ENABLE.getValue())
+                ).stream().map(SysAreaStation::getId).toList();
+            }
         } else {
             siteIds.add(bo.getStation());
         }

+ 36 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -59,6 +59,7 @@ public class SysUserServiceImpl implements ISysUserService {
     private final SysUserPostMapper userPostMapper;
     private final SysUserStoreMapper userStoreMapper;
     private final SysStoreMapper storeMapper;
+    private final SysUserAreaStationMapper userAreaStationMapper;
 
     private final ISysRoleService roleService;
 
@@ -67,6 +68,9 @@ public class SysUserServiceImpl implements ISysUserService {
         Page<SysUserVo> page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user));
         return TableDataInfo.build(page.convert(e -> {
             e.setRoles(roleMapper.selectRolesByUserId(e.getUserId()));
+            e.setAreaStations(
+                userAreaStationMapper.selectList(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, e.getUserId()))
+                    .stream().map(SysUserAreaStation::getAreaStationId).toArray(Long[]::new));
             return e;
         }));
     }
@@ -197,6 +201,9 @@ public class SysUserServiceImpl implements ISysUserService {
             return user;
         }
         user.setRoles(roleMapper.selectRolesByUserId(user.getUserId()));
+        user.setAreaStations(
+            userAreaStationMapper.selectList(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, user.getUserId()))
+                .stream().map(SysUserAreaStation::getAreaStationId).toArray(Long[]::new));
         return user;
     }
 
@@ -341,9 +348,32 @@ public class SysUserServiceImpl implements ISysUserService {
         if (Platform.isNotAdmin()) {
             insertUserStore(user, false);
         }
+        // 新增用户与区域站点关系
+        if (Platform.isAdmin()) {
+            insertUserAreaStation(user, false);
+        }
         return rows;
     }
 
+    private void insertUserAreaStation(SysUserBo user, boolean clean) {
+        if (clean) {
+            userAreaStationMapper.delete(Wrappers.lambdaQuery(SysUserAreaStation.class).eq(SysUserAreaStation::getSysUserId, user.getUserId()));
+        }
+
+        if (user.getAreaStations() == null || user.getAreaStations().length == 0) {
+            return;
+        }
+
+        List<SysUserAreaStation> list = Arrays.stream(user.getAreaStations())
+            .map(areaStationId -> {
+                SysUserAreaStation e = new SysUserAreaStation();
+                e.setSysUserId(user.getUserId());
+                e.setAreaStationId(areaStationId);
+                return e;
+            }).toList();
+        userAreaStationMapper.insertBatch(list);
+    }
+
     private void insertUserStore(SysUserBo user, boolean clean) {
         if (clean) {
             userStoreMapper.delete(Wrappers.lambdaQuery(SysUserStore.class).eq(SysUserStore::getUserId, user.getUserId()));
@@ -391,7 +421,12 @@ public class SysUserServiceImpl implements ISysUserService {
         // 新增用户与岗位管理
         insertUserPost(user, true);
         // 新增用户与门店关联 @author: Huanyi
-        insertUserStore(user, true);
+        if (Platform.isNotAdmin()) {
+            insertUserStore(user, true);
+        }
+        if (Platform.isAdmin()) {
+            insertUserAreaStation(user, true);
+        }
         SysUser sysUser = MapstructUtils.convert(user, SysUser.class);
         // 防止错误更新后导致的数据误删除
         int flag = baseMapper.updateById(sysUser);

+ 71 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/UserAreaStationServiceImpl.java

@@ -0,0 +1,71 @@
+package org.dromara.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.system.domain.SysAreaStation;
+import org.dromara.system.domain.SysUserAreaStation;
+import org.dromara.system.domain.bo.SysAreaStationBo;
+import org.dromara.system.domain.vo.SysAreaStationVo;
+import org.dromara.system.enums.AreaStationTypeEnum;
+import org.dromara.system.mapper.SysUserAreaStationMapper;
+import org.dromara.system.service.ISysAreaStationService;
+import org.dromara.system.service.IUserAreaStationService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@RequiredArgsConstructor
+public class UserAreaStationServiceImpl implements IUserAreaStationService {
+
+    private final SysUserAreaStationMapper baseMapper;
+    private final ISysAreaStationService areaStationService;
+
+    @Override
+    public List<Long> getSitesByUserId(Long userId) {
+
+        List<Long> siteIds = new ArrayList<>();
+
+        List<Long> stations = baseMapper.selectList(
+            Wrappers.lambdaQuery(SysUserAreaStation.class)
+                .select(SysUserAreaStation::getAreaStationId)
+                .eq(SysUserAreaStation::getSysUserId, userId)
+        ).stream().map(SysUserAreaStation::getAreaStationId).toList();
+
+        List<SysAreaStationVo> vos = areaStationService.queryList(new SysAreaStationBo());
+
+        if (stations.isEmpty() || stations.get(0).equals(0L)) {
+            siteIds = vos.stream().map(SysAreaStationVo::getId).toList();
+        } else {
+            Map<Long, SysAreaStationVo> map = new HashMap<>();
+            Map<Long, List<SysAreaStationVo>> parentMap = new HashMap<>();
+            vos.forEach(e -> {
+                map.put(e.getId(), e);
+                parentMap.computeIfAbsent(e.getParentId(), k -> new ArrayList<>()).add(e);
+            });
+
+            for (Long station : stations) {
+                buildSites(map.get(station), siteIds, parentMap);
+            }
+        }
+
+        return siteIds;
+    }
+
+    private void buildSites(SysAreaStationVo currentStation, List<Long> siteIds, Map<Long, List<SysAreaStationVo>> parentMap) {
+        if (currentStation == null) {
+            return;
+        }
+        if (currentStation.getType().equals(AreaStationTypeEnum.STATION.getValue())) {
+            siteIds.add(currentStation.getId());
+        } else {
+            List<SysAreaStationVo> stations = parentMap.get(currentStation.getId());
+            for (SysAreaStationVo station : stations) {
+                buildSites(station, siteIds, parentMap);
+            }
+        }
+    }
+}

+ 9 - 0
ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/impl/UsrCustomerServiceImpl.java

@@ -20,9 +20,11 @@ import org.dromara.common.mybatis.utils.WrapperUtils;
 import org.dromara.common.platform.Platform;
 import org.dromara.common.platform.PlatformUtils;
 import org.dromara.common.redis.utils.CacheUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.order.api.RemoteSubOrderService;
 import org.dromara.order.api.domain.vo.RemoteSubOrderVo;
+import org.dromara.system.api.RemoteAreaStationService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.dromara.archieves.domain.SysTagRel;
@@ -58,6 +60,8 @@ public class UsrCustomerServiceImpl implements IUsrCustomerService {
 
     @DubboReference
     private final RemoteSubOrderService remoteSubOrderService;
+    @DubboReference
+    private final RemoteAreaStationService remoteAreaStationService;
 
     @Override
     public UsrCustomerVo queryById(Long id) {
@@ -112,10 +116,15 @@ public class UsrCustomerServiceImpl implements IUsrCustomerService {
         );
         lqw.eq(bo.getAreaId() != null, UsrCustomer::getAreaId, bo.getAreaId());
         lqw.eq(bo.getStationId() != null, UsrCustomer::getStationId, bo.getStationId());
+
         lqw.like(StringUtils.isNotBlank(bo.getRegionCode()), UsrCustomer::getRegionCode, bo.getRegionCode());
         lqw.eq(bo.getStatus() != null, UsrCustomer::getStatus, bo.getStatus());
         lqw.orderByDesc(UsrCustomer::getCreateTime);
 
+        if (Platform.isAdmin()) {
+            lqw.in(UsrCustomer::getStationId, WrapperUtils.convertIds(remoteAreaStationService.listByUserId(LoginHelper.getUserId())));
+        }
+
 //        if (bo.getTab() != null) {
 //            if (bo.getTab().equals(UsrCustomerTabEnum.SELF.getValue())) {
 //                lqw.eq(UsrCustomer::getTenantId, TenantHelper.getTenantId());

+ 1 - 0
ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/impl/UsrPetServiceImpl.java

@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.mybatis.utils.WrapperUtils;
+import org.dromara.common.platform.Platform;
 import org.dromara.common.platform.PlatformUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.tenant.helper.TenantHelper;

+ 6 - 0
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/service/impl/FlfFulfillerServiceImpl.java

@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.dromara.common.mybatis.helper.DataBaseHelper;
 import org.dromara.common.mybatis.utils.WrapperUtils;
+import org.dromara.common.platform.Platform;
 import org.dromara.common.redis.utils.CacheUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.fulfiller.constants.FlfActionTypeConstant;
@@ -137,6 +138,11 @@ public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
         lqw.eq(bo.getAuthId() != null, FlfFulfiller::getAuthId, bo.getAuthId());
         lqw.eq(bo.getAuthQual() != null, FlfFulfiller::getAuthQual, bo.getAuthQual());
         lqw.orderByDesc(FlfFulfiller::getCreateTime);
+
+        if (Platform.isAdmin()) {
+            lqw.in(FlfFulfiller::getStationId, WrapperUtils.convertIds(remoteAreaStationService.listByUserId(LoginHelper.getUserId())));
+        }
+
         return lqw;
     }
 

+ 6 - 3
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/impl/SysSubOrderServiceImpl.java

@@ -16,6 +16,7 @@ import org.dromara.common.core.enums.UserType;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.utils.WrapperUtils;
+import org.dromara.common.platform.Platform;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.fulfiller.api.RemoteFulfillerService;
 import org.dromara.fulfiller.api.domain.vo.RemoteFulfillerVo;
@@ -31,6 +32,7 @@ import org.dromara.order.mapper.SysSubOrderMapper;
 import org.dromara.order.service.ISysSubOrderService;
 import org.dromara.resource.api.RemoteFileService;
 import org.dromara.resource.api.domain.RemoteFile;
+import org.dromara.system.api.RemoteAreaStationService;
 import org.dromara.system.api.RemoteStoreService;
 import org.dromara.system.api.RemoteTenantService;
 import org.dromara.system.api.RemoteUserService;
@@ -65,6 +67,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
     private final RemoteTenantService remoteTenantService;
     @DubboReference
     private final RemoteFileService remoteFileService;
+    @DubboReference
+    private final RemoteAreaStationService remoteAreaStationService;
 
     @Override
     public TableDataInfo<SysSubOrderListPageVo> list(SysSubOrderListPageBo bo, PageQuery pageQuery) {
@@ -73,11 +77,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
 
         if (StringUtils.isNotBlank(bo.getContent())) {
             List<String> tenantIds = remoteTenantService.selectTenantIdsByName(bo.getContent());
-//            orderWrapper.in(SysSubOrder::getStore, tenantIds.isEmpty() ? TenantConstants.DEFAULT_TENANT_ID : tenantIds);
             List<Long> userIds = remoteUserService.selectUserIdsByName(bo.getContent());
-//            orderWrapper.in(SysSubOrder::getOrderPlacer, WrapperUtils.convertIds(userIds));
             List<Long> customerIds = remoteCustomerService.selectIdsByName(bo.getContent());
-//            orderWrapper.in(SysSubOrder::getUsrCustomer, WrapperUtils.convertIds(customerIds));
             orderWrapper.and(w -> w
                 .in(SysSubOrder::getTenantId, tenantIds.isEmpty() ? List.of(TenantConstants.DEFAULT_TENANT_ID) : tenantIds).or()
                 .in(SysSubOrder::getOrderPlacer, WrapperUtils.convertIds(userIds)).or()
@@ -85,6 +86,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
             );
         }
 
+        orderWrapper.in(SysSubOrder::getStoreSite, WrapperUtils.convertIds(remoteAreaStationService.listByUserId(LoginHelper.getUserId())));
+
         Page<SysSubOrder> page = baseMapper.selectPage(
             pageQuery.build(),
             orderWrapper.orderByDesc(SysSubOrder::getId)