ludc
2024-01-08 82dafa095dcfa9a94ed5b6fa45552e038eae3a12
代码提交
已添加8个文件
335 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/integration/groupMapAttrXML.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/system/deploy.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/groupMapAttrXML.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/system/deploy.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/GroupMapAttrXMLController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IGroupMapAttrXMLService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/GroupMapAttrXMLServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/resources/application-prod.yml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/integration/groupMapAttrXML.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
import request from '@/router/axios';
export const getGroupMapXML = (params) => {
  return request({
    url: '/api/ubcs-code/groupMapAttrXML/getGroupMapXML',
    method: 'get',
    params: params
  })
}
Source/UBCS-WEB/src/api/system/deploy.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
import request from '@/router/axios';
export const getApplications = () => {
  return request({
    // headers: {'Accept': 'application/json'},
    // url: '/api/ubcs-admin/applications',
    url: '/api/ubcs-deploy/deploy/applications',
    method: 'get',
  })
}
Source/UBCS-WEB/src/views/integration/groupMapAttrXML.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<template>
  <el-container>
    <div class="editor-total">
      <div id="editor" v-html="xmlContent"></div>
      <button @click="saveXml">保 å­˜</button>
    </div>
  </el-container>
</template>
<script>
import { getGroupMapXML } from "@/api/integration/groupMapAttrXML.js";
export default {
  data() {
    return {
      xmlContent: "", // ä»ŽåŽç«¯èŽ·å–çš„XML内容
    };
  },
  mounted() {
  },
  created() {
    this.onLoad();
  },
  methods: {
    onLoad() {
      let xmlName = "PDM";
      getGroupMapXML({ xmlName: xmlName }).then((res) => {
        this.xmlContent = res.data.data;
        console.log(res.data.data);
      });
    },
  },
};
</script>
<style>
.editor-total {
  width: 100%;
  height: 100%;
}
</style>
Source/UBCS-WEB/src/views/system/deploy.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,152 @@
<template>
    <basic-container>
        <avue-crud :option="option"
                :table-loading="loading"
                :data="data"
                :page.sync="page"
                :permission="permissionList"
                :before-open="beforeOpen"
                v-model="form"
                ref="crud"
                :cell-style="cellStyle"
                :row-style="rowStyle"
                @on-load="onLoad">
            <template slot-scope="scope" slot="menu">
                <el-button type="text"
                        icon="el-icon-upload"
                        size="small"
                        v-if="permissionList.upload"
                        @click="handleDownload(scope.row)">上 ä¼ 
                </el-button>
                <el-button type="text"
                        icon="el-icon-refresh"
                        size="small"
                        v-if="permissionList.restart"
                        @click="test">重 å¯
                </el-button>
            </template>
            <template slot-scope="{row}"
                        slot="port">
                <el-tag>{{`${row.port}`}}</el-tag>
            </template>
            <template slot-scope="{row}"
                        slot="serviceNum">
                <el-tag>{{`${row.serviceNum}`}}</el-tag>
            </template>
        </avue-crud>
    </basic-container>
