Переглянути джерело

Merge branch 'mazq-0302-menucodeupdate' into 'develop'

feature(菜单资源同步根据code更新): 菜单资源同步根据code更新

See merge request dcuc/app-service!24
黄资权 4 роки тому
батько
коміт
02f734f516

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

@@ -19,12 +19,14 @@ import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.power.facade.IAppFunInfoFacade;
 import com.dragoninfo.dcuc.auth.power.facade.IAppFunInfoFacade;
 import com.dragoninfo.dcuc.org.entity.OrgInfo;
 import com.dragoninfo.dcuc.org.entity.OrgInfo;
 import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
 import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.entity.page.PageRequest;
 import com.dragonsoft.duceap.core.entity.page.PageRequest;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
 import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
@@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -117,7 +117,9 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
                 .map(AppResourceDTO::getMenusResources)
                 .map(AppResourceDTO::getMenusResources)
                 .flatMap(List::stream)
                 .flatMap(List::stream)
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
-        Map<String, String> codeToIdMap = apps.stream().collect(Collectors.toMap(ApplyInfo::getApplyCode, ApplyInfo::getId));
+        Map<String, String> codeToIdMap = apps
+                .stream()
+                .collect(Collectors.toMap(ApplyInfo::getApplyCode, ApplyInfo::getId,(old,last)->last));
         batchInsertMenu(menuDTOList,codeToIdMap);
         batchInsertMenu(menuDTOList,codeToIdMap);
         return apps;
         return apps;
     }
     }
@@ -175,7 +177,9 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         }
         }
         logger.info("get OrgIds by OrgCodes>> orgCodeList:{}",JSON.toJSONString(list));
         logger.info("get OrgIds by OrgCodes>> orgCodeList:{}",JSON.toJSONString(list));
         List<OrgInfo> orgInfos = orgInfoFacade.getOrgsByCodes(list);
         List<OrgInfo> orgInfos = orgInfoFacade.getOrgsByCodes(list);
-        Map<String, String> collect = orgInfos.stream().collect(Collectors.toMap(OrgInfo::getCode, OrgInfo::getId));
+        Map<String, String> collect = orgInfos
+                .stream()
+                .collect(Collectors.toMap(OrgInfo::getCode, OrgInfo::getId,(old,last)->last));
         logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.values());
         logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.values());
         return collect;
         return collect;
     }
     }
@@ -184,7 +188,8 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
     public List<ServiceResource> getServiceByServiceCodes(List<String> list) {
     public List<ServiceResource> getServiceByServiceCodes(List<String> list) {
         LambdaQueryWrapper<ServiceResource> query = Wrappers.lambdaQuery();
         LambdaQueryWrapper<ServiceResource> query = Wrappers.lambdaQuery();
         query.select()
         query.select()
-             .in(ServiceResource::getServiceCode,list);
+             .in(ServiceResource::getServiceCode,list)
+             .eq(ServiceResource::getDeleted, BooleanEnum.FALSE.getValue());
         return serviceResourceMapper.selectList(query);
         return serviceResourceMapper.selectList(query);
     }
     }
 
 
@@ -225,7 +230,9 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         }
         }
         List<String> appCodes = menus.stream().map(MenuResourceDTO::getAppCode).collect(Collectors.toList());
         List<String> appCodes = menus.stream().map(MenuResourceDTO::getAppCode).collect(Collectors.toList());
         List<ApplyInfo> applyInfos = applyInfoService.getIdsByCodes(appCodes);
         List<ApplyInfo> applyInfos = applyInfoService.getIdsByCodes(appCodes);
-        Map<String, String> codeToIdMap = applyInfos.stream().collect(Collectors.toMap(ApplyInfo::getApplyCode, ApplyInfo::getId));
+        Map<String, String> codeToIdMap = applyInfos
+                .stream()
+                .collect(Collectors.toMap(ApplyInfo::getApplyCode, ApplyInfo::getId,(old,last)->last));
         batchInsertMenu(menus,codeToIdMap);
         batchInsertMenu(menus,codeToIdMap);
     }
     }
 
 
