package com.fzzy.igds.init;
|
|
import com.bstek.dorado.annotation.Expose;
|
import com.fzzy.igds.sys.*;
|
import com.ruoyi.system.domain.SysCompany;
|
import com.ruoyi.system.service.ISysCompanyService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.core.annotation.Order;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* 配置系统级别的项目启动初始化信息
|
*
|
* @author Andy
|
*/
|
@Service
|
@Slf4j
|
@Order(value = 1)
|
public class SystemRunner implements CommandLineRunner {
|
|
@Resource
|
private ISysCompanyService iSysCompanyService;
|
@Resource
|
private SysDeptService sysDeptService;
|
@Resource
|
private DicService dicService;
|
@Resource
|
private BuildingService buildingService;
|
@Resource
|
private DepotService depotService;
|
@Resource
|
private DepotConfService depotConfService;
|
@Resource
|
private SysConfService sysConfService;
|
|
@Override
|
public void run(String... args) throws Exception {
|
//组织信息放入缓存
|
iSysCompanyService.resetCompanyCache();
|
List<SysCompany> list = iSysCompanyService.selectAll();
|
|
for (SysCompany company : list) {
|
|
flushCache(company.getCompanyId(), "系统调用");
|
}
|
}
|
|
/**
|
* 平台系统,手动刷新所有缓存
|
* <p>
|
* systemRunner#flushAllCache
|
*
|
* @param companyId
|
*/
|
@Expose
|
public void flushAllCache(String companyId) {
|
flushCache(companyId, "手动调用");
|
}
|
|
/**
|
* 分组织初始化
|
*
|
* @param companyId
|
* @param name
|
*/
|
public void flushCache(String companyId, String name) {
|
|
//初始化用户部门到内存
|
sysDeptService.initUserDeptMap(companyId);
|
|
//初始化常用字典到内存
|
dicService.initDicMap(companyId);
|
|
//初始化仓房缓存
|
buildingService.refreshCacheBuilding(companyId);
|
//初始化仓库缓存
|
depotService.flushCache(companyId);
|
//参数配置
|
depotConfService.flushConfCache(companyId);
|
//系统配置
|
sysConfService.flushCacheSysConf(companyId);
|
|
log.info("* ");
|
log.info("* ========================");
|
log.info("* ");
|
log.info("* 组织={},{}初始化缓存完成…………", companyId, name);
|
log.info("* ");
|
log.info("* ========================");
|
log.info("* ");
|
}
|
|
|
}
|