Class BaseRestController<T extends PageableRequest,S>

java.lang.Object
com.bytedesk.core.base.BaseRestController<T,S>
Direct Known Subclasses:
ActionRestController, AgentRestController, AgentSettingsRestController, AgentStatusRestController, AgentStatusSettingRestController, AiStatisticRestController, AnnouncementRestController, ArticleArchiveRestController, ArticleRestController, AssetRestController, AssistantRestController, AuthorityRestController, AutoReplyFixedRestController, AutoReplyKeywordRestController, BalanceRestController, BlackRestController, BlogRestController, BookingRestController, BrowseRestController, CalendarRestController, CallMrcpRestController, CallStatisticRestController, CategoryRestController, ChannelAppRestController, ChunkRestController, ClipboardRestController, ComplaintRestController, ConnectionRestController, ConsumerRestController, ContractRestController, CustomerRestController, DepartmentRestController, DocumentRestController, DouyinAppRestController, DouyinCommentRestController, DouyinDianRestController, DouyinMiniRestController, EmailMessageRestController, EmailRestController, EmailTemplateRestController, FaqRestController, FavoriteRestController, FeatureRestController, FeedbackRestController, FileRestController, FormRestController, FormResultRestController, GoodsRestController, GroupInviteRestController, GroupNoticeRestController, GroupRestController, HolidayRestController, IntentionRestController, IntentionSettingsRestController, InviteSettingsRestController, InvoiceRestController, IpAccessRestController, IpBlackRestController, IpWhiteRestController, JanusAudioRestController, JanusVideoRestController, KakaoRestController, KbaseCommentRestController, KbaseInviteRestController, KbaseRestController, KbaseStatisticRestController, LicenseRestController, LineRestController, LlmModelRestController, LlmProviderRestController, MaterialRestController, McpClientRestController, McpServerRestController, MenuRestController, MessageCorrectionRestController, MessageFeedbackRestController, MessageLeaveRestController, MessageParsedRestController, MessageRatingRestController, MessageRestController, MessageTemplateRestController, MessageUnansweredRestController, MessageUnreadRestController, MetaAppRestController, ModuleRestController, MomentRestController, NoteRestController, NoticeAccountRestController, NoticeRestController, OAuth2RestController, OpenPlatformRestController, OpinionRestController, OrderRestController, OrganizationApplyRestController, OrganizationRestController, PaymentRestController, ProcessRestController, ProductRestController, ProjectInviteRestController, ProjectRestController, PromptRestController, PushRestController, QualityAppealRestController, QualityCheckRestController, QualityFlowRestController, QualityPlanRestController, QualityStatisticRestController, QuartzTaskRestController, QueueMemberRestController, QueueRestController, QuickButtonRestController, QuickReplyRestController, RatedownSettingsRestController, RechargeRestController, RecommendationRestController, RelationRestController, ReportRestController, RobotMessageRestController, RobotRestController, RobotSettingsRestController, RobotThreadRestController, RoleRestController, RoutingQueueRestController, RoutingRuleRestController, ScheduleRestController, ScreenRestController, ServerMetricsRestController, ServerRestController, ServiceStatisticRestController, SettingsRestController, ShopAppRestController, SlackRestController, SmsProviderRestController, SmsRestController, SmsTemplateRestController, StatisticTokenRestController, SubscriptionRestController, TabooMessageRestController, TabooRestController, TagRestController, TaskCommentRestController, TaskListRestController, TaskRestController, TelegramRestController, TextRestController, ThreadEmotionRestController, ThreadIntentionRestController, ThreadInviteRestController, ThreadRatingRestController, ThreadRestController, ThreadSummaryRestController, ThreadTransferRestController, TicketRatingRestController, TicketRestController, TicketSettingsRestController, TicketStatisticRestController, TiktokRestController, TodoListRestController, TokenRestController, TopicRestController, TraceRestController, TransferKeywordRestController, TranslateRestController, TriggerRestController, UnifiedRestController, UploadRestController, UrlRestController, VisitorMessageRestController, VisitorRatingRestController, VisitorRestController, VisitorThreadController, VisitorTokenRestController, VocCommentRestController, WebhookMessageRestController, WebhookRestController, WebpageRestController, WebsiteRestController, WeChatAccountRestController, WeChatAppRestController, WeChatMiniUserRestController, WeChatMpBlackRestController, WeChatMpDraftRestController, WeChatMpGrouponRestController, WeChatMpKefuRestController, WeChatMpMediaRestController, WeChatMpMenuRestController, WeChatMpTagRestController, WeChatMpUserRestController, WeChatPayRestController, WeChatWorkCustomerRestController, WeChatWorkSessionRestController, WhatsAppRestController, WorkflowEdgeRestController, WorkflowLogRestController, WorkflowNodeRestController, WorkflowRestController, WorkgroupRestController, WorkgroupRoutingRestController, WorkgroupSettingsRestController, ZaloRestController

