远程部署服务部分代码编写,主题库定义分类授权界面增加全选按钮功能
已修改8个文件
已添加11个文件
421 ■■■■■ 文件已修改
Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/page/login/sso.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/page/login/userlogin.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-admin/src/main/resources/bootstrap.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-deploy-api/pom.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/CmdConfig.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/DeployApps.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/Instance.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/vo/DeployAppsVO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/pom.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/DeployApplication.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/controller/DeployAppsController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/mapper/DeployAppsMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/IDeployAppsService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/SystemApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue
@@ -301,9 +301,9 @@
      }
      this.classifyAuthButton.forEach(item => {
        //console.log("item",item);
        Vue.set(this.classifyAuthData[0], item.id, true);
        Vue.set(this.selectList[0], item.id, true);
      });
      //console.log("this.classifyAuthData",this.classifyAuthData);
      //console.log("this.selectList",this.selectList);
    },
  },
};
Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
@@ -329,7 +329,6 @@
                        condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
                    }
                }
            }
            // æŸ¥è¯¢æ¡ä»¶æ²¡æœ‰å‡ºçŽ°é‡å¤å±žæ€§ï¼Œå¹¶ä¸”è¿‡æ»¤æŽ‰äº†ç©ºå€¼ï¼Œå°±ä¼ é€’ç»™çˆ¶ç»„ä»¶
            //console.log(condtionParam);
Source/UBCS-WEB/src/page/login/sso.vue
@@ -28,7 +28,7 @@
      //console.log(this.$route);
      //console.log(this.PathString);
      this.$store.dispatch("LoginBySso", { PathString: this.PathString }).then((res) => {
        console.log('res', res)
        //console.log('res', res)
        this.$router.push({ path: this.tagWel.value });
      })
    }
Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -67,7 +67,6 @@
      </div>
    </el-dialog>
  </div>
</template>
<script>
Source/UBCS/ubcs-ops/ubcs-admin/src/main/resources/bootstrap.yml
@@ -33,8 +33,8 @@
  # è‡ªå®šä¹‰ç™»å½•用户名密码
  security:
    user:
      name: Admin
      password: Admin
      name: admin
      password: admin
# ç›‘控的相关配置
monitor:
Source/UBCS/ubcs-service-api/pom.xml
@@ -28,6 +28,7 @@
        <module>ubcs-applyjtcodeservice-api</module>
        <module>ubcs-workflow-api</module>
        <module>ubcs-file-api</module>
        <module>ubcs-deploy-api</module>
    </modules>
    <dependencies>
Source/UBCS/ubcs-service-api/ubcs-deploy-api/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ubcs-service-api</artifactId>
        <groupId>com.vci.ubcs</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-deploy-api</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/CmdConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.vci.ubcs.deploy.entity;
import lombok.Data;
/**
 * è¿œç¨‹éƒ¨ç½²èƒ½å¤Ÿæ‰§è¡Œçš„命令
 * @author ludc
 * @date 2024/1/7 21:37
 */
@Data
public class CmdConfig {
    private String startCmd;
    private String restartCmd;
    private String stopCmd;
}
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/DeployApps.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
package com.vci.ubcs.deploy.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * è¿œç¨‹éƒ¨ç½²åŠŸèƒ½
 * @author ludc
 * @date 2024/1/7 19:55
 */
