| | |
| | | |
| | | |
| | | |
| | | US("US","美国股票","5",PropertiesUtil.getProperty("US_HTTP_API"),PropertiesUtil.getProperty("US_KEY"),"USD","$"), |
| | | // US("US","美国股票","5",PropertiesUtil.getProperty("US_HTTP_API"),PropertiesUtil.getProperty("US_KEY"),"USD","$"), |
| | | // HK("HK","香港股票","39",PropertiesUtil.getProperty("HK_HTTP_API"),PropertiesUtil.getProperty("HK_KEY"),"HKD","HK$"), |
| | | // MAS("MAS","马来西亚股票","42",PropertiesUtil.getProperty("MAS_HTTP_API"),PropertiesUtil.getProperty("MAS_KEY"),"MYR","RM"), |
| | | |
| | |
| | | } |
| | | |
| | | public static EStockType getEStockTypeByCode(String code){ |
| | | if(EStockType.US.getCode().equals(code)){ |
| | | return US; |
| | | }else{ |
| | | // if(EStockType.US.getCode().equals(code)){ |
| | | // return US; |
| | | // }else{ |
| | | // return JP; |
| | | // } |
| | | return JP; |
| | | } |
| | | } |
| | | |
| | | public String getContryId() { |
| | |
| | | return ServerResponse.createByErrorMsg("登录失败。账户锁定",request); |
| | | } |
| | | userAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(),user.getId()); |
| | | userAssetsServices.assetsByTypeAndUserId(EStockType.US.getCode(),user.getId()); |
| | | // userAssetsServices.assetsByTypeAndUserId(EStockType.US.getCode(),user.getId()); |
| | | this.iSiteLoginLogService.saveLog(user, request); |
| | | return ServerResponse.createBySuccess(user); |
| | | } |
| | |
| | | rUserAssets.setIsZf(userAssets.getIsZf()); |
| | | rUserAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().toString()); |
| | | BigDecimal rate = rateServices.currencyRate( |
| | | EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.US); |
| | | EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.JP); |
| | | |
| | | BigDecimal availableBalanceUSD = amt; |
| | | if(amt.compareTo(BigDecimal.ZERO)>0){ |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* |
| | | * 新聞資訊抓取 |
| | | * */ |
| | | @Scheduled(cron = "0 0/10 * * * ?") |
| | | public void USNewsInfoTask() { |
| | | if (USNewsInfoTask.get()) { // 判断任务是否在处理中 |
| | | return; |
| | | } |
| | | if (USNewsInfoTaskLock.tryLock()) { // 加锁 |
| | | try { |
| | | USNewsInfoTask.set(true); // 设置处理中标识为true |
| | | System.out.println("美国新闻定时任务---->开始"); |
| | | iSiteNewsService.grabNews(); |
| | | } catch (Exception e) { |
| | | System.err.println("美国新闻抓取出现异常: " + e.getMessage()); // 打印具体的异常信息 |
| | | } finally { |
| | | USNewsInfoTaskLock.unlock(); // 释放锁 |
| | | USNewsInfoTask.set(false); // 设置处理中标识为false |
| | | System.out.println("美国新闻定时任务---->结束"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // |
| | | // /* |
| | | // * 新聞資訊抓取 |
| | | // * */ |
| | | // @Scheduled(cron = "0 0/10 * * * ?") |
| | | // public void USNewsInfoTask() { |
| | | // if (USNewsInfoTask.get()) { // 判断任务是否在处理中 |
| | | // return; |
| | | // } |
| | | // if (USNewsInfoTaskLock.tryLock()) { // 加锁 |
| | | // try { |
| | | // USNewsInfoTask.set(true); // 设置处理中标识为true |
| | | // System.out.println("美国新闻定时任务---->开始"); |
| | | // iSiteNewsService.grabNews(); |
| | | // } catch (Exception e) { |
| | | // System.err.println("美国新闻抓取出现异常: " + e.getMessage()); // 打印具体的异常信息 |
| | | // } finally { |
| | | // USNewsInfoTaskLock.unlock(); // 释放锁 |
| | | // USNewsInfoTask.set(false); // 设置处理中标识为false |
| | | // System.out.println("美国新闻定时任务---->结束"); |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // |
| | | |
| | | /* |
| | | * 新聞公告抓取 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 同步美国股票 |
| | | */ |
| | | @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 |
| | | } |
| | | } |
| | | } |
| | | // |
| | | // /** |
| | | // * 同步美国股票 |
| | | // */ |
| | | // @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 |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | /** |
| | |
| | | } catch (Exception e) { |
| | | } |
| | | |
| | | try { |
| | | USWebsocketRunClient usWebsocketRunClient = new USWebsocketRunClient(new URI(PropertiesUtil.getProperty("US_WS_URL")),EStockType.US); |
| | | usWebsocketRunClient.connect(); |
| | | usWebsocketRunClient.setConnectionLostTimeout(0); |
| | | new Thread(() -> { |
| | | while (true) { |
| | | try { |
| | | Thread.sleep(8000); |
| | | usWebsocketRunClient.send("heartbeat".getBytes()); |
| | | } catch (Exception e) { |
| | | usWebsocketRunClient.reconnect(); |
| | | usWebsocketRunClient.setConnectionLostTimeout(0); |
| | | } |
| | | } |
| | | }).start(); |
| | | } catch (Exception e) { |
| | | } |
| | | // try { |
| | | // USWebsocketRunClient usWebsocketRunClient = new USWebsocketRunClient(new URI(PropertiesUtil.getProperty("US_WS_URL")),EStockType.US); |
| | | // usWebsocketRunClient.connect(); |
| | | // usWebsocketRunClient.setConnectionLostTimeout(0); |
| | | // new Thread(() -> { |
| | | // while (true) { |
| | | // try { |
| | | // Thread.sleep(8000); |
| | | // usWebsocketRunClient.send("heartbeat".getBytes()); |
| | | // } catch (Exception e) { |
| | | // usWebsocketRunClient.reconnect(); |
| | | // usWebsocketRunClient.setConnectionLostTimeout(0); |
| | | // } |
| | | // } |
| | | // }).start(); |
| | | // } catch (Exception e) { |
| | | // } |
| | | |
| | | |
| | | return retMap; |
| | |
| | | ftp.user=ftp_stock |
| | | ftp.pass=123456 |
| | | ftp.address =/www/wwwroot/ftp_stock/ |
| | | ftp.server.http.prefix=https://img.eminenceproductions.com/ |
| | | ftp.server.http.prefix=https://img.goldlmansachsi.com/ |
| | | |
| | | redis1.ip=localhost |
| | | redis1.port=6379 |
| | |
| | | #股票key的地址 |
| | | JP_HTTP_API = http://api-jp.js-stock.top/ |
| | | JP_WS_URL = ws://api-jp-ws.js-stock.top |
| | | JP_KEY = RpVJm2tyWg7WZcjg5jgB |
| | | JP_KEY = fPM3CrsIMvoLDLue60zw |
| | | #IN_HTTP_API = https://data.is4vc.com/ |
| | | #IN_WS_URL =ws://ws.is4vc.com:8001/websocket-server |
| | | #IN_KEY = r3ZAgtcYzuBizmqge2hK |