123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.its.op.global;
- import com.its.op.dao.repository.its.road.TbRoadRepository;
- import com.its.op.dao.repository.its.road.TbRoadTrafRepository;
- import com.its.op.dao.repository.its.road.TbRoadTrafSimpleRepository;
- import com.its.op.entity.its.road.TbRoad;
- import com.its.op.entity.its.road.TbRoadTraf;
- import com.its.op.entity.its.road.TbRoadTrafSimple;
- import lombok.Getter;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Component;
- import javax.annotation.PostConstruct;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.concurrent.ConcurrentHashMap;
- @Slf4j
- @RequiredArgsConstructor
- @Getter
- @Component
- public class TbRoadManager extends TbTableManager<Long, TbRoad> {
- private final TbRoadRepository repo;
- private final TbRoadTrafRepository trafRepo;
- private final TbRoadTrafSimpleRepository simpleTrafRepo;
- private List<TbRoadTraf> trafList = Collections.synchronizedList(new ArrayList<>());
- private List<TbRoadTrafSimple> simpleTrafList = Collections.synchronizedList(new ArrayList<>());
- @PostConstruct
- void init() {
- load();
- }
- public void load() {
- List<TbRoad> lists = this.repo.findAll();
- for (TbRoad obj : lists) {
- put(obj.getRoadId(), obj);
- }
- loadTraf();
- }
- public void loadTraf() {
- findTraf();
- findSimpleTraf();
- }
- private void findTraf() {
- List<TbRoadTraf> data = this.trafRepo.findAll();
- this.trafList = data;
- }
- private void findSimpleTraf() {
- List<TbRoadTrafSimple> data = this.simpleTrafRepo.findAll();
- this.simpleTrafList = data;
- }
- @Override
- public List<TbRoad> reload() {
- List<TbRoad> objList = repo.findAll();
- ConcurrentHashMap<Long, TbRoad> tempMap = new ConcurrentHashMap<>();
- objList.forEach(obj -> {
- tempMap.put(obj.getRoadId(), obj);
- });
- return updateMap(tempMap);
- }
- }
|