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 TResponseconvertToResponse(T entity) abstract TResponseprotected abstract org.springframework.data.jpa.domain.Specification<T>createSpecification(TRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现abstract voidvoiddeleteByOrgUid(String orgUid) abstract voiddeleteByUid(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 StringgetUidFromRequest(TRequest request) 从请求对象中获取UID的通用实现 使用反射调用getUid方法abstract ThandleOptimisticLockingFailureException(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 voidsetUserUidToRequest(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
-