xiaochan 3 tháng trước cách đây
mục cha
commit
b9e3ba684f

+ 2 - 2
pom.xml

@@ -19,11 +19,11 @@
         <java.version>21</java.version>
         <thyy-utils>0.0.6</thyy-utils>
         <thyy-socket>0.0.8</thyy-socket>
-        <thyy-archive>0.0.8</thyy-archive>
+        <thyy-archive>0.0.9</thyy-archive>
         <thyy-haikang>0.0.5</thyy-haikang>
         <thyy-emr-query>1.5.0</thyy-emr-query>
         <thyy-thirdpart-api>0.0.1</thyy-thirdpart-api>
-        <thyy-scheduled>0.0.1</thyy-scheduled>
+        <thyy-scheduled>0.0.2</thyy-scheduled>
         <thyy-plugins>0.0.1</thyy-plugins>
         <thyy-hospitalized>0.0.1</thyy-hospitalized>
         <thyy-medinsur>0.0.1</thyy-medinsur>

+ 13 - 0
thyy-archive/src/main/java/org/thyy/archive/contorller/ArchiveController.java

@@ -1,5 +1,6 @@
 package org.thyy.archive.contorller;
 
+import com.alibaba.fastjson2.JSONObject;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.thyy.archive.service.UploadService;
@@ -23,6 +24,7 @@ public class ArchiveController {
         return R.ok(service.upload(file, path, isTest != null && isTest));
     }
 
+
     @PostMapping("/uploadByStr")
     public ResultVo<UploadService.UploadResult> uploadByStr(@RequestBody UploadService.UploadByStr params) {
         return service.uploadByStr(params);
@@ -39,4 +41,15 @@ public class ArchiveController {
         return service.delUploadById(id);
     }
 
+    @PostMapping("/createFile")
+    public ResultVo<String> createFile(@RequestParam("file") MultipartFile file,
+                                       @RequestParam("path") String path) {
+        return service.createFile(file, path);
+    }
+
+    @PostMapping("/deleteFile")
+    public ResultVo<String> deleteFile(@RequestBody JSONObject jsonObject) {
+        return service.deleteFile(jsonObject.getString("path"));
+    }
+
 }

+ 16 - 0
thyy-archive/src/main/java/org/thyy/archive/service/UploadService.java

@@ -15,6 +15,8 @@ import org.thyy.utils.exception.ExceptionEnum;
 import org.thyy.utils.result.R;
 import org.thyy.utils.result.ResultVo;
 
+import java.io.IOException;
+
 
 @Slf4j
 @Service
@@ -202,5 +204,19 @@ public class UploadService {
         return R.ok(result);
     }
 
+    public ResultVo<String> createFile(MultipartFile file, String path) {
+        String tmpPath = config.getPath() + path;
+        try {
+            FileUtil.writeBytes(file.getBytes(), tmpPath);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        return R.ok(path);
+    }
+
+    public ResultVo<String> deleteFile(String path) {
+        FileUtil.del(config.getPath() + path);
+        return R.ok();
+    }
 
 }

+ 1 - 1
thyy-archive/src/main/resources/application.yml

@@ -20,6 +20,6 @@ server:
 
 thyy:
   archive:
-    path: "Y:\\"
+    path: "F:\\archive-java"
     prod: false
     socket-url: "http://172.16.30.66:20922/thyy/api/socket"

+ 119 - 12
thyy-archive/src/main/resources/logback-spring.xml

