czt
2025-06-11 283da741b2429cf5a53786e5ee1b5528b757fdf6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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("* ");
    }
 
 
}