| | |
| | | |
| | | @Override |
| | | public int update(SiteNews model) { |
| | | int ret = siteNewsMapper.update(model); |
| | | int ret = siteNewsMapper.updateById(model); |
| | | return ret>0 ? ret: 0; |
| | | } |
| | | |
| | |
| | | public ServerResponse save(SiteNews model) { |
| | | int ret = 0; |
| | | if(model!=null && model.getId()>0){ |
| | | ret = siteNewsMapper.update(model); |
| | | ret = siteNewsMapper.updateById(model); |
| | | } else{ |
| | | ret = siteNewsMapper.insert(model); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public void grabNews() { |
| | | addNews(1, PropertiesUtil.getProperty("IN_NEW_HTTP_API") + "stock-markets?key=" + PropertiesUtil.getProperty("IN_NEW_KEY") + "&type=6"); |
| | | String apiUrl = PropertiesUtil.getProperty("ST_HTTP_API"); |
| | | String apiKey = PropertiesUtil.getProperty("ST_KEY"); |
| | | |
| | | // 定义需要抓取的类型 |
| | | int[] types = {1, 2, 3}; |
| | | |
| | | // 批量抓取新闻 |
| | | for (int type : types) { |
| | | String url = apiUrl + "stock-markets?key=" + apiKey + "&type=" + type; |
| | | addNews(type, url); |
| | | } |
| | | } |
| | | |
| | | private void addNews(Integer type, String url) { |
| | | try { |
| | | String newlist = HttpRequest.doGrabGet(url); |
| | | |
| | | JSONArray jsonArray = JSONArray.fromObject(newlist); |
| | | |
| | | if (jsonArray.size() > 0) { |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | String newsId = jsonObject.getString("id"); |
| | | |
| | | // 检查是否已经存在新闻 |
| | | if (siteNewsMapper.getNewsBySourceIdCount(newsId) == 0) { |
| | | SiteNews siteNews = new SiteNews(); |
| | | siteNews.setSourceId(newsId); |
| | | siteNews.setSourceName(""); |
| | | siteNews.setTitle(jsonObject.getString("title")); |
| | | |
| | | Long showTime = jsonObject.getLong("time"); |
| | | siteNews.setShowTime(new Date(showTime * 1000)); |
| | | if(jsonObject.has("img")){ |
| | | convertBase64ToImage(jsonObject.getString("img"),PropertiesUtil.getProperty("ftp.address")+newsId+".jpg"); |
| | | siteNews.setImgurl(PropertiesUtil.getProperty("ftp.server.http.prefix")+newsId+".jpg"); |
| | | |
| | | if (jsonObject.has("img")) { |
| | | String imageUrl = jsonObject.getString("img"); |
| | | String imagePath = PropertiesUtil.getProperty("ftp.address") + newsId + ".jpg"; |
| | | convertBase64ToImage(imageUrl, imagePath); |
| | | siteNews.setImgurl(PropertiesUtil.getProperty("ftp.server.http.prefix") + newsId + ".jpg"); |
| | | } |
| | | |
| | | siteNews.setDescription(jsonObject.getString("content")); |
| | | siteNews.setContent(jsonObject.getString("content")); |
| | | siteNews.setStatus(1); |
| | | siteNews.setType(type); |
| | | siteNews.setType(type == 3 ? 4 : type); // type == 3 时设为 4 |
| | | |
| | | siteNewsMapper.insert(siteNews); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("添加新闻出现异常: " + e.getMessage()); |
| | | log.error("添加新闻时出错,URL: {}, 类型: {}, 错误信息: {}", url, type, e.getMessage(), e); |
| | | } |
| | | } |
| | | |