package com.vci.web.initTask;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.vci.pagemodel.OsAttributeVO;
|
import com.vci.starter.web.util.LocalFileUtil;
|
import com.vci.web.service.OsAttributeServiceI;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.List;
|
import java.util.Locale;
|
import java.util.stream.Collectors;
|
|
/**
|
* @Description 平台初始话任务
|
* @Author dangsn
|
* @Date 2024/11/28 15:38
|
*/
|
@Component
|
public class OsInitTaskComponet implements ApplicationRunner {
|
|
/**
|
* 日志对象
|
*/
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
|
/**
|
* 属性的服务
|
*/
|
@Autowired
|
private OsAttributeServiceI attributeService;
|
|
@Override
|
public void run(ApplicationArguments args) throws Exception {
|
//初始化默认的属性
|
initDefaultAttribute();
|
|
|
}
|
|
/**
|
* 初始化默认的属性
|
*/
|
private void initDefaultAttribute() {
|
try {
|
String attrJson = LocalFileUtil.readContentForFileInJar("DefaultAttribute.json");
|
if (StringUtils.isBlank(attrJson)) {
|
logger.info("没有读取到classpath*:DefaultAttribute.json文件的内容");
|
return;
|
}
|
List<OsAttributeVO> attributeVOS = JSONObject.parseArray(attrJson, OsAttributeVO.class);
|
if(!CollectionUtils.isEmpty(attributeVOS)){
|
attributeService.setDefaultAttributeVOs(attributeVOS.stream().sorted(((o1, o2) -> o1.getId().compareTo(o2.getId()))).collect(Collectors.toList()));
|
attributeService.setDefaultAttributeVOMap(attributeVOS.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t)));
|
}
|
logger.info("读取默认属性完成");
|
}catch (Throwable e){
|
logger.error("读取classpath*:DefaultAttribute.json的内容并转换的时候出错了",e);
|
}
|
}
|
}
|