//package digital.laboratory.platform.imr.handle;
//
//import digital.laboratory.platform.common.core.constant.CommonConstants;
//import digital.laboratory.platform.common.core.util.R;
//import digital.laboratory.platform.sys.entity.Dictionary;
//import digital.laboratory.platform.sys.feign.RemoteDictionaryService;
//import lombok.RequiredArgsConstructor;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.ApplicationArguments;
//import org.springframework.boot.ApplicationRunner;
//import org.springframework.stereotype.Component;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.Optional;
//
///**
// * App 启动类
// * 当 Spring Application 启动完成后, 会调用这个类的 run() 方法进行一些最后的初始化。
// * 我们在这个方法中从数据库加载一些全局的配置
// *
// * @author Zhang Xiaolong
// */
//
//@Component
//@RequiredArgsConstructor
//public class AppStartupRunner implements ApplicationRunner {
//
//	// @Value("${dlp.entrustment.processDefinitionId}")
//	// public static String processDefinitionId;
//
//	//public static boolean clientChoiceCheckers;
//	//public static boolean checkerChoiceApprovers;
//	//public static boolean singleOperateUser;
//
//	// @Value("${dlp.entrustment.temporaryPath}")
//	//public static String temporaryPath;
//
//	@Value("${dlp.entrustment.entrustmentLetterTemplate}")
//	public static String entrustmentLetterTemplate;
//
//	private final RemoteDictionaryService remoteDictionaryService;
//
//	public static Map<String, String> entrustmentConfig  = new HashMap<>();
//
//	public static String getCfg(String code) {
//		return entrustmentConfig.get(code);
//	}
//
//	/**
//	 *
//	 * @param args 参数
//	 * @throws Exception 异常
//	 *
//	 * 	// @SysLog("委托受理模块初始化") 这里不能使用 @SysLog(), 因为 SysLog 还没有初始化
//	 */
//	@Override
//	public void run(ApplicationArguments args) throws Exception {
////		BusinessCodeUtils.removeSymbols("x-*/）——0*&……%￥#@xasdf!*&^&%^ 中文、/+)(（）\n\\xx\rx");
//
//		{
//			// 加载 entrustment 在字典中的配置
//			R<List<Dictionary>> r = remoteDictionaryService.getDictionaryByType(CommonConstants.DLP_TYPE_ENTRUSTMENT);
//			if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//				List<Dictionary> itemList =  r.getData();
//				for (Dictionary item : itemList) {
//					entrustmentConfig.put(item.getCode(), item.getLabel());
//				}
//			}
//
//			for (String key : entrustmentConfig.keySet()) {
//				System.out.println(String.format("entrustmentConfig[%s]=%s", key, entrustmentConfig.get(key)));
//			}
//		}
//
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_PROCESS_DEFINITION_ID);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 		processDefinitionId = r.getData().get("label");
//		// 	}
//		// }
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_CLIENT_CHOICE_CHECKERS);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 		clientChoiceCheckers = "1".equals(r.getData().get("label"));
//		// 	}
//		// }
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_CHECKER_CHOICE_APPROVERS);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 		checkerChoiceApprovers = "1".equals(r.getData().get("label"));
//		// 	}
//		// }
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_CLIENT_SINGLE_OPERATE_USER);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 		singleOperateUser = "1".equals(r.getData().get("label"));
//		// 	}
//		// }
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_TEMPORARY_PATH);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 			temporaryPath = r.getData().get("label");
//		// 	}
//		// 	if (StrUtil.isEmpty(temporaryPath)) {
//		// 		temporaryPath =new File(System.getProperty("user.dir")+"/temp").getCanonicalPath();
//		// 	}
//		//
//		// 	System.out.printf("临时目录是 %s%n", temporaryPath);
//		// 	File tempPathFile = new File(temporaryPath);
//		// 	if (! tempPathFile.exists()) {
//		// 		System.out.printf("临时目录 %s 不存在, 创建之...%n", tempPathFile.getCanonicalPath());
//		// 		if (!tempPathFile.mkdirs()) {
//		// 			System.out.printf("创建临时目录 %s 失败!%n", tempPathFile.getCanonicalPath());
//		// 		}
//		// 	}
//		// }
//
//		// {
//		// 	R<HashMap<String, String>> r = remoteDictionaryService.innerGetById(CommonConstants.DLP_ENTRUSTMENT_LETTER_TEMPLATE_PATH);
//		// 	if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) {
//		// 		entrustmentLetterTemplate = r.getData().get("label");
//		// 	}
//		// }
//
//	}
//
//
//}