package com.vci.starter.web.service;
|
|
import com.vci.starter.web.enumpck.UserSecretEnum;
|
import com.vci.starter.web.pagemodel.SessionInfo;
|
import com.vci.starter.web.util.VciBaseUtil;
|
import org.apache.commons.lang3.StringUtils;
|
|
/**
|
* 密级服务
|
* @author weidy
|
* @date 2020/3/11
|
*/
|
public interface VciSecretServiceI {
|
|
/**
|
* 查询数据时的密级过滤sql
|
* @return 默认小于等于当前用户的密级值
|
*/
|
default String getLessThanUserSecretSql(){
|
SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfoNotException();
|
if(sessionInfo!=null) {
|
return sessionInfo.getUserSecret();
|
}
|
return "";
|
}
|
|
/**
|
* 校验用户的密级是否有权限查看当前的数据密级
|
* @param dataSecret 数据密级的值
|
* @return 默认小于等于当前用户的密级值即可
|
*/
|
default boolean checkUserSecret(int dataSecret){
|
SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfoNotException();
|
if(sessionInfo!=null) {
|
if(StringUtils.isBlank(sessionInfo.getUserSecret())){
|
sessionInfo.setUserSecret(UserSecretEnum.NONE.getValue() +"");
|
}
|
return VciBaseUtil.getInt(sessionInfo.getUserSecret())>= dataSecret;
|
}
|
return false;
|
}
|
|
}
|