@Data
@TableName("PL_SYS_DEPLOY_CONFIG")
@AllArgsConstructor
@NoArgsConstructor
public class DeployApps {
    /**
     * ä¸»é”®
     */
    @TableId("OID")
    private String oid;
    /**
     * æœåŠ¡åç§°
     */
    private String serverName;
    /**
     * æœåŠ¡jar存放的路径
     */
    private String serverPath;
    /**
     * æ—¥å¿—文件存放位置
     */
    private String logPath;
    /**
     * å‘½ä»¤é…ç½®
     */
    private CmdConfig cmdCofig;
}
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/entity/Instance.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
package com.vci.ubcs.deploy.entity;
import de.codecentric.boot.admin.server.domain.events.InstanceEvent;
import de.codecentric.boot.admin.server.domain.values.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.annotation.Nullable;
import java.io.Serializable;
import java.time.Instant;
import java.util.*;
/**
 * @author ludc
 * @date 2024/1/8 0:23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Instance implements Serializable {
    private InstanceId id;
    private long version;
    @Nullable
    private Registration registration;
    private boolean registered;
    private StatusInfo statusInfo;
    private Instant statusTimestamp;
    private Info info;
    private List<InstanceEvent> unsavedEvents;
    private Endpoints endpoints;
    @Nullable
    private BuildVersion buildVersion;
    private Tags tags;
}
Source/UBCS/ubcs-service-api/ubcs-deploy-api/src/main/java/com/vci/ubcs/deploy/vo/DeployAppsVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.vci.ubcs.deploy.vo;
import com.vci.ubcs.deploy.entity.DeployApps;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author ludc
 * @date 2024/1/7 23:26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeployAppsVO extends DeployApps {
    private String name;
    private String status;
    private String statusTimestamp;
    private String port;
    private Integer serviceNum;
}
Source/UBCS/ubcs-service/pom.xml
@@ -25,6 +25,7 @@
        <module>ubcs-omd</module>
        <module>ubcs-ddl</module>
        <module>ubcs-applyjtcodeservice</module>
        <module>ubcs-deploy</module>
    </modules>
    <dependencies>
Source/UBCS/ubcs-service/ubcs-deploy/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.vci.ubcs</groupId>
        <artifactId>ubcs-service</artifactId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-deploy</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-core-boot</artifactId>
            <!--<exclusions>
                <exclusion>
                    <groupId>org.springblade</groupId>
                    <artifactId>blade-starter-mybatis</artifactId>
                </exclusion>
            </exclusions>-->
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-deploy-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/DeployApplication.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.vci.ubcs.deploy;
import org.springblade.core.cloud.client.UbcsCloudApplication;
import org.springblade.core.launch.UbcsApplication;
import org.springblade.core.launch.constant.AppConstant;
/**
 * è¿œç¨‹éƒ¨ç½²æœåŠ¡
 * @author ludc
 * @date 2024/1/7 23:19
 */
@UbcsCloudApplication
public class DeployApplication {
    public static void main(String[] args) {
        UbcsApplication.run(AppConstant.APPLICATION_NAME_PREFIX+"deploy", DeployApplication.class, args);
    }
}
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/controller/DeployAppsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.vci.ubcs.deploy.controller;
import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
import com.vci.ubcs.deploy.entity.DeployApps;
import com.vci.ubcs.deploy.service.IDeployAppsService;
import com.vci.ubcs.deploy.vo.DeployAppsVO;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.apache.http.auth.AuthenticationException;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.ServletRequest;
import java.util.List;
/**
 * æœåŠ¡è¿œç¨‹æ›´æ–°éƒ¨ç½²
 * @author ludc
 * @date 2024/1/7 0:24
 */
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/deploy")
@ApiIgnore
@Api(value = "应用管理", tags = "接口")
public class DeployAppsController {
    private final IDeployAppsService deployAppsService;
    @GetMapping("/applications")
    public R<List<DeployAppsVO>> getApplications(ServletRequest servletRequest) throws ServiceException {
        return R.data(deployAppsService.getApplications(servletRequest));
    }
}
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/mapper/DeployAppsMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.deploy.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.deploy.entity.DeployApps;
/**
 * @author ludc
 * @date 2024/1/7 19:55
 */
public interface DeployAppsMapper extends BaseMapper<DeployApps> {
}
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/IDeployAppsService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.vci.ubcs.deploy.service;
import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.deploy.entity.DeployApps;
import com.vci.ubcs.deploy.vo.DeployAppsVO;
import org.apache.http.auth.AuthenticationException;
import javax.servlet.ServletRequest;
import java.util.List;
/**
 * @author ludc
 * @date 2024/1/7 19:54
 */