@@ -1,17 +1,124 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-    <springProperty scope="context" name="serviceName" source="spring.application.name" defaultValue="archive"/>
-    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
-        <destination>172.16.32.134:5044</destination>
-
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
-            <customFields>{"service":"${serviceName}"}</customFields>
-            <includeContext>false</includeContext>
-        </encoder>
+
+    <springProperty name="application_name" scope="context" source="spring.application.name"/>
+    <springProperty scope="context" name="LOG_HOME" source="logging.path"
+                    defaultValue="${user.dir}/logs/${application_name}"/>
+
+    <!-- 日志级别 -->
+    <springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="INFO"/>
+
+    <!--  标识这个"STDOUT" 将会添加到这个logger -->
+    <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
+
+    <!-- 日志文件名称-->
+    <property name="LOG_PREFIX" value="spring-boot-logback"/>
+
+    <!-- 日志文件编码-->
+    <property name="LOG_CHARSET" value="UTF-8"/>
+
+    <!-- 日志文件路径+日期-->
+    <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyy-MM-dd}"/>
+
+    <!--对日志进行格式化-->
+    <property name="LOG_MSG" value="- [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level] [%thread] [%logger{16}] --> %msg%n "/>
+
+    <!--文件大小,默认10MB-->
+    <property name="MAX_FILE_SIZE" value="30MB"/>
+
+    <!-- 配置日志的滚动时间 ,value表示保留日志的天数,0表示永久保存 -->
+    <property name="MAX_HISTORY" value="0"/>
+
+
+    <!-- 彩色日志 -->
+    <!-- 彩色日志依赖的渲染类 -->
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
+    <!-- 彩色日志格式 -->
+    <property name="CONSOLE_LOG_PATTERN"
+              value="-[%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){blue}] [%clr(%level)] [%clr(%thread)] [%clr(%logger{16}){cyan}] %clr(-->){red} %clr(%msg%n){yellow}"/>
+
+    <!--输出到控制台-->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
+        </layout>
+    </appender>
+
+    <!--输出到文件-->
+    <appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    </appender>
+
+    <!-- 定义 ALL 日志的输出方式:-->
+    <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!--日志文件路径,日志文件名称-->
+        <File>${LOG_HOME}/all_${LOG_PREFIX}.log</File>
+
+        <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+
+            <!--日志文件路径,新的 ALL 日志文件名称,“ i ” 是个变量 -->
+            <FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}.log</FileNamePattern>
+
+            <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
+            <MaxHistory>${MAX_HISTORY}</MaxHistory>
+            <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
+        </rollingPolicy>
+
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>${LOG_MSG}</pattern>
+        </layout>
+    </appender>
+
+    <!-- 定义 ERROR 日志的输出方式:-->
+    <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!-- 下面为配置只输出error级别的日志 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <OnMismatch>DENY</OnMismatch>
+            <OnMatch>ACCEPT</OnMatch>
+        </filter>
+        <!--日志文件路径,日志文件名称-->
+        <File>${LOG_HOME}/err_${LOG_PREFIX}.log</File>
+
+        <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+
+            <!--日志文件路径,新的 ERR 日志文件名称,“ i ” 是个变量 -->
+            <FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}.log</FileNamePattern>
+
+            <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
+            <MaxHistory>${MAX_HISTORY}</MaxHistory>
+            <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
+        </rollingPolicy>
+
+        <!-- 输出的日志内容格式化-->
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <Pattern>${LOG_MSG}</Pattern>
+        </layout>
     </appender>
-    <root level="INFO">
-        <!-- 配置哪个级别使用该appender -->
-        <appender-ref ref="LOGSTASH"/>
+
+    <!-- additivity 设为false,则logger内容不附加至root ,配置以配置包下的所有类的日志的打印,级别是 ERROR-->
+
+    <logger name="org.springframework" level="ERROR"/>
+    <logger name="org.apache.commons" level="ERROR"/>
+    <!--    <logger name="th.itcenter.apps.controller.logger.LoggingController" level="WARN"/>-->
+    <!-- ${LOG_ROOT_LEVEL} 日志级别 -->
+    <root level="${LOG_ROOT_LEVEL}">
+
+        <!-- 标识这个"${STDOUT}"将会添加到这个logger -->
+        <appender-ref ref="${STDOUT}"/>
+
+        <!-- FILE_ALL 日志输出添加到 logger -->
+        <appender-ref ref="FILE_ALL"/>
+
+        <!-- FILE_ERROR 日志输出添加到 logger -->
+        <appender-ref ref="FILE_ERROR"/>
     </root>
+
 </configuration>

+ 1 - 1
thyy-emr-query/src/main/resources/application.yml

@@ -10,7 +10,7 @@ spring:
     cache: false
   datasource:
     dynamic:
-      primary: his
+      primary: dev
       strict: false
       datasource:
         his: