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();