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 list = iSysCompanyService.selectAll(); for (SysCompany company : list) { flushCache(company.getCompanyId(), "系统调用"); } } /** * 平台系统,手动刷新所有缓存 *

* 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("* "); } }