Package com.bytedesk.core.base
Class BaseRestService<T,TRequest extends PageableRequest,TResponse>
java.lang.Object
com.bytedesk.core.base.BaseRestService<T,TRequest,TResponse>
- Direct Known Subclasses:
AgentRestService
,AgentStatusRestService
,ArticleArchiveRestService
,AssistantRestService
,AuthorityRestService
,BalanceRestService
,BaseRestServiceWithExport
,CallCallRestService
,CategoryRestService
,CityRestService
,ClipboardRestService
,CommentRestService
,CourseRestService
,DepartmentRestService
,DouyinCommentRestService
,DouyinDianRestService
,DouyinMiniRestService
,EmailTemplateService
,FavoriteRestService
,FeatureRestService
,FormRestService
,GroupInviteRestService
,GroupNoticeRestService
,HolidayRestService
,InvoiceRestService
,IpAccessRestService
,IpWhiteRestService
,KbaseInviteRestService
,KbaseRestService
,LicenseRestService
,LlmModelRestService
,LlmProviderRestService
,MediaRestService
,MenuRestService
,MessageCorrectionRestService
,MessageFeedbackRestService
,MessageParsedRestService
,MessageUnansweredRestService
,MessageUnreadRestService
,ModuleRestService
,NoticeAccountRestService
,NoticeRestService
,OAuth2RestService
,OrderRestService
,OrganizationRestService
,PaymentRestService
,ProductRestService
,ProjectInviteRestService
,ProjectRestService
,PushRestService
,QuartzRestService
,RechargeRestService
,ReportRestService
,RobotThreadRestService
,RoleRestService
,ServerMetricsRestService
,ServerRestService
,TaskRestService
,TicketAttachmentRestService
,TicketProcessRestService
,TodoListRestService
,TokenRestService
,TopicRestService
,TranslateRestService
,UnifiedRestService
,UploadRestService
,UrlRestService
,VisitorMessageRestService
,VisitorThreadService
,WeChatAccountRestService
,WeChatMiniUserRestService
,WeChatMpBlackRestService
,WeChatMpDraftRestService
,WeChatMpGrouponRestService
,WeChatMpKefuRestService
,WeChatMpMediaService
,WeChatMpMenuService
,WeChatMpTagRestService
,WeChatMpUserRestService
,WeChatPayRestService
,WorkflowRestService
,WorkgroupRestService
,WorktimeRestService
改进的基础RestService类
在原有抽象方法基础上,提供通用的默认实现来减少重复代码
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract TResponse
convertToResponse
(T entity) abstract TResponse
protected abstract org.springframework.data.jpa.domain.Specification<T>
createSpecification
(TRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现abstract void
void
deleteByOrgUid
(String orgUid) abstract void
deleteByUid
(String uid) protected abstract T
子类实现具体的保存逻辑protected abstract org.springframework.data.domain.Page<T>
executePageQuery
(org.springframework.data.jpa.domain.Specification<T> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现findByOrgUid
(String orgUid) protected String
getUidFromRequest
(TRequest request) 从请求对象中获取UID的通用实现 使用反射调用getUid方法abstract T
handleOptimisticLockingFailureException
(org.springframework.orm.ObjectOptimisticLockingFailureException e, T entity) org.springframework.data.domain.Page<TResponse>
queryByOrg
(TRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法queryByUid
(TRequest request) 通用的queryByUid实现org.springframework.data.domain.Page<TResponse>
queryByUser
(TRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法重试恢复方法保存实体,带重试机制protected void
setUserUidToRequest
(TRequest request, String userUid) 设置用户UID到请求对象的通用实现 使用反射调用setUserUid方法abstract TResponse
-
Field Details
-
authService
-
-
Constructor Details
-
BaseRestService
public BaseRestService()
-
-
Method Details
-
findByUid
-
create
-
update
-
deleteByUid
-
delete
-
handleOptimisticLockingFailureException
-
convertToResponse
-
createSpecification
protected abstract org.springframework.data.jpa.domain.Specification<T> createSpecification(TRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现 -
executePageQuery
protected abstract org.springframework.data.domain.Page<T> executePageQuery(org.springframework.data.jpa.domain.Specification<T> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现 -
queryByOrg
通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法 -
queryByUser
通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法 -
queryByUid
通用的queryByUid实现 -
getUidFromRequest
从请求对象中获取UID的通用实现 使用反射调用getUid方法 -
setUserUidToRequest
设置用户UID到请求对象的通用实现 使用反射调用setUserUid方法 -
findByOrgUid
-
save
@Retryable(value=org.springframework.orm.ObjectOptimisticLockingFailureException.class, maxAttempts=3, backoff=@Backoff(delay=100L,multiplier=2.0)) public T save(T entity) 保存实体,带重试机制 -
doSave
子类实现具体的保存逻辑 -
recover
@Recover public T recover(org.springframework.orm.ObjectOptimisticLockingFailureException e, T entity) 重试恢复方法 -
deleteByOrgUid
-