package org.dromara.eims.utils; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.eims.domain.bo.EimsRepairReqBo; import java.util.Set; /** * 自定义数据隔离 */ public class DataFilterUtil { //TODO 保持与数据库一直 定义角色类型 operator-操作工 repair-维修工 private enum Role { operator, repair } private static final DataFilterUtil INSTANCE = new DataFilterUtil(); private DataFilterUtil() { } public static DataFilterUtil getInstance() { return INSTANCE; } //报修单 public void filterRepairReq(EimsRepairReqBo bo){ LoginUser loginUser = LoginHelper.getLoginUser(); if (loginUser == null) return; Set rolePermission = loginUser.getRolePermission(); if (rolePermission == null) return; if (rolePermission.contains(Role.operator.name())) { //维修工只能查询自己的数据 bo.setCreateBy(loginUser.getUserId()); }else if (rolePermission.contains(Role.repair.name())) { //TODO 维修工只能查询未接单状态的报修单(具体状态参考字典repair_req_status) bo.setStatus("0"); } System.err.println(loginUser); } }