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