package com.example.controller;
import com.example.utils.DictionaryUtil;
import com.example.utils.DictionaryUtilNew;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.*;
import java.util.List;
/**
* @Company: 西安路泰科技有限公司
* @Author: zhaowenxuan
* @Date: 2024/6/3 15:25
*/
@Slf4j
@RestController
public class TestController {
private static final String LOG_PATH = "src/main/resources/log.log";
@Autowired
private DictionaryUtil dictionaryUtil;
@Autowired
private DictionaryUtilNew dictionaryUtilNew;
/**
* 全部字典同步
* @return
*/
@GetMapping("exec")
public String exce(){
// 将文件内容设置为空
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(LOG_PATH);
fileWriter.write("");
fileWriter.close();
} catch (IOException ignored) {}
new Thread(()->{
// dictionaryUtil.exec1();
dictionaryUtilNew.exec1();
}).start();
return "已提交执行";
}
/**
* 显示日志
* @return
*/
@GetMapping("/show")
public String showLog() {
StringBuilder logContent = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new FileReader(LOG_PATH))) {
String line;
while ((line = reader.readLine()) != null) {
logContent.append(line).append("
");
}
return logContent.toString();
} catch (IOException e) {
log.error("Error reading log file", e);
return e.getMessage();
}
}
/**
* 清除日志
* @return
*/
@GetMapping("/clear")
public String cleanLog() {
try {
// 将文件内容设置为空
FileWriter fileWriter = new FileWriter(LOG_PATH);
fileWriter.write("");
fileWriter.close();
return "Log content cleared successfully.";
} catch (IOException e) {
e.printStackTrace();
return "Failed to clear log content.";
}
}
/**
* 手动同步
* @param methods 同步的字典名
* @param type 是否在同步前清除日志 默认否
* @return
*/
@PostMapping("exec")
public String execPost(@RequestParam("methods")List methods,@RequestParam(value = "type",required = false,defaultValue = "false")Boolean type){
if (type){
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(LOG_PATH);
fileWriter.write("");
fileWriter.close();
} catch (IOException ignored) {}
}
new Thread(()->{
// dictionaryUtil.exec1();
dictionaryUtilNew.execMethods(methods);
}).start();
return "已提交执行";
}
}