public interface IDeployAppsService extends IService<DeployApps> {
    List<DeployAppsVO> getApplications(ServletRequest servletRequest) throws ServiceException;
}
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
package com.vci.ubcs.deploy.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.deploy.entity.DeployApps;
import com.vci.ubcs.deploy.entity.Instance;
import com.vci.ubcs.deploy.mapper.DeployAppsMapper;
import com.vci.ubcs.deploy.service.IDeployAppsService;
import com.vci.ubcs.deploy.vo.DeployAppsVO;
import com.vci.ubcs.starter.util.HttpUtils;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.UrlUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
 * @author ludc
 * @date 2024/1/7 19:54
 */
@Service
public class DeployAppsServiceImpl extends ServiceImpl<DeployAppsMapper, DeployApps> implements IDeployAppsService {
    @Autowired
    private DeployAppsMapper deployAppsMapper;
    @Value("${password-free.pwd-free-addr:localhost}")
    private String pwdFreeAddr;
    // é€šè¿‡æœåŠ¡æ³¨å†Œä¸­å¿ƒèŽ·å–ç½‘å…³çš„ç«¯å£å·
    @Autowired
    private DiscoveryClient discoveryClient;
    @Override
    public List<DeployAppsVO> getApplications(ServletRequest servletRequest) throws ServiceException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String baldeAuth = request.getHeaders("Blade-Auth").nextElement();
        String cookie = request.getHeaders("Cookie").nextElement();
        // å…å¯†ç™»å½•接口地址
        String loginUrl = "http://"+pwdFreeAddr+":"+this.getGatewayPort("ubcs-gateway")+"/ubcs-admin/applications";
        log.debug("获取服务信息调用地址:"+loginUrl);
        // è¯·æ±‚ubcs-admin获取服务信息
        HttpHeaders headers = new HttpHeaders();
        ArrayList<MediaType> mediaTypes = new ArrayList<>();
        mediaTypes.add(MediaType.APPLICATION_JSON);
        headers.set("Authorization","Basic c2FiZXI6c2FiZXJfc2VjcmV0");
        headers.set("Blade-Auth",baldeAuth);
        headers.set("Cookie",cookie);
        headers.setAccept(mediaTypes);
        List<DeployAppsVO> deployAppsVOList = new ArrayList<>();
        try {
            // å‘送GET请求
            String responseBody = HttpUtils.get(loginUrl, headers);
            if(Func.isNotEmpty(responseBody)){
                // å°† JSON å­—符串转换为 JSONArray
                JSONArray jsonArray = JSON.parseArray(responseBody);
                for (Object obj : jsonArray) {
                    DeployAppsVO deployAppsVO = new DeployAppsVO();
                    JSONObject jsonObject = (JSONObject) obj;
                    List instances = ((List) jsonObject.get("instances"));
                    deployAppsVO.setName(jsonObject.get("name").toString());
                    String serviceUrl = ((JSONObject) ((JSONObject) instances.get(0)).get("registration")).get("serviceUrl").toString();
                    deployAppsVO.setPort(String.valueOf(new URL(serviceUrl).getPort()));
                    deployAppsVO.setServiceNum(instances.size());
                    deployAppsVO.setStatus(jsonObject.get("status").toString());
                    deployAppsVO.setStatusTimestamp(jsonObject.get("statusTimestamp").toString());
                    deployAppsVOList.add(deployAppsVO);
                }
            }
        }catch (Exception e){
            throw new ServiceException("调用ubcs-admin获取服务信息失败,原因:"+e.getMessage());
        }
        return deployAppsVOList;
    }
    /**
     * æ ¹æ®æœåŠ¡åèŽ·å–ç«¯å£å·
     * @param serviceId
     * @return
     */
    public String getGatewayPort(String serviceId) {
        List<ServiceInstance> instances = discoveryClient.getInstances(serviceId);
        if (!instances.isEmpty()) {
            ServiceInstance gatewayInstance = instances.get(0);
            return String.valueOf(gatewayInstance.getPort());
        }
        return "8080";
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/SystemApplication.java
@@ -19,6 +19,7 @@
import org.springblade.core.cloud.client.UbcsCloudApplication;
import org.springblade.core.launch.UbcsApplication;
import org.springblade.core.launch.constant.AppConstant;
import org.springframework.context.annotation.ComponentScan;
/**
 * ç³»ç»Ÿæ¨¡å—启动器