ソースを参照

feature(应用服务资源策略修改): 应用服务资源策略修改

应用服务资源策略修改
mazq 4 年 前
コミット
e9c34a2f04

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ResourceServiceImpl.java

@@ -418,7 +418,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
      * @param dto ResourceDTO
      * @return
      */
-    private Object doInsert(ResourceDTO dto) {
+    private <T extends ResourceDTO> Object doInsert(T dto) {
         Object obj;
         String resourceType = dto.getResourceId();
         ResourceOperateStrategy operateStrategy = null;

+ 2 - 3
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/AppResourceStrategy.java

@@ -17,7 +17,7 @@ import org.springframework.stereotype.Component;
  * @create 2020-11-25 14:21
  */
 @Component
-public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
+public class AppResourceStrategy implements ResourceOperateStrategy<AppResourceDTO,ApplyInfo> {
 
     @Autowired
     private IApplyInfoService applyInfoService;
@@ -26,9 +26,8 @@ public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
     private IApplyOauthService applyOauthService;
 
     @Override
-    public ApplyInfo insertRemoteSource(ResourceDTO dto) {
+    public ApplyInfo insertRemoteSource(AppResourceDTO appResourceDTO) {
         ApplyInfo applyInfo;
-        AppResourceDTO appResourceDTO = (AppResourceDTO) dto;
         ApplyInfo exist = applyInfoService.getAppByCode(appResourceDTO.getAppCode());
         if (null == exist) {
             applyInfo = inserApplyInfo(appResourceDTO);

+ 12 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/ResourceOperateStrategy.java

@@ -1,14 +1,22 @@
 package com.dragoninfo.dcuc.app.strategy;
 
 
-import com.dragoninfo.dcuc.app.dto.ResourceDTO;
-
 /**
  * @author mazq
  */
-public interface ResourceOperateStrategy<T> {
+public interface ResourceOperateStrategy<T,R> {
 
-    T insertRemoteSource(ResourceDTO content);
+    /**
+     * 具体策略插入资源方法
+     * @param content
+     * @return
+     */
+    R insertRemoteSource(T content);
 
+    /**
+     * 选择具体策略处理资源
+     * @param resourceId
+     * @return
+     */
     boolean canHandle(String resourceId);
 }

+ 2 - 3
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/ServiceResourceStrategy.java

@@ -21,14 +21,13 @@ import java.util.Date;
  * @create 2020-11-25 14:21
  */
 @Component
-public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceResource> {
+public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceResourceDTO ,ServiceResource> {
 
     @Autowired
     private ServiceResourceMapper serviceResourceMapper;
 
     @Override
-    public ServiceResource insertRemoteSource(ResourceDTO dto) {
-        ServiceResourceDTO serviceResourceDTO = (ServiceResourceDTO) dto;
+    public ServiceResource insertRemoteSource(ServiceResourceDTO serviceResourceDTO) {
         LambdaQueryWrapper<ServiceResource> wrapper = Wrappers.lambdaQuery();
         wrapper.select()
                .eq(ServiceResource::getServiceCode,serviceResourceDTO.getServiceCode())