@@ -250,6 +257,9 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
             appFunInfo.setParentId(dto.getPFunCode());
             appFunInfo.setParentId(dto.getPFunCode());
             if(null != codeToIdMap){
             if(null != codeToIdMap){
                 String appId = codeToIdMap.get(dto.getAppCode());
                 String appId = codeToIdMap.get(dto.getAppCode());
+                if(StringUtils.isBlank(appId)){
+                    logger.info("menu resource appId is null");
+                }
                 appFunInfo.setAppId(appId);
                 appFunInfo.setAppId(appId);
             }
             }
             funList.add(appFunInfo);
             funList.add(appFunInfo);

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

@@ -50,11 +50,14 @@ public class ResourceSyncServiceImpl extends BaseMybatisService<ResourceSync,Str
             BeanUtil.copyProperties(dto, resourceSync);
             BeanUtil.copyProperties(dto, resourceSync);
             resourceSync.setDeleted(BooleanEnum.FALSE.getValue());
             resourceSync.setDeleted(BooleanEnum.FALSE.getValue());
             resourceSync.setCreateTime(date);
             resourceSync.setCreateTime(date);
+            resourceSync.setSync(BooleanEnum.FALSE.getValue());
             resourceSyncMapper.insert(resourceSync);
             resourceSyncMapper.insert(resourceSync);
         } else {
         } else {
             resourceSync = exist;
             resourceSync = exist;
-            BeanUtil.copyProperties(dto, resourceSync, "id");
+            BeanUtil.copyProperties(dto, resourceSync, "id","createTime");
             resourceSync.setUpdateTime(date);
             resourceSync.setUpdateTime(date);
+            resourceSync.setDeleted(BooleanEnum.FALSE.getValue());
+            resourceSync.setSync(BooleanEnum.FALSE.getValue());
             resourceSyncMapper.updateById(resourceSync);
             resourceSyncMapper.updateById(resourceSync);
         }
         }
         return resourceSync;
         return resourceSync;

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

@@ -31,7 +31,6 @@ public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceR
         ServiceResourceDTO serviceResourceDTO = (ServiceResourceDTO) dto;
         ServiceResourceDTO serviceResourceDTO = (ServiceResourceDTO) dto;
         LambdaQueryWrapper<ServiceResource> wrapper = Wrappers.lambdaQuery();
         LambdaQueryWrapper<ServiceResource> wrapper = Wrappers.lambdaQuery();
         wrapper.select()
         wrapper.select()
-               .eq(ServiceResource::getResourceId,serviceResourceDTO.getServiceCode())
                .eq(ServiceResource::getServiceCode,serviceResourceDTO.getServiceCode())
                .eq(ServiceResource::getServiceCode,serviceResourceDTO.getServiceCode())
                .eq(ServiceResource::getDeleted,BooleanEnum.FALSE.getValue());
                .eq(ServiceResource::getDeleted,BooleanEnum.FALSE.getValue());
         ServiceResource exist = serviceResourceMapper.selectOne(wrapper);
         ServiceResource exist = serviceResourceMapper.selectOne(wrapper);
@@ -44,7 +43,7 @@ public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceR
             serviceResourceMapper.insert(serviceResource);
             serviceResourceMapper.insert(serviceResource);
         } else {
         } else {
             serviceResource = exist;
             serviceResource = exist;
-            BeanUtil.copyProperties(serviceResourceDTO, serviceResource, "id");
+            BeanUtil.copyProperties(serviceResourceDTO, serviceResource, "id","createTime");
             serviceResource.setDeleted(BooleanEnum.FALSE.getValue());
             serviceResource.setDeleted(BooleanEnum.FALSE.getValue());
             serviceResource.setUpdateTime(new Date());
             serviceResource.setUpdateTime(new Date());
             serviceResourceMapper.updateById(serviceResource);
             serviceResourceMapper.updateById(serviceResource);