public abstract class BaseRestController<T extends PageableRequest,S> extends Object
Author:
jackning 270580156@qq.com
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private <E, SVC> List<E>
    convertToExcelList(SVC service, Object data)
    转换数据为Excel列表
    org.springframework.http.ResponseEntity<?>
    create(T request)
    通用的create实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    org.springframework.http.ResponseEntity<?>
    delete(T request)
    通用的delete实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    org.springframework.http.ResponseEntity<?>
    deleteByOrgUid(T request)
    delete by org uid
    export(T request, jakarta.servlet.http.HttpServletResponse response)
    export
    protected <E, SVC> Object
    exportTemplate(T request, jakarta.servlet.http.HttpServletResponse response, SVC service, Class<E> excelClass, String sheetName, String filePrefix)
    通用导出Excel模板方法
    protected S
    获取对应的服务实例 提供默认实现,通过反射自动查找服务字段 子类也可以重写此方法来提供具体的服务对象
    private <SVC> Object
    invokeMethod(SVC service, String methodName, Object... args)
    通过反射调用服务方法
    org.springframework.http.ResponseEntity<?>
    queryByOrg(T request)
    通用的queryByOrg实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    org.springframework.http.ResponseEntity<?>
    queryByUid(T request)
    通用的queryByUid实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    org.springframework.http.ResponseEntity<?>
    queryByUser(T request)
    通用的queryByUser实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    org.springframework.http.ResponseEntity<?>
    update(T request)
    通用的update实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BaseRestController

      public BaseRestController()
  • Method Details

    • getService

      protected S getService()
      获取对应的服务实例 提供默认实现,通过反射自动查找服务字段 子类也可以重写此方法来提供具体的服务对象
    • queryByOrg

      @GetMapping("/query/org") public org.springframework.http.ResponseEntity<?> queryByOrg(T request)
      通用的queryByOrg实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • queryByUser

      @GetMapping("/query") public org.springframework.http.ResponseEntity<?> queryByUser(T request)
      通用的queryByUser实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • queryByUid

      @GetMapping("/query/uid") public org.springframework.http.ResponseEntity<?> queryByUid(T request)
      通用的queryByUid实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • create

      @PostMapping("/create") public org.springframework.http.ResponseEntity<?> create(@RequestBody T request)
      通用的create实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • update

      @PostMapping("/update") public org.springframework.http.ResponseEntity<?> update(@RequestBody T request)
      通用的update实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • delete

      @PostMapping("/delete") public org.springframework.http.ResponseEntity<?> delete(@RequestBody T request)
      通用的delete实现 减少子类重复代码 注意:由于泛型擦除,需要使用PageableRequest.class来查找方法
    • deleteByOrgUid

      @PostMapping("/delete/org") public org.springframework.http.ResponseEntity<?> deleteByOrgUid(@RequestBody T request)
      delete by org uid
      Parameters:
      request - role
      Returns:
      json
    • exportTemplate

      protected <E, SVC> Object exportTemplate(T request, jakarta.servlet.http.HttpServletResponse response, SVC service, Class<E> excelClass, String sheetName, String filePrefix)
      通用导出Excel模板方法
      Parameters:
      request - 请求参数
      response - HTTP响应
      service - 服务对象
      excelClass - Excel类
      sheetName - 工作表名称
      filePrefix - 文件名前缀
      Returns:
      导出结果
    • invokeMethod

      private <SVC> Object invokeMethod(SVC service, String methodName, Object... args) throws Exception
      通过反射调用服务方法
      Throws:
      Exception
    • convertToExcelList

      private <E, SVC> List<E> convertToExcelList(SVC service, Object data) throws Exception
      转换数据为Excel列表
      Throws:
      Exception
    • export

      @GetMapping("/export") public Object export(T request, jakarta.servlet.http.HttpServletResponse response)
      export
      Parameters:
      request - role
      Returns:
      json