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; /** * ç³»ç»æ¨¡åå¯å¨å¨