xiejun
2023-11-27 f817fc02cdce69d7f2f014b71e4d0e3b5f1ba455
Merge remote-tracking branch 'origin/master'
已修改7个文件
已添加1个文件
294 ■■■■ 文件已修改
Source/UBCS-WEB/src/views/monitor/log/localLog.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/pom.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/enumpack/ServiceNameRoleEnum.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/vo/LocalLogVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/controller/LogLocalController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/ILogLocalService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/monitor/log/localLog.vue
@@ -69,7 +69,7 @@
          // menuWidth: 300,
          dialogClickModal: false,
          highlightCurrentRow: true, //行选中时高亮
          rowKey: "logName", //行数据的 Key,用来优化 Table çš„æ¸²æŸ“
          rowKey: "randomOid", //行数据的 Key,用来优化 Table çš„æ¸²æŸ“
          column: [
            {
              label: "服务名称",
@@ -121,11 +121,18 @@
        };
      }
    },
    methods: {
    methods: {
      // åˆ¤æ–­å®¢æˆ·ç«¯æ‰€åœ¨çš„æ“ä½œç³»ç»Ÿå¹³å°
      isWindows() {
        return navigator.platform.indexOf('Win') !== -1
      },
      // æ ¹æ®æ“ä½œç³»ç»Ÿå¹³å°è¿”回相应的路径分隔符
      getPathSeparator() {
        return this.isWindows() ? '\\' : '/'
      },
      downLoadLogFile(row){
          this.downloadLoading = true;
          let logPath = row.hasChildren ?  row.logPath:row.logPath+"\\"+row.logName;
          let logPath = row.hasChildren ?  row.logPath:row.logPath+this.getPathSeparator()+row.logName;
          downLoadLog(Object.assign({},row,{logFullPaths:logPath})).then(res=>{
              func.downloadFileByBlobHandler(res);
              this.downloadLoading = false;
Source/UBCS/ubcs-ops-api/ubcs-log-api/pom.xml
@@ -10,6 +10,14 @@
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-log-api</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/enumpack/ServiceNameRoleEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,182 @@
package com.vci.ubcs.log.enumpack;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * @author ludc
 * @date 2023/11/26 18:54
 */
public enum ServiceNameRoleEnum implements BaseEnum {
    /**
     * ç¼–码服务
     */
    UBCS_CODE("ubcs_code","编码服务"),
    /**
     * é‰´æƒæœåŠ¡
     */
    UBCS_AUTH("ubcs_auth","鉴权服务"),
    /**
     * æµç¨‹ç®¡ç†æœåŠ¡
     */
    UBCS_FLOW("ubcs_flow","流程管理服务"),
    /**
     * å¯¹è±¡å»ºæ¨¡ç®¡ç†æœåŠ¡
     */
    UBCS_OMD("ubcs_omd","对象建模管理服务"),
    /**
     * æ—¥å¿—管理服务
     */
    UBCS_LOG("ubcs_log","日志管理服务"),
    /**
     * é›†æˆç®¡ç†æœåŠ¡
     */
    UBCS_APPLYJTCODESERVICE("ubcs_applyjtcodeservice","集成管理服务"),
    /**
     * ç³»ç»Ÿç®¡ç†æœåŠ¡
     */
    UBCS_SYSTEM("ubcs_system","系统管理服务"),
    /**
     * é¦–页桌面服务
     */
    UBCS_DESK("ubcs_desk","首页桌面服务"),
    /**
     * æ–‡ä»¶ç®¡ç†æœåŠ¡
     */
    UBCS_RESOURCE("ubcs_resource","文件管理服务"),
    /**
     * ç½‘关服务
     */
    UBCS_GATEWAY("ubcs_gateway","网关服务"),
    /**
     * æŠ¥è¡¨æœåŠ¡
     */
    UBCS_REPORT("ubcs_report","报表服务"),
    /**
     * ç”¨æˆ·ä¿¡æ¯ç®¡ç†æœåŠ¡
     */
    UBCS_USER("ubcs_user","用户信息管理服务"),
    /**
     * ç”¨æˆ·ä¿¡æ¯ç®¡ç†æœåŠ¡
     */
    UBCS_ADMIN("ubcs_user","服务治理服务")
    ;
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private ServiceNameRoleEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (ServiceNameRoleEnum wenum : ServiceNameRoleEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (ServiceNameRoleEnum wenum : ServiceNameRoleEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static ServiceNameRoleEnum forValue(String value) {
        for (ServiceNameRoleEnum wenum : ServiceNameRoleEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/vo/LocalLogVO.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.log.vo;
import com.vci.ubcs.log.entity.LocalLog;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import javafx.scene.Parent;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -28,4 +29,9 @@
     */
    private String logFullPaths;
    /**
     * éšæœºçš„oid,为了解决表格渲染rowkey重复的问题
     */
    private String randomOid = VciBaseUtil.getPk();
}
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/controller/LogLocalController.java
@@ -39,7 +39,7 @@
     * @return
     */
    @PostMapping("/lazy-list")
    public R<List<LocalLog>> getSystemLogList(@RequestBody LocalLog localLog){
    public R<List<LocalLogVO>> getSystemLogList(@RequestBody LocalLog localLog){
         return R.data(logLocalService.getSystemLogList(localLog.getLogPath()));
    }
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/ILogLocalService.java
@@ -20,7 +20,7 @@
     * @param logParentPath
     * @return
     */
    List<LocalLog> getSystemLogList(String logParentPath);
    List<LocalLogVO> getSystemLogList(String logParentPath);
    /**
     * ä¸‹è½½ï¼Œæ ¹æ®æœåŠ¡åæ‰€åœ¨æ–‡ä»¶åå’Œæ–‡ä»¶åä¸‹è½½æ–‡ä»¶
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java
@@ -1,5 +1,6 @@
package com.vci.ubcs.log.service.impl;
import com.vci.ubcs.log.enumpack.ServiceNameRoleEnum;
import com.vci.ubcs.log.vo.LocalLogVO;
import com.vci.ubcs.log.service.ILogLocalService;
import com.vci.ubcs.log.entity.LocalLog;
@@ -15,6 +16,8 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -35,7 +38,7 @@
 */
@Service
@Slf4j
public class LogLocalServiceImpl implements ILogLocalService{
public class LogLocalServiceImpl implements ILogLocalService, EnvironmentAware {
    /**
     * å„个服务存放的的父路径
@@ -54,9 +57,13 @@
     */
    private Boolean isWindows = true;
    {
        String os = System.getProperty("os.name").toLowerCase();
        //默认就配置为windows的,如果不是当前系统不是windows就需要对其转换为linux的文件路径格式
    /**
     * æ ¹æ®å½“前运行的环境,对配置的日志路径格式进行调整
     * @param environment
     */
    @Override
    public void setEnvironment(Environment environment) {
        String os = environment.getProperty("os.name").toLowerCase();
        if (!os.contains("win")) {
            this.PARENTPATH = this.PARENTPATH.substring(this.PARENTPATH.lastIndexOf(":") + 1).replace("\\", "/");
            this.LOGPATH = this.LOGPATH.replace("\\", "/");
@@ -76,8 +83,8 @@
     * @return
     */
    //@Override
    public List<LocalLog> getSystemLogList(String logParentPath) {
        List<LocalLog> localLogs = new ArrayList<>();
    public List<LocalLogVO> getSystemLogList(String logParentPath) {
        List<LocalLogVO> localLogsVO = new ArrayList<>();
        // ä¸ä¸ºç©ºè¯´æ˜Žæ˜¯åŠ è½½å½“å‰è¿™ä¸ªæœåŠ¡è·¯å¾„ä¸‹çš„æ—¥å¿—æ–‡ä»¶
        if(Func.isNotEmpty(logParentPath)){
            File file = new File(logParentPath);
@@ -85,7 +92,7 @@
                File[] files = file.listFiles();
                Arrays.stream(files).forEach(item->{
                    // ç»„建日志文件对象
                    LocalLog localLog = new LocalLog();
                    LocalLogVO localLog = new LocalLogVO();
                    localLog.setLogName(item.getName());
                    localLog.setLogType(getLogType(item.getName()));
                    localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath));
@@ -95,7 +102,7 @@
                    localLog.setServiceId(serviceId);
                    localLog.setServiceName(getServiceName(serviceId));
                    localLog.setHasChildren(false);
                    localLogs.add(localLog);
                    localLogsVO.add(localLog);
                });
            }
        }else {
@@ -105,22 +112,24 @@
                if(dir.getName().contains("ubcs_")){
                    String fullPath = dir.getPath() + LOGPATH;
                    File file = new File(fullPath);
                    LocalLog localLog = new LocalLog();
                    localLog.setLastModifier(getLastModifiedOrCreatTime(true,fullPath));
                    localLog.setCreateTime(getLastModifiedOrCreatTime(false,fullPath));
                    localLog.setLogPath(fullPath);
                    String serviceId = getServiceId(file.getPath());
                    localLog.setServiceId(serviceId);
                    String serviceName = getServiceName(serviceId);
                    localLog.setServiceName(serviceName);
                    localLog.setLogType(serviceName+"日志父目录");
                    localLog.setLogName(serviceName+"日志父目录");
                    localLog.setHasChildren(true);
                    localLogs.add(localLog);
                    if(file.exists()){
                        LocalLogVO localLogVO = new LocalLogVO();
                        localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath));
                        localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath));
                        localLogVO.setLogPath(fullPath);
                        String serviceId = getServiceId(file.getPath());
                        localLogVO.setServiceId(serviceId);
                        String serviceName = getServiceName(serviceId);
                        localLogVO.setServiceName(serviceName);
                        localLogVO.setLogType(serviceName+"日志父目录");
                        localLogVO.setLogName(serviceName+"日志父目录");
                        localLogVO.setHasChildren(true);
                        localLogsVO.add(localLogVO);
                    }
                }
            });
        }
        return localLogs;
        return localLogsVO;
    }
    /**
@@ -185,7 +194,8 @@
     * @return
     */
    private String getServiceName(String serViceId){
        return EnumCache.getValue(EnumEnum.SERCIVE_NAME_ROLE, serViceId);
        // EnumCache.getValue(EnumEnum.SERCIVE_NAME_ROLE, serViceId)
        return ServiceNameRoleEnum.getTextByValue(serViceId);
    }
    /**
@@ -215,7 +225,7 @@
            throw new ServerException("未获取到该日志路径!");
        }
        FileObjectBO fileObjectBO = new FileObjectBO();
        String logFullPaths = localLogVO.getLogFullPaths();
        String logFullPaths = this.convertWindows2Linux(localLogVO.getLogFullPaths());
        // åˆ¤æ–­æ˜¯å¦æ˜¯çˆ¶ç›®å½•
        if(!localLogVO.getHasChildren()){
            //只下载一个日志文件
@@ -273,6 +283,19 @@
    }
    /**
     * ä¸‹è½½ä¹‹å‰å°†windows的路径格式转换为linux
     * @param fullPath
     * @return
     */
    private String convertWindows2Linux(String fullPath){
        String os = System.getProperty("os.name").toLowerCase();
        if (!os.contains("win")) {
            fullPath = fullPath.replace("\\", "/");
        }
        return fullPath;
    }
    /**
     * åˆ é™¤æ—¥å¿—文件
     * @param localLogVO æ–‡ä»¶å…¨è·¯å¾„集合
     * @throws ServerException
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -104,7 +104,6 @@
            // && StringUtils.isNotBlank(cbo.getAttributeValue(CODE_SEC_LENGTH_FIELD))
        ){
            //是历史数据导入
            //历史数据执行的时候,这个系统会很卡
            //主要是为了录入最大流水号和allcode
            //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
            List<CodeAllCode> allCodeDOList = new CopyOnWriteArrayList<>();
@@ -419,7 +418,6 @@
            allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> {
                s.setLcStatus(statusMap.get(s.getOid()));
            });
            //通过ID来进行去重
            List<CodeAllCode> distinctCodeAllCOdes = allCodeDOList.stream().collect(Collectors
@@ -772,20 +770,20 @@
    /**
     * æ‹¼æŽ¥å‰åŽç¼€
     * @param secVO
     * @param secValue
     * @param secVO ç æ®µ
     * @param secValue ç å€¼
     * @return
     */
    private String joinPreffixAndSuffix(CodeBasicSecVO secVO, String secValue){
        StringBuilder joinSecValue = new StringBuilder();
        // æ‹¼æŽ¥å‰ç¼€
        if (Func.isNotEmpty(secVO.getPrefixCode())) {
        if (Func.isNotEmpty(secVO.getPrefixCode()) && Func.isNotEmpty(secValue)) {
            joinSecValue = joinSecValue.append(secVO.getPrefixCode());
        }
        // åœ¨ä¸­é—´æ‹¼æŽ¥å€¼
        joinSecValue.append(secValue);
        // æ‹¼æŽ¥åŽç¼€
        if(Func.isNotEmpty(secVO.getSuffixCode())){
        if(Func.isNotEmpty(secVO.getSuffixCode()) && Func.isNotEmpty(secValue)){
            joinSecValue = joinSecValue.append(secVO.getSuffixCode());
        }
        return joinSecValue.toString();