main
			
			
		
		
							parent
							
								
									bc8ee2e5b1
								
							
						
					
					
						commit
						43f0c9a5c4
					
				| @ -1 +1 @@ | |||||||
| Subproject commit 99e1ea7c8fe539c2c6d942b0b32a7d4445298f4f | Subproject commit a18aa81d71123f54e959866e93c7ceb56b03ade4 | ||||||
| @ -0,0 +1,36 @@ | |||||||
|  | package cn.wustlinghang.wusthelper.internal.library.api.http; | ||||||
|  | 
 | ||||||
|  | import cn.wustlinghang.mywust.data.library.parsed.BookHolding; | ||||||
|  | import cn.wustlinghang.wusthelper.internal.library.services.BookHoldingService; | ||||||
|  | import cn.wustlinghang.wusthelper.rpc.exception.RpcException; | ||||||
|  | import jakarta.enterprise.context.ApplicationScoped; | ||||||
|  | import jakarta.validation.constraints.NotNull; | ||||||
|  | import jakarta.ws.rs.GET; | ||||||
|  | import jakarta.ws.rs.Path; | ||||||
|  | import jakarta.ws.rs.QueryParam; | ||||||
|  | 
 | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | @Path("/holdings") | ||||||
|  | @ApplicationScoped | ||||||
|  | public class BookHoldingApi { | ||||||
|  |     private final BookHoldingService service; | ||||||
|  | 
 | ||||||
|  |     public BookHoldingApi(BookHoldingService service) { | ||||||
|  |         this.service = service; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @GET | ||||||
|  |     @Path("/") | ||||||
|  |     public List<BookHolding> get(@QueryParam("id") @NotNull String id) | ||||||
|  |             throws RpcException { | ||||||
|  |         return this.agent(id); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @GET | ||||||
|  |     @Path("/agent") | ||||||
|  |     public List<BookHolding> agent(@QueryParam("id") @NotNull String id) | ||||||
|  |             throws RpcException { | ||||||
|  |         return service.getHoldings(id); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,42 @@ | |||||||
|  | package cn.wustlinghang.wusthelper.internal.library.services; | ||||||
|  | 
 | ||||||
|  | import cn.wustlinghang.mywust.core.request.service.library.BookHoldingApiService; | ||||||
|  | import cn.wustlinghang.mywust.data.library.parsed.BookHolding; | ||||||
|  | import cn.wustlinghang.mywust.exception.ApiException; | ||||||
|  | import cn.wustlinghang.mywust.exception.ParseException; | ||||||
|  | import cn.wustlinghang.wusthelper.internal.library.exception.LibraryRpcException; | ||||||
|  | import cn.wustlinghang.wusthelper.rpc.exception.RpcException; | ||||||
|  | import jakarta.enterprise.context.ApplicationScoped; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | @ApplicationScoped | ||||||
|  | public class BookHoldingService extends BaseService { | ||||||
|  |     private final BookHoldingApiService api; | ||||||
|  | 
 | ||||||
|  |     public BookHoldingService(BookHoldingApiService api) { | ||||||
|  |         this.api = api; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public List<BookHolding> getHoldings(String id) | ||||||
|  |             throws RpcException { | ||||||
|  |         try { | ||||||
|  |             return api.getHoldingList(id); | ||||||
|  |         } catch (ApiException e) { | ||||||
|  |             throw wrapApiException(e, LibraryRpcException.SubModuleCode.PERSONAL_API); | ||||||
|  |         } catch (IOException e) { | ||||||
|  |             throw new LibraryRpcException( | ||||||
|  |                     LibraryRpcException.TypeCode.NETWORK_EXCEPTION, | ||||||
|  |                     LibraryRpcException.SubModuleCode.PERSONAL_API, | ||||||
|  |                     LibraryRpcException.ErrorCode.NETWORK_ERROR | ||||||
|  |             ); | ||||||
|  |         } catch (ParseException e) { | ||||||
|  |             throw new LibraryRpcException( | ||||||
|  |                     LibraryRpcException.TypeCode.PARSE_EXCEPTION, | ||||||
|  |                     LibraryRpcException.SubModuleCode.PERSONAL_API, | ||||||
|  |                     LibraryRpcException.ErrorCode.PARSE_ERROR | ||||||
|  |             ); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue