package com.fzzy.sys.init; import com.bstek.dorado.annotation.Expose; import com.fzzy.igds.service.*; 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; /** * @Description 配置系统级别的项目启动初始化信息 * @Author CZT * @Date 2025/11/29 16:49 */ @Service @Slf4j @Order(value = 1) public class SystemRunner implements CommandLineRunner { @Resource private ISysCompanyService iSysCompanyService; @Resource private SysDeptService sysDeptService; @Resource private DicService dicService; @Resource private DepotService depotService; @Resource private DepotConfService depotConfService; @Resource private DeviceSerService deviceSerService; @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); //初始化仓库缓存 depotService.flushCache(companyId); //参数配置 depotConfService.flushConfCache(companyId); //设置分机全部掉线 deviceSerService.allOffLine(companyId); //刷新分机到缓存 deviceSerService.refreshCache(companyId); log.info("* "); log.info("* ========================"); log.info("* "); log.info("* 组织={},{}初始化缓存完成…………", companyId, name); log.info("* "); log.info("* ========================"); log.info("* "); } }