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 voidaddOrgFilterIfNotSuperUser(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 voidvalidateSuperUserPermission(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- 认证服务
-