Package com.bytedesk.core.base
Class BaseSpecification<T,TRequest>
java.lang.Object
com.bytedesk.core.base.BaseSpecification<T,TRequest>
- Direct Known Subclasses:
ActionSpecification
,AgentSpecification
,AgentStatusSettingSpecification
,AgentStatusSpecification
,AgentTemplateSpecification
,AiStatisticSpecification
,ArticleArchiveSpecification
,ArticleSpecification
,AssistantSpecification
,AuthoritySpecification
,AutoReplyFixedSpecification
,AutoReplyKeywordSpecification
,BalanceSpecification
,BlackSpecification
,BookingSpecification
,BrowseSpecification
,CallCdrSpecification
,CallGatewaySpecification
,CallIvrSpecification
,CallMrcpSpecification
,CallStatisticSpecification
,CallUserSpecification
,CallWebRTCSpecification
,CategorySpecification
,ChannelAppSpecification
,ChunkSpecification
,ClipboardSpecification
,CommentSpecification
,ConsumerSpecification
,CustomerSpecification
,DepartmentSpecification
,DouyinAppSpecification
,DouyinCommentSpecification
,DouyinDianSpecification
,DouyinMiniSpecification
,EmailMessageSpecification
,EmailSpecification
,EmailTemplateSpecification
,FaqSpecification
,FavoriteSpecification
,FileSpecification
,FormResultSpecification
,FormSpecification
,GroupInviteSpecification
,GroupNoticeSpecification
,GroupSpecification
,HolidaySpecification
,IntentionSettingsSpecification
,InviteSettingsSpecification
,InvoiceSpecification
,IpAccessSpecification
,IpBlackSpecification
,IpWhiteSpecification
,JanusAudioSpecification
,JanusVideoSpecification
,KakaoSpecification
,KbaseInviteSpecification
,KbaseSpecification
,KbaseStatisticSpecification
,LicenseSpecification
,LineSpecification
,LlmModelSpecification
,LlmProviderSpecification
,MaterialSpecification
,McpServerSpecification
,MemberSpecification
,MenuSpecification
,MessageCorrectionSpecification
,MessageFeedbackSpecification
,MessageLeaveSpecification
,MessageParsedSpecification
,MessageRatingSpecification
,MessageSpecification
,MessageTemplateSpecification
,MessageUnansweredSpecification
,MessageUnreadSpecification
,MetaAppSpecification
,ModuleSpecification
,MomentSpecification
,NoticeAccountSpecification
,NoticeSpecification
,OrganizationApplySpecification
,OrganizationSpecification
,PaymentSpecification
,ProjectInviteSpecification
,ProjectSpecification
,PushSpecification
,QualityAppealSpecification
,QualityCheckSpecification
,QualityFlowSpecification
,QualityPlanSpecification
,QualityStatisticSpecification
,QuartzSpecification
,QueueMemberSpecification
,QueueSpecification
,QuickReplySpecification
,RatedownSettingsSpecification
,RechargeSpecification
,RelationSpecification
,ReportSpecification
,RobotMessageSpecification
,RobotSpecification
,RobotThreadSpecification
,RoleSpecification
,RoutingRuleSpecification
,ScreenSpecification
,ServerMetricsSpecification
,ServerSpecification
,ServiceSettingsSpecification
,ServiceStatisticSpecification
,ShopAppSpecification
,ShoppingSpecification
,SlackSpecification
,StatisticTokenSpecification
,TabooMessageSpecification
,TabooSpecification
,TagSpecification
,TaskSpecification
,TelegramSpecification
,TextSpecification
,ThreadInviteSpecification
,ThreadRatingSpecification
,ThreadSpecification
,ThreadSummarySpecification
,ThreadTransferSpecification
,TicketProcessSpecification
,TicketSpecification
,TicketStatisticSpecification
,TicketTemplateSpecification
,TiktokSpecification
,TodoListSpecification
,TokenSpecification
,TraceSpecification
,TransferKeywordSpecification
,TranslateSpecification
,UnifiedSpecification
,UploadSpecification
,UrlSpecification
,UserSpecification
,VisitorRatingSpecification
,VisitorSpecification
,VisitorThreadSpecification
,WebhookMessageSpecification
,WebhookSpecification
,WebpageSpecification
,WebsiteSpecification
,WeChatAccountSpecification
,WeChatAppSpecification
,WeChatMiniUserSpecification
,WeChatMpBlackSpecification
,WeChatMpDraftSpecification
,WeChatMpGrouponSpecification
,WeChatMpKefuSpecification
,WeChatMpMediaSpecification
,WeChatMpMenuSpecification
,WeChatMpTagSpecification
,WeChatMpUserSpecification
,WeChatPaySpecification
,WhatsAppSpecification
,WorkflowResultSpecification
,WorkflowSpecification
,WorkgroupSpecification
,WorktimeSettingSpecification
,WorktimeSpecification
,ZaloSpecification
基础Specification类
提供通用的查询条件构建方法
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static void
addOrgFilterIfNotSuperUser
(jakarta.persistence.criteria.Root<?> root, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, List<jakarta.persistence.criteria.Predicate> predicates, BaseRequest request, AuthService authService) 根据超级管理员权限和orgUid添加组织过滤条件protected static List<jakarta.persistence.criteria.Predicate>
getBasicPredicates
(jakarta.persistence.criteria.Root<?> root, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, String orgUid) 获取基础查询条件static <T,
TRequest extends BaseRequest>
org.springframework.data.jpa.domain.Specification<T>search
(TRequest request, AuthService authService) 通用的搜索方法,需要子类实现具体的查询逻辑protected static void
validateSuperUserPermission
(BaseRequest request, AuthService authService) 检查并验证超级管理员权限 如果前端设置了superUser标志,则需要判断当前用户是否是超级管理员 如果不是超级管理员,则将superUser设置为false
-
Constructor Details
-
BaseSpecification
public BaseSpecification()
-
-
Method Details
-
search
public static <T,TRequest extends BaseRequest> org.springframework.data.jpa.domain.Specification<T> search(TRequest request, AuthService authService) 通用的搜索方法,需要子类实现具体的查询逻辑- Parameters:
request
- 请求对象authService
- 认证服务- Returns:
- Specification对象
-
getBasicPredicates
protected static List<jakarta.persistence.criteria.Predicate> getBasicPredicates(jakarta.persistence.criteria.Root<?> root, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, String orgUid) 获取基础查询条件- Parameters:
root
- 查询根对象criteriaBuilder
- 条件构建器orgUid
- 组织ID- Returns:
- 基础查询条件列表
-
validateSuperUserPermission
检查并验证超级管理员权限 如果前端设置了superUser标志,则需要判断当前用户是否是超级管理员 如果不是超级管理员,则将superUser设置为false- Parameters:
request
- 请求对象,必须继承自BaseRequestauthService
- 认证服务- Throws:
NotLoginException
- 如果用户未登录
-
addOrgFilterIfNotSuperUser
protected static void addOrgFilterIfNotSuperUser(jakarta.persistence.criteria.Root<?> root, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, List<jakarta.persistence.criteria.Predicate> predicates, BaseRequest request, AuthService authService) 根据超级管理员权限和orgUid添加组织过滤条件- Parameters:
root
- 查询根对象criteriaBuilder
- 条件构建器predicates
- 条件列表request
- 请求对象authService
- 认证服务
-