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<String> 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);
|
}
|
|
}
|