Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
25670f56f8
@ -102,85 +102,62 @@ public class UrlAndCateController {
|
|||||||
{
|
{
|
||||||
List<UrlCateList> urlCateLists = urlCateListService.selectUrListByUserId(Integer.valueOf(userId));
|
List<UrlCateList> urlCateLists = urlCateListService.selectUrListByUserId(Integer.valueOf(userId));
|
||||||
List<UrlList> urlLists = urlListService.selectUrList();
|
List<UrlList> urlLists = urlListService.selectUrList();
|
||||||
|
|
||||||
List<CateAndUrl> cateAndUrlList = new ArrayList<>();
|
List<CateAndUrl> cateAndUrlList = new ArrayList<>();
|
||||||
|
for (UrlCateList urlCateList : urlCateLists) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//预处理为CateAndUrl对象
|
|
||||||
for( int i = 0 ; i < urlCateLists.size() ; i++)
|
|
||||||
{
|
|
||||||
CateAndUrl cateAndUrl = new CateAndUrl();
|
CateAndUrl cateAndUrl = new CateAndUrl();
|
||||||
cateAndUrl.setFloder("true");
|
cateAndUrl.setFloder("true");
|
||||||
cateAndUrl.setName(urlCateLists.get(i).getName());
|
cateAndUrl.setName(urlCateList.getName());
|
||||||
cateAndUrl.setParentId(urlCateLists.get(i).getRootCateId());
|
cateAndUrl.setParentId(urlCateList.getRootCateId());
|
||||||
cateAndUrl.setCateId(urlCateLists.get(i).getId());
|
cateAndUrl.setCateId(urlCateList.getId());
|
||||||
cateAndUrlList.add(cateAndUrl);
|
cateAndUrlList.add(cateAndUrl);
|
||||||
|
|
||||||
}
|
}
|
||||||
for( int i = 0 ; i < urlLists.size() ; i++)
|
for( int i = 0 ; i < urlLists.size() ; i++){
|
||||||
{
|
UrlList urlList = urlLists.get(i);
|
||||||
CateAndUrl cateAndUrl = new CateAndUrl();
|
for(CateAndUrl cateAndUrl1 : cateAndUrlList) {
|
||||||
cateAndUrl.setFloder("false");
|
if (urlList.getCateId() == cateAndUrl1.getCateId())
|
||||||
cateAndUrl.setName(urlLists.get(i).getName());
|
{
|
||||||
cateAndUrl.setParentId(urlLists.get(i).getCateId());
|
CateAndUrl cateAndUrl = new CateAndUrl();
|
||||||
cateAndUrl.setUrlId(urlLists.get(i).getId());
|
cateAndUrl.setFloder("false");
|
||||||
cateAndUrlList.add(cateAndUrl);
|
cateAndUrl.setName(urlList.getName());
|
||||||
|
cateAndUrl.setParentId(urlList.getCateId());
|
||||||
}
|
cateAndUrl.setUrlId(urlList.getId());
|
||||||
|
cateAndUrl.setUrl(urlList.getUrl());
|
||||||
List<CateAndUrl> parentsList = new ArrayList<>();
|
cateAndUrl.setIcon(urlList.getIcon());
|
||||||
//声明返回集合
|
cateAndUrl.setCreatetime(urlList.getCreatetime());
|
||||||
List<CateAndUrl> resultList = new ArrayList<>();
|
cateAndUrl.setViews(urlList.getViews());
|
||||||
//对全部数据进行遍历
|
cateAndUrl.setTags(urlList.getTags());
|
||||||
for (CateAndUrl disease : cateAndUrlList) {
|
cateAndUrl.setWeigh(urlList.getWeigh());
|
||||||
//判断是否是第一梯队,或者说是树的根节点,如果是根节点就加入到父类集合与返回集合
|
cateAndUrl.setStatus(urlList.getStatus());
|
||||||
if (disease.getParentId() == 0) {
|
cateAndUrl.setDesc(urlList.getDesc());
|
||||||
parentsList.add(disease);
|
cateAndUrl.setNeedLogin(urlList.getNeedLogin());
|
||||||
resultList.add(disease);
|
cateAndUrl.setAgentHint(urlList.getAgentHint());
|
||||||
} else {
|
cateAndUrl.setIsNeedAgent(urlList.getIsNeedAgent());
|
||||||
//对于不是第一梯队的数据进行遍历
|
cateAndUrl.setIsAd(urlList.getIsAd());
|
||||||
for (CateAndUrl parent : parentsList) {
|
cateAndUrl.setIsTop(urlList.getIsTop());
|
||||||
//对数据的pid与父类集合中的父节点进行配对,如果配对成功,就把数据加入到父节点中的子节点集合
|
cateAndUrl.setIsEncrypt(urlList.getIsEncrypt());
|
||||||
|
cateAndUrl1.getChildUC().add(cateAndUrl);
|
||||||
if (parent.getFloder().equals("true") ) {
|
break;
|
||||||
if( parent.getCateId() == disease.getParentId())
|
|
||||||
{
|
|
||||||
parent.getChildUC().add(disease);
|
|
||||||
//当前数据有可能是别的数据的父节点,加到父类容器
|
|
||||||
parentsList.add(disease);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
if (parent.getFloder().equals("false") ) {
|
|
||||||
if(parent.getUrlId() == disease.getParentId())
|
|
||||||
{
|
|
||||||
parent.getChildUC().add(disease);
|
|
||||||
//当前数据有可能是别的数据的父节点,加到父类容器
|
|
||||||
parentsList.add(disease);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
String Json;
|
String result = null;
|
||||||
HashMap<String, Object> result = new HashMap<>();
|
|
||||||
// java对象转换为json字符换
|
|
||||||
try {
|
try {
|
||||||
Json = mapper.writeValueAsString(resultList);
|
HashMap<String, Object> data = new HashMap<>();
|
||||||
result.put("code", 200);
|
data.put("code", 200);
|
||||||
result.put("msg", "处理成功");
|
data.put("msg", "处理成功");
|
||||||
result.put("data", resultList);
|
data.put("data", cateAndUrlList);
|
||||||
|
result = mapper.writeValueAsString(cateAndUrlList);
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
return JSONObject.toJSONString(result);
|
|
||||||
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/disposeBookmarkExhibitedToJson")
|
@RequestMapping("/disposeBookmarkExhibitedToJson")
|
||||||
|
@ -29,21 +29,32 @@ public class QRCServiceImpl implements QRCService{
|
|||||||
|
|
||||||
// 通过collect的url_id查找网址id对应网址
|
// 通过collect的url_id查找网址id对应网址
|
||||||
UrlList urlList = urlListDao.selectByPrimaryKey(Long.valueOf(collect.getUrl_id()));
|
UrlList urlList = urlListDao.selectByPrimaryKey(Long.valueOf(collect.getUrl_id()));
|
||||||
if(urlList != null){
|
|
||||||
|
List<CollectIconList> list = collectIconListDao.selectByUrlid(collect.getUrl_id());
|
||||||
|
if(list.size()==0){
|
||||||
|
if(urlList != null){
|
||||||
|
// 将icon下载到本地并存储本地路径
|
||||||
|
String icon_url = QRCodeUtil.downloadPicture(collect.getIcon_url());
|
||||||
|
collect.setIcon_url(icon_url);
|
||||||
// 获取网址url
|
// 获取网址url
|
||||||
String url = urlList.getUrl();
|
String url = urlList.getUrl();
|
||||||
// 将网址生成二维码并返回本地路径
|
// 将网址生成二维码并返回本地路径
|
||||||
String url_wait = QRCodeUtil.encode(url, logoPath, destPath, true);
|
String url_wait = QRCodeUtil.encode(url, logoPath, destPath, true);
|
||||||
// 为collect设置二维码本地路径
|
// 为collect设置二维码本地路径
|
||||||
collect.setQr_url(url_wait);
|
collect.setQr_url(url_wait);
|
||||||
collectIconListDao.insert(collect);
|
collectIconListDao.insert(collect);
|
||||||
String base64 = QRCodeUtil.ImageToBase64(url_wait);
|
String base64 = QRCodeUtil.ImageToBase64(url_wait);
|
||||||
return base64;
|
return JSON.toJSONString(base64);
|
||||||
|
}else{
|
||||||
|
HashMap<String,Object> result = new HashMap<>();
|
||||||
|
result.put("code",500);
|
||||||
|
result.put("msg", "找不到对应网址");
|
||||||
|
return JSON.toJSONString(result);
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
HashMap<String,Object> result = new HashMap<>();
|
String url_wait = list.get(0).getQr_url();
|
||||||
result.put("code",500);
|
String base64 = QRCodeUtil.ImageToBase64(url_wait);
|
||||||
result.put("msg", "找不到对应网址");
|
return JSON.toJSONString(base64);
|
||||||
return JSON.toJSONString(result);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.lovenav.utils;
|
package com.lovenav.utils;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.google.zxing.*;
|
import com.google.zxing.*;
|
||||||
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
|
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
|
||||||
import com.google.zxing.common.BitMatrix;
|
import com.google.zxing.common.BitMatrix;
|
||||||
@ -15,11 +16,10 @@ import java.awt.*;
|
|||||||
import java.awt.geom.RoundRectangle2D;
|
import java.awt.geom.RoundRectangle2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.HashMap;
|
import java.net.HttpURLConnection;
|
||||||
import java.util.Hashtable;
|
import java.net.URL;
|
||||||
import java.util.Map;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Random;
|
import java.util.*;
|
||||||
import java.util.Base64;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Service
|
@Service
|
||||||
@ -381,13 +381,62 @@ public class QRCodeUtil {
|
|||||||
return encoder.encodeToString(data);
|
return encoder.encodeToString(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据图片url下载图片到本地
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static String downloadPicture(String pictureurl) throws Exception {
|
||||||
|
//因为是测试,图片url可以随便搞一个,我从百度随便复制了个图片url
|
||||||
|
String pictureUrl = pictureurl;
|
||||||
|
//建立图片连接
|
||||||
|
URL url = new URL(pictureUrl);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
|
||||||
|
//设置请求方式
|
||||||
|
connection.setRequestMethod("GET");
|
||||||
|
//设置超时时间
|
||||||
|
connection.setConnectTimeout(10*1000);
|
||||||
|
|
||||||
|
//输入流
|
||||||
|
InputStream stream = connection.getInputStream();
|
||||||
|
int len = 0;
|
||||||
|
byte[] test = new byte[1024];
|
||||||
|
|
||||||
|
|
||||||
|
//获取项目路径
|
||||||
|
File directory = new File("src/main/resources/static/icon");
|
||||||
|
String paths = directory.getCanonicalPath();
|
||||||
|
//如果没有文件夹则创建
|
||||||
|
File file = new File("src/main/resources/static/icon");
|
||||||
|
if (!file.exists()){
|
||||||
|
file.mkdirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置图片名称,这个随意
|
||||||
|
String date = new Random().nextInt(99999999)+".jpg";
|
||||||
|
String fileName = date ;
|
||||||
|
|
||||||
|
//输出流,图片输出的目的文件
|
||||||
|
String serverPath = "src/main/resources/static/icon";
|
||||||
|
BufferedOutputStream fos = new BufferedOutputStream(new FileOutputStream(serverPath +"/" + fileName));
|
||||||
|
|
||||||
|
//以流的方式上传
|
||||||
|
while ((len =stream.read(test)) !=-1){
|
||||||
|
fos.write(test,0,len);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//记得关闭流,不然消耗资源
|
||||||
|
stream.close();
|
||||||
|
fos.close();
|
||||||
|
return (serverPath +"/" + fileName);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
String text = "https://www.baidu.com"; //这里设置自定义网站url
|
// String text = "https://www.baidu.com"; //这里设置自定义网站url
|
||||||
String logoPath ="src/main/resources/static/logo/NAV.png";
|
// String logoPath ="src/main/resources/static/logo/NAV.png";
|
||||||
String destPath = "src/main/resources/static/qr";
|
// String destPath = "src/main/resources/static/qr";
|
||||||
String url = QRCodeUtil.encode(text, logoPath, destPath, true);
|
// String url = QRCodeUtil.encode(text, logoPath, destPath, true);
|
||||||
QRCodeUtil.ImageToBase64("src/main/resources/static/qr/44672405.jpg");
|
// QRCodeUtil.ImageToBase64("src/main/resources/static/qr/44672405.jpg");
|
||||||
// System.out.println(url);
|
// System.out.println(url);
|
||||||
// String base64 = getBase64(url);
|
// String base64 = getBase64(url);
|
||||||
// System.out.println(base64);
|
// System.out.println(base64);
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
package com.lovenav.utils;
|
package com.lovenav.utils;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import org.apache.http.client.config.RequestConfig;
|
import org.apache.http.client.config.RequestConfig;
|
||||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||||
import org.apache.http.client.methods.HttpGet;
|
import org.apache.http.client.methods.HttpGet;
|
||||||
@ -6,6 +9,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
|||||||
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.impl.client.HttpClients;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
|
|
||||||
@ -33,6 +37,10 @@ public class UrlCheckUtil {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断链接是否有效
|
||||||
|
* 输入链接
|
||||||
|
*/
|
||||||
public static String checkUrlConnection(String url) {
|
public static String checkUrlConnection(String url) {
|
||||||
// 创建http POST请求
|
// 创建http POST请求
|
||||||
HttpGet httpGet = new HttpGet(url);
|
HttpGet httpGet = new HttpGet(url);
|
||||||
@ -60,6 +68,9 @@ public class UrlCheckUtil {
|
|||||||
return String.valueOf(statusCode);
|
return String.valueOf(statusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查http连接
|
||||||
|
*/
|
||||||
public static boolean CheckHttp(String address) throws URISyntaxException, MalformedURLException {
|
public static boolean CheckHttp(String address) throws URISyntaxException, MalformedURLException {
|
||||||
URL url = new URL(address);
|
URL url = new URL(address);
|
||||||
URI uri = url.toURI();
|
URI uri = url.toURI();
|
||||||
@ -70,4 +81,46 @@ public class UrlCheckUtil {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送GET请求
|
||||||
|
*/
|
||||||
|
public static String sendGetRequest(String url) throws IOException {
|
||||||
|
URL requestUrl = new URL(url);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) requestUrl.openConnection();
|
||||||
|
connection.setRequestMethod("GET");
|
||||||
|
|
||||||
|
int responseCode = connection.getResponseCode();
|
||||||
|
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder response = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
response.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
return response.toString();
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("HTTP GET request failed with response code: " + responseCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String url_speed(String url) {
|
||||||
|
String url_check = url;
|
||||||
|
int numRequests = 10;
|
||||||
|
long totalResponseTime = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < numRequests; i++) {
|
||||||
|
long startTime = System.currentTimeMillis();
|
||||||
|
try {
|
||||||
|
UrlCheckUtil.sendGetRequest(url_check);
|
||||||
|
long endTime = System.currentTimeMillis();
|
||||||
|
long responseTime = endTime - startTime;
|
||||||
|
totalResponseTime += responseTime;
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
double averageResponseTime = (double) totalResponseTime / (1 * numRequests);
|
||||||
|
return JSON.toJSONString(averageResponseTime + " ms");
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,6 @@
|
|||||||
spring:
|
spring:
|
||||||
|
mvc:
|
||||||
|
static-path-pattern: /static/**
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:mysql://localhost:3306/love-nav
|
url: jdbc:mysql://localhost:3306/love-nav
|
||||||
username: root
|
username: root
|
||||||
|
Loading…
Reference in New Issue
Block a user