Class BaseRestServiceOverride<T,TRequest extends PageableRequest,TResponse>

java.lang.Object
com.bytedesk.core.base.BaseRestServiceOverride<T,TRequest,TResponse>

public abstract class BaseRestServiceOverride<T,TRequest extends PageableRequest,TResponse> extends Object
需要自己重新实现的抽象方法 改进的基础RestService类 在原有抽象方法基础上,提供通用的默认实现来减少重复代码
  • Field Details

    • authService

      @Autowired protected AuthService authService
  • Constructor Details

    • BaseRestServiceOverride

      public BaseRestServiceOverride()
  • Method Details

    • findByUid

      public abstract Optional<T> findByUid(String uid)
    • create

      public abstract TResponse create(TRequest request)
    • update

      public abstract TResponse update(TRequest request)
    • deleteByUid

      public abstract void deleteByUid(String uid)
    • delete

      public abstract void delete(TRequest request)
    • handleOptimisticLockingFailureException

      public abstract T handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, T entity)
    • convertToResponse

      public abstract TResponse convertToResponse(T entity)
    • 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

      public abstract org.springframework.data.domain.Page<TResponse> queryByOrg(TRequest request)
      通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法
    • queryByUser

      public abstract org.springframework.data.domain.Page<TResponse> queryByUser(TRequest request)
      通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法
    • queryByUid

      public abstract TResponse queryByUid(TRequest request)
      通用的queryByUid实现
    • getUidFromRequest

      protected String getUidFromRequest(TRequest request)
      从请求对象中获取UID的通用实现 使用反射调用getUid方法
    • setUserUidToRequest

      protected void setUserUidToRequest(TRequest request, String userUid)
      设置用户UID到请求对象的通用实现 使用反射调用setUserUid方法
    • findByOrgUid

      public List<T> findByOrgUid(String orgUid)
    • save

      @Retryable(value=org.springframework.orm.ObjectOptimisticLockingFailureException.class, maxAttempts=3, backoff=@Backoff(delay=100L,multiplier=2.0)) public T save(T entity)
      保存实体,带重试机制
    • doSave

      protected abstract T doSave(T entity)
      子类实现具体的保存逻辑
    • recover

      @Recover public T recover(org.springframework.orm.ObjectOptimisticLockingFailureException e, T entity)
      重试恢复方法
    • deleteByOrgUid

      public void deleteByOrgUid(String orgUid)