无关风月
2025-04-30 4adb656ffd2c3660e07d224dd483e7479d48b46e
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java
@@ -168,34 +168,12 @@
            storeIds.addAll(storeIdsByName);
        }
        // 收集operatorId条件的storeIds(不提前返回null)
        Integer operatorId = query.getOperatorId();
        if (operatorId != null) {
            List<String> storeIdsByOperatorId = storeService.listObjs(
                    new LambdaQueryWrapper<TStore>()
                            .select(TStore::getId)
                            .eq(TStore::getOperatorId, operatorId),
                    String::valueOf);
            storeIds.addAll(storeIdsByOperatorId);
        }
        // 处理用户权限过滤(objectType为2)
        Integer operatorId = query.getOperatorId();
        User user = UserExt.getUser();
        if (user != null && user.getObjectType() == 2) {
            List<String> authorizedStoreIds = storeService.listObjs(
                    new LambdaQueryWrapper<TStore>()
                            .select(TStore::getId)
                            .eq(TStore::getOperatorId, user.getObjectId()),
                    String::valueOf);
            if (authorizedStoreIds.isEmpty()) {
                new Page();
            }
            if (storeIds.isEmpty()){
                storeIds.addAll(authorizedStoreIds);
            }else {
                storeIds.retainAll(new HashSet<>(authorizedStoreIds));
            }
            operatorId =  user.getObjectId();
        }else if (user != null && user.getObjectType() == 3){
            storeIds = new ArrayList<>();
            storeIds.add(String.valueOf(user.getObjectId()));
@@ -207,6 +185,9 @@
        Page<TSite> sitePage = tSiteService.page(page,
                new LambdaQueryWrapper<TSite>()
                        .eq(!StringUtils.isEmpty(query.getProvinceCode()), TSite::getProvinceCode, query.getProvinceCode())
                        .eq(operatorId != null, TSite::getOperatorId, operatorId)
                        .ne(TSite::getState,3)
                        .eq(TSite::getSign,0)
                        .eq(!StringUtils.isEmpty(query.getCityCode()), TSite::getCityCode, query.getCityCode())
                        .in(!storeIds.isEmpty(), TSite::getStoreId, storeIds));