Procházet zdrojové kódy

Merge branches 'release/v2.1.0-beta' and 'release/v2.1.1-beta' of 192.168.0.144:dcuc-tjdsj/app-service into release/v2.1.1-beta

 Conflicts:
	Jenkinsfile
huangzqa před 4 roky
rodič
revize
f8d2436c56

+ 3 - 3
Jenkinsfile

@@ -5,9 +5,9 @@ def build = new org.devops.build()
 def color = new org.devops.color()
 def systemtime = new org.devops.systemtime()
 
-String cpu = "${env.cpu}"
-String imagePrefix = "${env.imagePrefix}"
-String buildImage = "${env.buildImage}"
+def String cpu = "${env.cpu}"
+def String imagePrefix = "${env.imagePrefix}"
+def String buildImage = "${env.buildImage}"
 
 pipeline {
     agent {

+ 17 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/ResourceDTO.java

@@ -70,6 +70,23 @@ public class ResourceDTO implements Serializable {
      */
     private String contractUnit;
 
+
+    /**
+     * 管理单位id
+     */
+    private String managerUnitId;
+
+    /**
+     * 管理单位name
+     */
+    private String managerUnit;
+
+    /**
+     * 管理单位code
+     */
+    private String managerUnitCode;
+
+
     /**
      * 承建单位负责人
      */

+ 6 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/ApplyInfo.java

@@ -45,6 +45,12 @@ public class ApplyInfo implements Serializable {
     @ApiModelProperty(value = "所属单位名称")
     private String orgName;
 
+    @ApiModelProperty(value = "管理单位id")
+    private String managerOrgId;
+
+    @ApiModelProperty(value = "管理单位名称")
+    private String managerOrgName;
+
     @ApiModelProperty(value = "排序号")
     private String sort;
 

+ 22 - 4
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/ServiceResource.java

@@ -1,11 +1,9 @@
 package com.dragoninfo.dcuc.app.entity;
 
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -82,6 +80,22 @@ public class ServiceResource implements Serializable {
      */
     private String buildPrincipalPhone;
 
+
+    /**
+     * 管理单位id
+     */
+    private String managerUnitId;
+
+    /**
+     * 管理单位name
+     */
+    private String managerUnit;
+
+    /**
+     * 管理单位code
+     */
+    private String managerUnitCode;
+
     /**
      * 承建单位id(ManufacturerId)
      */
@@ -114,13 +128,17 @@ public class ServiceResource implements Serializable {
     private String deleted;
 
     /**
+     * 框架组封装后需要加上jdbcType = JdbcType.TIMESTAMP数据库字段上的值才会有时分秒
      * 创建时间
      */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date createTime;
 
     /**
+     * 框架组封装后需要加上jdbcType = JdbcType.TIMESTAMP数据库字段上的值才会有时分秒
      * 更新时间
      */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date updateTime;
 
 }

+ 5 - 3
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java

@@ -233,6 +233,7 @@ public class ResourceBusiness implements IResourceBusiness {
         dto.setServiceStatus(ServiceStatusCons.STATUS_DELETED);
         dto.setDeleted(BooleanEnum.TRUE.getValue());
         serviceResourceService.updateById(dto);
+        serviceResourceService.deleteById(dto.getId());
         return true;
     }
 
@@ -406,7 +407,8 @@ public class ResourceBusiness implements IResourceBusiness {
         }
         dto.setAppStatus(xtzybs);
         dto.setAppUrl(appInfoAcceptDTO.getYyxtfwdz());
-        dto.setBuildUnitCode(appInfoAcceptDTO.getYyxtgldwdm());
+        dto.setBuildUnitCode(appInfoAcceptDTO.getYyxtsqdwdm());
+        dto.setManagerUnitCode(appInfoAcceptDTO.getYyxtgldwdm());
         dto.setContractUnit(appInfoAcceptDTO.getYyxtcjdwmc());
         dto.setResourceId(ResourceTypeEnum.TJ_APP.getResourceId());
         dto.setResourceType(ResourceTypeEnum.TJ_APP.getResourceType());
@@ -469,8 +471,8 @@ public class ResourceBusiness implements IResourceBusiness {
         ServiceResourceDTO dto = new ServiceResourceDTO();
         dto.setServiceCode(acceptDTO.getFWZYBSF());
         dto.setServiceName(acceptDTO.getFWZYMC());
-        dto.setBuildUnitCode(acceptDTO.getFWZYGLDW_GAJGJGDM());
-        dto.setContractUnitCode(acceptDTO.getFWZYSQDW_JGDM());
+        dto.setManagerUnitCode(acceptDTO.getFWZYGLDW_GAJGJGDM());
+        dto.setBuildUnitCode(acceptDTO.getFWZYSQDW_JGDM());
         dto.setServiceUrl(acceptDTO.getFWFWDZ());
         String fwzyztdm = acceptDTO.getFWZYZTDM();
         dto.setServiceStatus(fwzyztdm);

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/cons/ServiceStatusCons.java

@@ -16,7 +16,7 @@ public interface ServiceStatusCons {
      */
     String STATUS_START = "1";
     /**
-     *
+     * 注销
      */
     String STATUS_DELETED = "3";
 

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

@@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @author mazq
@@ -107,7 +108,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         if(CollectionUtils.isEmpty(list)){
             return apps;
         }
-        setOrgIdsAndManIds(list);
+        setOrgsInfo(list);
         List<Object> objects = batchInsertResource(list);
         for (Object object : objects) {
             ApplyInfo applyInfo = (ApplyInfo) object;
@@ -131,7 +132,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         if(CollectionUtils.isEmpty(list)){
             return services;
         }
-        setOrgIdsAndManIds(list);
+        setOrgsInfo(list);
         List<Object> objects = batchInsertResource(list);
         for (Object object : objects) {
             ServiceResource service = (ServiceResource) object;
@@ -150,38 +151,42 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
     }
 
     /**
-     * 根据对方提供机构编码,承建单位编码,批量获取orgId和manufacturerId
+     * 根据对方提供机构编码,管理单位编码,批量获取id和name
      * @param list
      * @param <T> ResourceDTO
      * @return
      */
-    private <T extends ResourceDTO> List<T> setOrgIdsAndManIds(List<T> list) {
-        //根据对方提供机构编码,承建单位编码,批量获取orgId和manufacturerId
-        List<String> orgCodes = new ArrayList<>();
-        for (ResourceDTO resourceDTO : list) {
-            String buildUnitCode = resourceDTO.getBuildUnitCode();
-            if(!StringUtils.isEmpty(buildUnitCode)){
-                orgCodes.add(buildUnitCode);
-            }
-        }
-        Map<String, String> orgIds = getOrgIds(orgCodes);
-        for (ResourceDTO dto : list) {
-            String orgId = orgIds.get(dto.getBuildUnitCode());
-            dto.setBuildUnitId(orgId);
+    private <T extends ResourceDTO> List<T> setOrgsInfo(List<T> list) {
+        //根据对方提供机构编码,设置事权单位、管理单位信息
+        List<String> codes = list.stream()
+                .flatMap(item -> Stream.of(item.getManagerUnitCode(), item.getBuildUnitCode()))
+                .filter(s->StringUtils.isNotBlank(s))
+                .distinct()
+                .collect(Collectors.toList());
+        Map<String, OrgInfo> orgInfoMap = getOrgInfos(codes);
+        for (T resource : list) {
+            String buildUnitCode = resource.getBuildUnitCode();
+            String managerUnitCode = resource.getManagerUnitCode();
+            setOrgIdAndName(resource, buildUnitCode, managerUnitCode, orgInfoMap);
         }
         return list;
     }
 
-    private Map<String, String> getOrgIds(List<String> list) {
+    private Map<String, OrgInfo> getOrgInfos(List<String> list) {
         if(CollectionUtils.isEmpty(list)){
             return new HashMap<>();
         }
+        list = list
+                .stream()
+                .filter(s->StringUtils.isNotBlank(s))
+                .distinct()
+                .collect(Collectors.toList());
         logger.info("get OrgIds by OrgCodes>> orgCodeList:{}",JSON.toJSONString(list));
         List<OrgInfo> orgInfos = orgInfoFacade.getOrgsByCodes(list);
-        Map<String, String> collect = orgInfos
+        Map<String, OrgInfo> collect = orgInfos
                 .stream()
-                .collect(Collectors.toMap(OrgInfo::getCode, OrgInfo::getId,(old,last)->last));
-        logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.values());
+                .collect(Collectors.toMap(item->item.getCode(), item->item,(old,last)->last));
+        logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.keySet());
         return collect;
     }
 
@@ -194,17 +199,20 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         List<ResourceSync> menuList = resourceMap.get(ResourceTypeEnum.TJ_APP_MENU.getResourceId());
         //插入应用资源
         if(null!=appList){
-            List<AppResourceDTO> apps = appList.stream().map(this::getAppResourceDTO).collect(Collectors.toList());
+            List<AppResourceDTO> apps = appList.stream().filter(item->StringUtils.isNotBlank(item.getAppCode()))
+                    .map(this::getAppResourceDTO).collect(Collectors.toList());
             batchInsertAppResource(apps);
         }
         //插入服务资源
         if(null!=serviceList){
-            List<ServiceResourceDTO> services = serviceList.stream().map(this::getServiceResourceDTO).collect(Collectors.toList());
+            List<ServiceResourceDTO> services = serviceList.stream().filter(item->StringUtils.isNotBlank(item.getServiceCode()))
+                    .map(this::getServiceResourceDTO).collect(Collectors.toList());
             batchInsertServiceResource(services);
         }
         //插入菜单目录
         if(null!=menuList) {
-            List<MenuResourceDTO> menus = menuList.stream().map(this::getMenuResourceDTOs)
+            List<MenuResourceDTO> menus = menuList.stream().filter(item->StringUtils.isNotBlank(item.getAppCode())).
+                    map(this::getMenuResourceDTOs)
                     .flatMap(Collection::stream)
                     .collect(Collectors.toList());
             batchInsertMenu(menus);
@@ -300,7 +308,8 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         dto.setResourceProvider(resourceEnum.getResouProvider());
         dto.setServiceCode(acceptDTO.getFWZYBSF());
         dto.setServiceName(acceptDTO.getFWZYMC());
-        dto.setBuildUnitCode(acceptDTO.getXXCZDW_GAJGJGDM());
+        dto.setBuildUnitCode(acceptDTO.getFWZYSQDW_JGDM());
+        dto.setManagerUnitCode(acceptDTO.getXXCZDW_GAJGJGDM());
         dto.setServiceUrl(acceptDTO.getFWFWDZ());
         String fwzyztdm = acceptDTO.getFWZYZTDM();
         dto.setServiceStatus(fwzyztdm);
@@ -337,7 +346,8 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         }
         dto.setAppStatus(xtzybs);
         dto.setAppUrl(acceptDTO.getYyxtfwdz());
-        dto.setBuildUnitCode(acceptDTO.getYyxtgldwdm());
+        dto.setBuildUnitCode(acceptDTO.getYyxtsqdwdm());
+        dto.setManagerUnitCode(acceptDTO.getYyxtgldwdm());
         dto.setContractUnit(acceptDTO.getYyxtcjdwmc());
         dto.setDeleted(acceptDTO.getXtzxbs());
         String sxrq = acceptDTO.getSxrq();
@@ -363,28 +373,44 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
      */
     private <T extends ResourceDTO> Object insertResource(T dto) {
         //根据对方提供机构编码,承建单位编码,获取orgId和manufacturerId
-        setOrgIdAndManId(dto);
+        setOrgInfo(dto);
         Object resource = doInsert(dto);
         return resource;
     }
 
     /**
-     * 根据对方提供机构编码,承建单位编码,获取orgId和manufacturerId
+     * 根据对方提供机构编码,管理单位单位编码,获取id和name
      * @param dto ResourceDTO的子类
      * @param <T>
      * @return
      */
-    private <T extends ResourceDTO> T setOrgIdAndManId(T dto) {
+    private <T extends ResourceDTO> T setOrgInfo(T dto) {
         String buildUnitCode = dto.getBuildUnitCode();
-        logger.info("get OrgInfo by OrgCode>>orgCode:{}",buildUnitCode);
-        if (!StringUtils.isEmpty(buildUnitCode) && StringUtils.isEmpty(dto.getBuildUnitId())) {
-            OrgInfo orgInfo = orgInfoFacade.getOrgInfoByCode(buildUnitCode);
-            if (null != orgInfo) {
-                dto.setBuildUnitId(orgInfo.getId());
-                logger.info("get OrgInfo by OrgCode>>orgCode:{}",orgInfo.getId());
+        String managerUnitCode = dto.getManagerUnitCode();
+        logger.info("get OrgInfo by OrgCode>>orgCode:{}, managerUnitCode:{}",buildUnitCode,managerUnitCode);
+        List<String> list = new ArrayList<>();
+        list.add(buildUnitCode);
+        list.add(managerUnitCode);
+        Map<String, OrgInfo> orgInfoMap = getOrgInfos(list);
+        setOrgIdAndName(dto, buildUnitCode, managerUnitCode, orgInfoMap);
+        return dto;
+    }
+
+    private <T extends ResourceDTO> void setOrgIdAndName(T dto, String buildUnitCode, String managerUnitCode, Map<String, OrgInfo> orgInfoMap) {
+        if (StringUtils.isNotBlank(buildUnitCode)) {
+            OrgInfo buildOrg = orgInfoMap.get(buildUnitCode);
+            if (null != buildOrg) {
+                dto.setBuildUnit(buildOrg.getFullName());
+                dto.setBuildUnitId(buildOrg.getId());
+            }
+        }
+        if (StringUtils.isNotBlank(buildUnitCode)) {
+            OrgInfo manageOrg = orgInfoMap.get(managerUnitCode);
+            if (null != manageOrg) {
+                dto.setManagerUnit(manageOrg.getFullName());
+                dto.setManagerUnitId(manageOrg.getId());
             }
         }
-        return dto;
     }
 
     /**
@@ -392,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;

+ 6 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ResourceSyncServiceImpl.java

@@ -11,6 +11,7 @@ import com.dragoninfo.dcuc.app.service.IResourceSyncService;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
 import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -20,6 +21,7 @@ import java.util.List;
  * @author mazq
  * @date 2020/11/26
  */
+@Slf4j
 @Service
 public class ResourceSyncServiceImpl extends BaseMybatisService<ResourceSync,String> implements IResourceSyncService {
 
@@ -38,6 +40,10 @@ public class ResourceSyncServiceImpl extends BaseMybatisService<ResourceSync,Str
                 .eq(ResourceSync::getDeleted,BooleanEnum.FALSE.getValue());
         String appCode = dto.getAppCode();
         String serviceCode = dto.getServiceCode();
+        if(StringUtils.isBlank(appCode) && StringUtils.isBlank(serviceCode)){
+            log.info("insertRemoteResourceSync appCode is null and serviceCode is null");
+            return null;
+        }
         if (!StringUtils.isBlank(appCode)) {
             wrapper.eq(ResourceSync::getAppCode,appCode);
         } else {

+ 14 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/AppResourceStrategy.java

@@ -8,6 +8,7 @@ import com.dragoninfo.dcuc.app.entity.ApplyInfo;
 import com.dragoninfo.dcuc.app.enumresources.ResourceTypeEnum;
 import com.dragoninfo.dcuc.app.service.IApplyInfoService;
 import com.dragoninfo.dcuc.app.service.IApplyOauthService;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -17,7 +18,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 +27,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);
@@ -45,6 +45,10 @@ public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
 
     private ApplyInfo inserApplyInfo(AppResourceDTO dto) {
         ApplyInfo applyInfo = convertToApplyInfo(dto);
+        //删除的应用,不插入数据库
+        if(BooleanEnum.TRUE.getValue().equals(dto.getDeleted())){
+            return applyInfo;
+        }
         String secretKey = getApiKeys(applyInfo.getApplyCode());
         String apiKey = getApiKeys(applyInfo.getApplyCode());
         applyInfo.setSecretKey(secretKey);
@@ -58,6 +62,10 @@ public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
         ApplyInfo infoNew = convertToApplyInfo(dto);
         BeanUtil.copyProperties(infoNew, applyInfo, "id", "apiKey", "secretKey");
         applyInfoService.update(applyInfo);
+        //删除的应用
+        if(BooleanEnum.TRUE.getValue().equals(dto.getDeleted())){
+            applyInfoService.deleteById(applyInfo.getId());
+        }
         return applyInfo;
     }
 
@@ -67,7 +75,10 @@ public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
         ApplyInfo applyInfo = new ApplyInfo();
         applyInfo.setApplyCode(appCode);
         applyInfo.setApplyName(dto.getAppName());
+        applyInfo.setOrgId(dto.getBuildUnitId());
         applyInfo.setOrgName(dto.getBuildUnit());
+        applyInfo.setManagerOrgId(dto.getManagerUnitId());
+        applyInfo.setManagerOrgName(dto.getManagerUnit());
         applyInfo.setJgFzr(dto.getBuildPrincipal());
         applyInfo.setJgFzrPhone(dto.getBuildPrincipalPhone());
         applyInfo.setFzr(dto.getContractPrincipal());
@@ -78,7 +89,6 @@ public class AppResourceStrategy implements ResourceOperateStrategy<ApplyInfo> {
         applyInfo.setApplyCategory(dto.getApplyCategory());
         applyInfo.setPoliceSpecies(dto.getPoliceSpecies());
         applyInfo.setManufacturerId(dto.getContractUnitId());
-        applyInfo.setOrgId(dto.getBuildUnitId());
         applyInfo.setRegistrationTime(dto.getRegistrationTime());
         applyInfo.setApplyStatus(dto.getAppStatus());
         return applyInfo;

+ 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);
 }

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

@@ -4,6 +4,7 @@ package com.dragoninfo.dcuc.app.strategy;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragoninfo.dcuc.app.cons.ServiceStatusCons;
 import com.dragoninfo.dcuc.app.dto.ResourceDTO;
 import com.dragoninfo.dcuc.app.dto.ServiceResourceDTO;
 import com.dragoninfo.dcuc.app.entity.ServiceResource;
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.TimeZone;
 
 /**
  * @author mazq
@@ -21,14 +23,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())
@@ -37,6 +38,10 @@ public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceR
         ServiceResource serviceResource;
         if (null == exist) {
             serviceResource = new ServiceResource();
+            //如果是删除状态的服务资源不插入数据库
+            if(ServiceStatusCons.STATUS_DELETED.equals(serviceResourceDTO.getServiceStatus())) {
+                return serviceResource;
+            }
             BeanUtil.copyProperties(serviceResourceDTO, serviceResource);
             serviceResource.setCreateTime(new Date());
             serviceResourceMapper.insert(serviceResource);
@@ -45,6 +50,10 @@ public class ServiceResourceStrategy implements ResourceOperateStrategy<ServiceR
             BeanUtil.copyProperties(serviceResourceDTO, serviceResource, "id","createTime");
             serviceResource.setUpdateTime(new Date());
             serviceResourceMapper.updateById(serviceResource);
+            //如果是删除状态的服务资源,删除
+            if (ServiceStatusCons.STATUS_DELETED.equals(serviceResourceDTO.getServiceStatus())) {
+                serviceResourceMapper.deleteById(serviceResource.getId());
+            }
         }
         return serviceResource;
     }

+ 12 - 0
dcuc-app-service/src/main/resources/config/mysql/V4_1_0003__Update_Tables.sql

@@ -0,0 +1,12 @@
+-- 更新应用表
+ALTER TABLE `t_apply_info` ADD `manager_org_id` VARCHAR(100) DEFAULT NULL;
+ALTER TABLE `t_apply_info` ADD `manager_org_name` VARCHAR(255) DEFAULT NULL;
+-- 更新服务表
+ALTER TABLE `t_service_resource` ADD `manager_unit_id` VARCHAR(100) DEFAULT NULL;
+ALTER TABLE `t_service_resource` ADD `manager_unit` VARCHAR(255) DEFAULT NULL;
+ALTER TABLE `t_service_resource` ADD `manager_unit_code` VARCHAR(100) DEFAULT NULL;
+-- 修改字段长度
+ALTER TABLE `t_service_resource` MODIFY `service_name` VARCHAR(500);
+ALTER TABLE `t_service_resource` MODIFY `service_url` VARCHAR(500);
+ALTER TABLE `t_resource_sync` MODIFY `service_name` VARCHAR(500);
+ALTER TABLE `t_resource_sync` MODIFY `app_name` VARCHAR(500);

+ 14 - 0
dcuc-app-service/src/main/resources/config/sql/V4_1_0004__Update_Table.sql

@@ -0,0 +1,14 @@
+-- 更新应用表
+ALTER TABLE "T_APPLY_INFO" ADD "manager_org_id" VARCHAR2(300 BYTE)  NULL;
+ALTER TABLE "T_APPLY_INFO" ADD "manager_org_name" VARCHAR2(765 BYTE)  NULL;
+-- 更新服务表
+ALTER TABLE "T_SERVICE_RESOURCE" ADD "manager_unit_id" VARCHAR2(765 BYTE)  NULL;
+ALTER TABLE "T_SERVICE_RESOURCE" ADD "manager_unit" VARCHAR2(765 BYTE)  NULL;
+ALTER TABLE "T_SERVICE_RESOURCE" ADD "manager_unit_code" VARCHAR2(300 BYTE)  NULL;
+-- 修改字段长度
+ALTER TABLE "T_SERVICE_RESOURCE" MODIFY "SERVICE_NAME" VARCHAR2(800);
+ALTER TABLE "T_SERVICE_RESOURCE" MODIFY "SERVICE_URL" VARCHAR2(800);
+ALTER TABLE "T_RESOURCE_SYNC" MODIFY "SERVICE_NAME" VARCHAR2(800);
+ALTER TABLE "T_RESOURCE_SYNC" MODIFY "APP_NAME" VARCHAR2(800);
+-- 添加主键索引
+ALTER TABLE "T_APPLY_INFO" ADD PRIMARY KEY("ID");