diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/FilterUtils.java b/mall-common/src/main/java/com/suisung/mall/common/utils/FilterUtils.java new file mode 100644 index 00000000..af180474 --- /dev/null +++ b/mall-common/src/main/java/com/suisung/mall/common/utils/FilterUtils.java @@ -0,0 +1,26 @@ +package com.suisung.mall.common.utils; + +import cn.hutool.core.convert.Convert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser; + +public class FilterUtils { + /** + * 应用店铺数据权限过滤 + * @param queryWrapper 查询条件 + */ + public void applyStoreFilter(QueryWrapper queryWrapper) { + if (getCurrentUser().isStore()) { + queryWrapper.eq("store_id", getCurrentUserStoreId()); + } + } + + /** + * 获取当前用户的店铺ID(店员返回店铺ID,管理员返回null) + */ + public Integer getCurrentUserStoreId() { + return getCurrentUser().isStore() ? + Convert.toInt(getCurrentUser().getStore_id()) : + null; + } +}