package com.lingfen.website.blog;
import com.alibaba.fastjson.JSONObject;
import com.lingfen.website.blog.bean.Blog;
import com.lingfen.website.blog.search.BlogSearchBean;
import com.lingfen.website.blog.search.BlogSearchRepository;
import com.lingfen.website.blog.service.BlogService;
import com.lingfen.website.blog.service.TagService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
public class BlogApplicationTests {
@Autowired
BlogSearchRepository blogSearchRepository;
@Autowired
BlogService blogService;
@Autowired
TagService tagService;
@Test
public void contextLoads() {
}
@Test
public void addDataToES() {
List<Blog> blogs = blogService.getAllBlog();
List<BlogSearchBean> blogSearchBeans = new ArrayList<>();
for (Blog blog : blogs) {
BlogSearchBean blogSearchBean = new BlogSearchBean();
blogSearchBean.setId(blog.getId());
blogSearchBean.setTitle(blog.getTitle());
blogSearchBean.setContent(blog.getContent());
blogSearchBean.setAppreciation(blog.getAppreciation());
blogSearchBean.setCommentabled(blog.getCommentabled());
blogSearchBean.setCreateTime(blog.getCreateTime());
blogSearchBean.setUpdateTime(blog.getUpdateTime());
blogSearchBean.setDescription(blog.getDescription());
blogSearchBean.setFirstPicture(blog.getFirstPicture());
blogSearchBean.setFlag(blog.getFlag());
blogSearchBean.setPublished(blog.getPublished());
blogSearchBean.setRecommend(blog.getRecommend());
blogSearchBean.setShareStatement(blog.getShareStatement());
blogSearchBean.setTagIds(blog.getTagIds());
blogSearchBean.setTypeId(blog.getTypeId());
blogSearchBean.setUserId(blog.getUserId());
blogSearchBean.setViews(blog.getViews());
blogSearchBeans.add(blogSearchBean);
}
BlogSearchBean blog = new BlogSearchBean();
for (BlogSearchBean blogSearchBean : blogSearchBeans) {
blogSearchRepository.index(blogSearchBean);
}
}
@Test
public void search() {
List<BlogSearchBean> blogSearchBeans = blogSearchRepository.findByTitleLike("es");
for (BlogSearchBean blogSearchBean : blogSearchBeans) {
System.out.println(blogSearchBean);
}
}
@Test
public void addBlog() {
BlogSearchBean blogSearchBean = new BlogSearchBean();
blogSearchBean.setId(101l);
blogSearchBean.setTitle("es测试2");
blogSearchBean.setContent("ss测试内容2");
blogSearchBean.setViews(223);
blogSearchRepository.index(blogSearchBean);
}
@Test
public void delete() {
blogSearchRepository.deleteAll();
}
@Test
public void findByTitleAndContent() {
// List<BlogSearchBean> result = blogSearchRepository.queryByTitleOrContent("ss","ss");
// List<BlogSearchBean> result2 = blogSearchRepository.findByTitleOrContent("ss","ss");
List<BlogSearchBean> result3 = blogSearchRepository.findByTitleOrContentLike("测试", "测试");
for (BlogSearchBean blogSearchBean : result3) {
System.out.println(blogSearchBean);
}
}
@Test
public void updateBlogNumsInTag() {
List<Integer> tagIds = tagService.getTagIds();
for (Integer tagId : tagIds) {
int result = tagService.updateBlogNumsByTagId(tagId);
System.out.println(result);
}
}
@Test
public void ipToRegion() {
//这里通过ip获取的方式有很多,我这里用的腾讯
String s = sendGet("101.37.91.71", "HIFBZ-VIJKD-AP74C-PZVHV-U7KH5-2ABLY");
Map map = JSONObject.parseObject(s, Map.class);
String message = (String) map.get("message");
if ("query ok".equals(message)) {
Map result = (Map) map.get("result");
Map addressInfo = (Map) result.get("ad_info");
String nation = (String) addressInfo.get("nation");
String province = (String) addressInfo.get("province");
// String district = (String) addressInfo.get("district");
String city = (String) addressInfo.get("city");
String address = nation + "-" + province + "-" + city;
System.out.println(address);
} else {
System.out.println(message);
}
}
public static String sendGet(String ip, String key) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = "https://apis.map.qq.com/ws/location/v1/ip?ip=" + ip + "&key=" + key;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (Map.Entry entry : map.entrySet()) {
System.out.println(key + "--->" + entry);
}
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot的个人博客,技术栈:mybatis,mysql,elasticsearch,thymeleaf等.zip (504个子文件)
AUTHORS 6KB
mvnw.cmd 6KB
editormd.css 76KB
editormd.min.css 60KB
editormd.preview.css 55KB
editormd.preview.min.css 44KB
ambiance.css 26KB
animate.css 23KB
codemirror.css 8KB
typo.css 7KB
waifu.css 5KB
codemirror.min.css 5KB
mdn-like.css 5KB
solarized.css 5KB
merge.css 3KB
me.css 3KB
lint.css 3KB
xq-dark.css 3KB
prism.css 3KB
lesser-dark.css 2KB
pastel-on-dark.css 2KB
xq-light.css 2KB
tomorrow-night-eighties.css 2KB
erlang-dark.css 2KB
zenburn.css 2KB
twilight.css 2KB
midnight.css 2KB
vibrant-ink.css 2KB
mbo.css 2KB
base16-dark.css 2KB
base16-light.css 2KB
tern.css 2KB
3024-night.css 2KB
paraiso-dark.css 2KB
paraiso-light.css 2KB
tomorrow-night-bright.css 2KB
3024-day.css 2KB
blackboard.css 2KB
colorforth.css 2KB
the-matrix.css 2KB
night.css 2KB
rubyblue.css 2KB
monokai.css 1KB
cobalt.css 1KB
simplescrollbars.css 1KB
eclipse.css 1KB
neo.css 932B
tocbot.css 928B
elegant.css 768B
neat.css 693B
show-hint.css 662B
dialog.css 502B
tiki.css 440B
foldgutter.css 435B
tiddlywiki.css 220B
matchesonscrollbar.css 188B
fullscreen.css 116B
ambiance-mobile.css 103B
fontawesome-webfont.eot 59KB
editormd-logo.eot 1KB
loading@3x.gif 21KB
loading@2x.gif 16KB
loading.gif 8KB
.gitignore 864B
scala.html 28KB
index.html 22KB
index.html 17KB
blog.html 16KB
blogs-input.html 13KB
index.html 13KB
index.html 13KB
index.html 11KB
index.html 11KB
index.html 10KB
blogs.html 9KB
index.html 9KB
index.html 8KB
types.html 8KB
tags.html 8KB
index.html 8KB
types.html 7KB
tags.html 7KB
index.html 7KB
index.html 7KB
index.html 6KB
index.html 6KB
index.html 6KB
_fragments.html 6KB
tags-update.html 6KB
index.html 6KB
search.html 6KB
index.html 6KB
index.html 6KB
types-input.html 6KB
types-update.html 5KB
tags-input.html 5KB
index.html 5KB
_fragments.html 5KB
index.html 5KB
index.html 4KB
共 504 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 青藏高原冻土空间分布-2023年最新绘制
- order system(1).c
- 基于微博数据的舆情分析项目(包括微博爬虫、LDA主题分析和情感分析)高分项目
- 测试电路板用的双针床设备(含工程图sw17可编辑+cad)全套技术开发资料100%好用.zip
- 基于Python控制台的网络入侵检测
- 基于微博数据的舆情分析项目-包括数据分析、LDA主题分析和情感分析(高分项目源码)
- 制作生成自己专属的安卓app应用 制作apk
- 基于python开发的贪食蛇(源码)
- frmcurvechart.ui
- NSFetchedResultsControllerError如何解决.md
- 基于java银行客户信息管理系统论文.doc
- EmptyStackException(解决方案).md
- RuntimeError.md
- wqwerwerwere
- 基于java+ssm+mysql的4S店预约保养系统任务书.docx
- 基于java在线考试系统2毕业论文.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功