</template>
<script>
import { getApplications } from "@/api/system/deploy";
import moment from 'moment';
export default {
    data() {
        return {
            option: {
                columnBtn:false,
                height: 'auto',
                calcHeight: 30,
                tip: false,
                searchShow: false,
                border: true,
                index: true,
                viewBtn: false,
                addBtn: false,
                editBtn: false,
                delBtn: false,
                selection: true,
                refreshBtn: false,
                dialogClickModal: false,
                column: [
                    {
                        label: "实例名称",
                        prop: "name",
                        sortable: true,
                    },
                    {
                        label: "运行状态",
                        prop: "status",
                    },
                    {
                        label: "启动时间",
                        prop: "statusTimestamp",
                    },
                    {
                        label: "端口号",
                        prop: "port",
                    },
                    {
                        label: "实例数量",
                        prop: "serviceNum",
                        width: 120,
                    },
                ]
            },
            data: [],
        }
    },
    created() {
    },
    computed: {
        permissionList() {
            return {
                upload: true,
                restart: true,
                // viewBtn: this.vaildData(this.permission, true),
            };
        },
    },
    methods: {
        onLoad(){
            getApplications().then(res=>{
                let serviceData = res.data.data;
                if(serviceData.length>0){
                    serviceData.forEach(element => {
                        //console.log("element",element);
                        // å°†æ—¶é—´è½¬æ¢ä¸ºæœ¬åœ°æ—¶é—´
                        let localTime = moment.utc(element.statusTimestamp).local();
                        // æ ¼å¼åŒ–时间为您想要的格式
                        let formattedTime = localTime.format('YYYY-MM-DD HH:mm:ss');
                        element.statusTimestamp = formattedTime;
                        this.data.push(element)
                    });
                }
                //console.log(res.data.data);
            });
        },
        rowStyle({row,column,rowIndex}){
            if(rowIndex%2===0){
            return {
                backgroundColor:'#eee',
                color:'#black',
            }
            }
        },
        cellStyle({row,column,rowIndex,columnIndex}){
            if(columnIndex==3){
            if(row.status==="UP"){
                return {
                    color:'green',
                    fontWeight:'bold',
                    fontSize:'20'
                }
            }else{
                return {
                    color:'red',
                    fontWeight:'bold',
                    fontSize:'20'
                }
            }
            }
        },
    }
}
</script>
<style scoped>
</style>
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/GroupMapAttrXMLController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.vci.ubcs.code.controller;
import com.vci.ubcs.code.service.IGroupMapAttrXMLService;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.xml.sax.SAXException;
import javax.annotation.Resource;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
/**
 * é›†å›¢å±žæ€§æ˜ å°„xml配置管理
 * @author ludc
 * @date 2024/1/8 9:41
 */
@RestController
@AllArgsConstructor
@RequestMapping("/groupMapAttrXML")
@Api(value = "集团属性映射xml配置管理", tags = "集团属性映射xml配置管理接口")
public class GroupMapAttrXMLController {
    private final IGroupMapAttrXMLService groupMapAttrXMLService;
    @GetMapping("/getGroupMapXML")
    public R<String> getGroupMapXMLInfo(@RequestParam("xmlName") String xmlName) throws ParserConfigurationException, IOException, SAXException {
        return R.data(groupMapAttrXMLService.getGroupMapXMLInfo(xmlName));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IGroupMapAttrXMLService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.vci.ubcs.code.service;
import org.springframework.stereotype.Service;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
/**
 * é›†å›¢å±žæ€§æ˜ å°„xml配置管理
 * @author ludc
 * @date 2024/1/8 9:39
 */
public interface IGroupMapAttrXMLService {
    String getGroupMapXMLInfo(String xmlName) throws ParserConfigurationException, IOException, SAXException;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/GroupMapAttrXMLServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
package com.vci.ubcs.code.service.impl;
import com.vci.ubcs.code.service.IGroupMapAttrXMLService;
import com.vci.ubcs.code.util.gennerAttrMapUtil;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.ClsfAttrMappingDO;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.LibraryClsfDO;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.LibraryDO;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.rmi.ServerException;
import java.util.*;
import java.util.stream.Collectors;
/**
 * é›†å›¢å±žæ€§æ˜ å°„xml配置管理
 * @author ludc
 * @date 2024/1/8 9:40
 */
@Service
@Slf4j
public class GroupMapAttrXMLServiceImpl implements IGroupMapAttrXMLService {
    private static final String XML_FILE_PATH = "C:\\data1\\ubcs\\ubcs-server\\xml\\PDM.xml";
    @Override
    public String getGroupMapXMLInfo(String xmlName) throws IOException {
        try {
            File file = new File(XML_FILE_PATH);
            byte[] bytes = Files.readAllBytes(Paths.get(file.toURI()));
            return new String(bytes);
        } catch (Exception e) {
            throw new ServerException(StringUtil.format("读取%s文件失败,原因:%s",xmlName,e.getMessage()));
        }
    }
}
Source/UBCS/ubcs-service/ubcs-deploy/src/main/resources/application-prod.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
#服务器端口
server:
  port: 8118
  tomcat:
    uri-encoding: UTF-8
  servlet:
    encoding:
      enabled: true
      charset: UTF-8
      force: true
#数据源配置
spring:
  datasource:
    url: ${blade.datasource.prod.url}
    username: ${blade.datasource.prod.username}
    password: ${blade.datasource.prod.password}
  messages:
    encoding: utf-8
    basename: i18n/messages