package com.zsjz.ai; import cn.hutool.core.io.FileUtil; import com.qingjian.common.constants.PathConst; import lombok.extern.slf4j.Slf4j; import org.noear.solon.Solon; import org.noear.solon.annotation.SolonMain; import org.noear.solon.scheduling.annotation.EnableScheduling; import org.noear.solon.web.cors.CrossFilter; import java.nio.file.Files; @EnableScheduling @SolonMain @Slf4j public class App { static void main(String[] args) { init(); log.info("开始启动服务..."); Solon.start(App.class, args, app -> { //加-1 优先级更高 app.router().filter(-1, new CrossFilter().allowedOrigins("*")); }); } private static void init() { log.info("检查工作空间..."); if (Files.notExists(PathConst.RUN_QINGJIAN_PATH)) { log.info("工作空间不存在,从原始路径移动工作空间..."); FileUtil.copy(PathConst.ORI_QINGJIAN_PATH.toFile(), PathConst.RUN_QINGJIAN_PATH.getParent().toFile(), true); FileUtil.writeUtf8String("", PathConst.LOCK_FILE.toString()); } else { log.info("工作空间已存在..."); if (Files.notExists(PathConst.LOCK_FILE)) { log.info("强制覆盖数据模式启动..."); FileUtil.del(PathConst.RUN_QINGJIAN_PATH); log.info("从原始路径移动工作空间..."); FileUtil.copy(PathConst.ORI_QINGJIAN_PATH.toFile(), PathConst.RUN_QINGJIAN_PATH.getParent().toFile(), true); FileUtil.writeUtf8String("", PathConst.LOCK_FILE.toString()); } } } }