| | |
| | | |
| | | private final Lock syncINStockDataLock = new ReentrantLock(); |
| | | |
| | | private final AtomicBoolean syncUSStockData = new AtomicBoolean(false); |
| | | |
| | | private final Lock syncUSStockDataLock = new ReentrantLock(); |
| | | |
| | | /** |
| | | * 同步系统所需要的股票 |
| | | */ |
| | | @Scheduled(cron = "0/5 * * * * ?") |
| | | @Scheduled(cron = "0 0/1 * * * ?") |
| | | public void syncINStockData() { |
| | | if (syncINStockData.get()) { // 判断任务是否在处理中 |
| | | return; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 同步美国股票 |
| | | */ |
| | | // @Scheduled(cron = "0 0/30 * * * ?") |
| | | public void loadStockCompanies() { |
| | | loadAllCompanies(); |
| | | } |
| | | // |
| | | // /** |
| | | // * 同步美国股票 |
| | | // */ |
| | | // @Scheduled(cron = "0 0/1 * * * ?") |
| | | // public void loadStockCompanies() { |
| | | // if (syncUSStockData.get()) { // 判断任务是否在处理中 |
| | | // return; |
| | | // } |
| | | // if (syncUSStockDataLock.tryLock()) { |
| | | // try { |
| | | // syncUSStockData.set(true); // 设置处理中标识为true |
| | | // loadAllStock(EStockType.US); |
| | | // } finally { |
| | | // syncUSStockDataLock.unlock(); |
| | | // syncUSStockData.set(false); // 设置处理中标识为false |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | for (DataStockBean o : list) { |
| | | Stock stock = stockMapper.findStockByCode(o.getId()); |
| | | if (stock == null) { |
| | | stock = new Stock(); |
| | | stock.setStockCode(o.getId()); |
| | | stock.setStockName(o.getName()); |
| | | stock.setStockType(eStockType.getCode()); |
| | | if (o.getType() == null) { |
| | | stock.setStockGid(eStockType.getCode()); |
| | | if(o.getType().equals("TSE")){ |
| | | Stock stock = stockMapper.findStockByCode(o.getId()); |
| | | if (stock == null) { |
| | | stock = new Stock(); |
| | | stock.setStockCode(o.getId()); |
| | | stock.setStockName(o.getName()); |
| | | stock.setStockType(eStockType.getCode()); |
| | | if (o.getType() == null) { |
| | | stock.setStockGid(eStockType.getCode()); |
| | | } else { |
| | | stock.setStockGid(o.getType()); |
| | | } |
| | | stock.setStockSpell(o.getSymbol()); |
| | | stock.setIsLock(0); |
| | | stock.setIsShow(0); |
| | | stock.setDataBase(0); |
| | | stock.setAddTime(new Date()); |
| | | stockMapper.insert1(stock); |
| | | } else { |
| | | stock.setStockGid(o.getType()); |
| | | stock.setStockCode(o.getId()); |
| | | stock.setStockName(o.getName()); |
| | | stock.setStockType(eStockType.getCode()); |
| | | if (o.getType() == null) { |
| | | stock.setStockGid(eStockType.getCode()); |
| | | } else { |
| | | stock.setStockGid(o.getType()); |
| | | } |
| | | stock.setStockSpell(o.getSymbol()); |
| | | stock.setIsLock(0); |
| | | stock.setIsShow(0); |
| | | stock.setDataBase(0); |
| | | stock.setAddTime(new Date()); |
| | | stockMapper.updateById(stock); |
| | | } |
| | | stock.setStockSpell(o.getSymbol()); |
| | | stock.setIsLock(0); |
| | | stock.setIsShow(0); |
| | | stock.setDataBase(0); |
| | | stock.setAddTime(new Date()); |
| | | stockMapper.insert1(stock); |
| | | } else { |
| | | stock.setStockCode(o.getId()); |
| | | stock.setStockName(o.getName()); |
| | | stock.setStockType(eStockType.getCode()); |
| | | if (o.getType() == null) { |
| | | stock.setStockGid(eStockType.getCode()); |
| | | } else { |
| | | stock.setStockGid(o.getType()); |
| | | } |
| | | stock.setStockSpell(o.getSymbol()); |
| | | stock.setIsLock(0); |
| | | stock.setIsShow(0); |
| | | stock.setDataBase(0); |
| | | stock.setAddTime(new Date()); |
| | | stockMapper.updateById(stock); |
| | | RedisKeyUtil.setCaCheKeyBaseStock(eStockType, o); |
| | | } |
| | | RedisKeyUtil.setCaCheKeyBaseStock(eStockType, o); |
| | | } |
| | | log.info("同步股票 数据 成功 {} 总共同步数据 {}", eStockType.getCode(), list.size()); |
| | | } catch ( |