From 46251c20b66bb1ca05058ae63a92a195e5543b90 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 02 十一月 2023 21:27:37 +0800 Subject: [PATCH] 优化 --- document/副本丽水市遂昌县智慧执法应用-资源开通表 -0228.xlsx | 0 ycl-platform/src/main/java/com/ycl/util/VideoUtil.java | 1 ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java | 4 ycl-platform/src/main/resources/application-dev.yml | 4 ycl-platform/src/main/java/com/ycl/PlatformApplication.java | 3 ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 39 +++---- ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java | 14 -- ycl-common/src/main/java/com/ycl/service/oss/OssService.java | 1 ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java | 5 ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java | 67 +------------ ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java | 145 +++++++++++++++++++++++++++++ 11 files changed, 183 insertions(+), 100 deletions(-) diff --git "a/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx" "b/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx" index b26ff01..d8cad53 100644 --- "a/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx" +++ "b/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx" Binary files differ diff --git a/ycl-common/src/main/java/com/ycl/service/oss/OssService.java b/ycl-common/src/main/java/com/ycl/service/oss/OssService.java index b24e719..cca9dce 100644 --- a/ycl-common/src/main/java/com/ycl/service/oss/OssService.java +++ b/ycl-common/src/main/java/com/ycl/service/oss/OssService.java @@ -22,4 +22,5 @@ String uploadImages(InputStream inputStream, String ext); String uploadVideo(MultipartFile file); + } diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java index bc84db9..0ec8e5a 100644 --- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java +++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java @@ -101,6 +101,9 @@ String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET; String bucketName = ConstantPropertiesUtils.BUCKET_NAME; + DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + System.out.println("鍑嗗涓婁紶--" + dtf2.format(LocalDateTime.now())); // 鍒涘缓OSSClient瀹炰緥銆� OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 涓婁紶鏂囦欢娴� @@ -109,32 +112,21 @@ LocalDate date = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); String fileName = "sczf/" + date.format(formatter) + RandomUtils.generateRandomInt(8) + "." + ext; - System.out.println("鏂囦欢鍦板潃锛�" + fileName); + ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentType(getcontentType(ext)); - // 璋冪敤oss鐨勬柟娉曞疄鐜伴暱浼� - // 绗竴涓弬鏁� bucketName - // 绗簩涓弬鏁� 涓婁紶鍒皁ss鐨勬枃浠惰矾寰勫拰鏂囦欢鍚嶇О - ossClient.putObject(bucketName, fileName, inputStream, objectMetadata); - // 鍏抽棴OSSClient銆� - ossClient.shutdown(); - // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級 - // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞� - Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000); - String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString(); - System.out.println("oss涓婁紶鎴愬姛锛�" + url); - // URL urlO = new URL(url); - // HttpURLConnection conn = (HttpURLConnection) urlO.openConnection(); - // conn.setRequestMethod("GET"); - // conn.setConnectTimeout(10 * 1000); - // conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); - // - // InputStream inputStream2 = conn.getInputStream();// 閫氳繃杈撳叆娴佽幏鍙栧浘鐗囨暟鎹� - // - // byte[] data = readInputStream(inputStream2); - // - // System.out.println("鑾峰彇鍥剧墖鎴愬姛:" + url); + System.out.println("寮�濮嬩笂浼�--" + dtf2.format(LocalDateTime.now())); + + ossClient.putObject(bucketName, fileName, inputStream, objectMetadata); + ossClient.shutdown(); + + Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000); + + String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString(); +// System.out.println("oss涓婁紶鎴愬姛锛�" + url); + + System.out.println("涓婁紶瀹屾垚--" + dtf2.format(LocalDateTime.now())); return url; } catch (Exception e) { System.out.println("oss寮傚父锛�" + e.getMessage()); @@ -179,6 +171,7 @@ } } + public static String getcontentType(String FilenameExtension) { if (FilenameExtension.equalsIgnoreCase(".mp4")||FilenameExtension.equalsIgnoreCase(".mov")) { return "video/mp4"; diff --git a/ycl-platform/src/main/java/com/ycl/PlatformApplication.java b/ycl-platform/src/main/java/com/ycl/PlatformApplication.java index efdca70..c59d124 100644 --- a/ycl-platform/src/main/java/com/ycl/PlatformApplication.java +++ b/ycl-platform/src/main/java/com/ycl/PlatformApplication.java @@ -1,5 +1,6 @@ package com.ycl; +import com.ycl.util.VideoUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -39,6 +40,8 @@ env.getProperty("server.servlet.context-path"), "127.0.0.1", env.getProperty("server.port")); + + } } diff --git a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java b/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java index 2ffcc95..cf3ee1f 100644 --- a/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java +++ b/ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java @@ -289,7 +289,10 @@ */ public String createCaseCode() { String ymd = getYMD(); - Integer number = generatedCodeMapper.createNumber(ymd, "case"); + double num = Math.random(); + int myRandInt = (int)(num*100+1); +// Integer number = myRandInt; + Integer number = generatedCodeMapper.createNumber(ymd, "case"); String numberStr = RandomUtils.formatSign(number, 4); String year = String.valueOf(LocalDateTime.now().getYear()); String areaCode = "331123"; diff --git a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java index ccd0d15..eeb2a40 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java @@ -193,15 +193,15 @@ @PostMapping("/oss/sign") public CommonResult ossSign(@RequestBody OssFileDto dto) { - log.info("鎺ユ敹鍒癴ile"); - DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if (StringUtils.isNullOrEmpty(dto.getMediaId()) || StringUtils.isNullOrEmpty(dto.getExtension())) { return CommonResult.failed("鍙傛暟涓嶈兘涓虹┖锛�"); } ExecutableClient executableClient = DdTest.getExecutableClient(); CloseableHttpResponse response = null; OSS ossClient = null; + + DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println("寮�濮嬭幏鍙�--" + dtf2.format(LocalDateTime.now())); try { @@ -217,15 +217,9 @@ HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); - System.out.println("鑾峰彇瀹屾垚--" + dtf2.format(LocalDateTime.now())); - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); +// MultipartFile file = getMultipartFile(is, fileName); - String strDate2 = dtf.format(LocalDateTime.now()); - - String fileName = strDate2 + RandomUtils.generateRandomInt(4) + "." + dto.getExtension(); - MultipartFile file = getMultipartFile(is, fileName); - - String url = ossService.uploadImages(file); + String url = ossService.uploadImages(is,dto.getExtension()); return CommonResult.success(url); } catch (Exception e) { e.printStackTrace(); diff --git a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java index 7490765..1fe5bc1 100644 --- a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java +++ b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java @@ -207,6 +207,7 @@ jsonBody.put("streamType", 0); jsonBody.put("protocol", "hls"); jsonBody.put("transmode", 0); + jsonBody.put("expand","transcode=1&videotype=h264"); String body = jsonBody.toString(); //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆 HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null, "application/json", head); diff --git a/ycl-platform/src/main/resources/application-dev.yml b/ycl-platform/src/main/resources/application-dev.yml index 5490789..b186f3c 100644 --- a/ycl-platform/src/main/resources/application-dev.yml +++ b/ycl-platform/src/main/resources/application-dev.yml @@ -75,10 +75,10 @@ aliyun: oss: - endpoint: https://oss-cn-zhangjiakou.aliyuncs.com + endpoint: https://oss-accelerate.aliyuncs.com keyId: LTAIDlTWjHW0IVyW keySecret: 6fO78NmgyF49TK5GWFAzXuSAexl9PL - bucketName: hcjs-mte-internal + bucketName: xshlivelesson #涓撴湁閽夐拤鍙傛暟 zzding : diff --git a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java index c3244e3..f6c1f48 100644 --- a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java +++ b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java @@ -1,6 +1,7 @@ package com.ycl.sccgplatform; import com.alibaba.fastjson.JSONObject; +import com.ycl.common.util.UtilNumber; import com.ycl.dto.video.Camera; import com.ycl.dto.video.HttpResponseResult; import com.ycl.dto.video.PageResult; @@ -24,73 +25,15 @@ @Resource private UnlawfulMapper unlawfuldao; + @Autowired + UtilNumber utilNumber; @Test void test() { // List<CategoryDto> data = unlawfuldao.getDataByType(0, 5,"2022-12-14 17:19:01", "2022-12-14 17:19:03"); // System.out.println(data); - - - String msg = "{\n" + - " \"code\": \"0\",\n" + - " \"msg\": \"success\",\n" + - " \"data\": {\n" + - " \"total\": 1,\n" + - " \"pageSize\": 20,\n" + - " \"pageNo\": 1,\n" + - " \"list\": [\n" + - " {\n" + - " \"cameraIndexCode\": \"90ad77d8057c43dab140b77361606927\",\n" + - " \"gbIndexCode\": \"12000000051210000000\",\n" + - " \"name\": \"Camera_01\",\n" + - " \"deviceIndexCode\": \"f5da3e320bcb483da6bef4b3f86de779\",\n" + - " \"longitude\": \"120.216123284763\",\n" + - " \"latitude\": \"30.21168569675452\",\n" + - " \"altitude\": \"88\",\n" + - " \"pixel\": 1,\n" + - " \"cameraType\": 1,\n" + - " \"cameraTypeName\": \"鍗婄悆\",\n" + - " \"installPlace\": \"琛楅亾\",\n" + - " \"matrixCode\": \"2076c586b0a94a6ba639b44eda9e76e9\",\n" + - " \"chanNum\": 1,\n" + - " \"viewshed\": \"{\\\"horizontalValue\\\":\\\"13.80000\\\",\\\"azimuth\\\":\\\"109.23000\\\",\\\"visibleRadius\\\":\\\"48.00000\\\"}\",\n" + - " \"capabilitySet\": \"@event_face@\",\n" + - " \"capabilitySetName\": \"浜鸿劯閲囬泦鑳藉姏\",\n" + - " \"intelligentSet\": \"@face@\",\n" + - " \"intelligentSetName\": \"浜鸿劯缁撴瀯鍖栬兘鍔沑",\n" + - " \"recordLocation\": \"0\",\n" + - " \"recordLocationName\": \"涓績瀛樺偍\",\n" + - " \"ptzController\": 1,\n" + - " \"ptzControllerName\": \"DVR\",\n" + - " \"deviceResourceType\": \"ENCODE_DEVICE\",\n" + - " \"deviceResourceTypeName\": \"缂栫爜璁惧\",\n" + - " \"channelType\": \"digital\",\n" + - " \"channelTypeName\": \"鏁板瓧閫氶亾\",\n" + - " \"transType\": 0,\n" + - " \"transTypeName\": \"UDP\",\n" + - " \"updateTime\": \"2021-06-15T00:00:00.000+08:00\",\n" + - " \"unitIndexCode\": \"083b2031c1db4f368f015fe2562e0012\",\n" + - " \"treatyType\": \"20005\",\n" + - " \"treatyTypeName\": \"ONVIF\",\n" + - " \"createTime\": \"2021-06-15T00:00:00.000+08:00\",\n" + - " \"status\": 0,\n" + - " \"statusName\": \"涓嶅湪绾縗"\n" + - " }\n" + - " ]\n" + - " }\n" + - "}\n"; - HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(msg, HttpResponseResult.class); - if ("0".equals(responseResult.getCode())) { - JSONObject jsonObject = responseResult.getData(); - String strList = jsonObject.getString("list"); - Integer total = Integer.parseInt(jsonObject.getString("total")); - Integer pageSize = Integer.parseInt(jsonObject.getString("pageSize")); - Integer pageNo = Integer.parseInt(jsonObject.getString("pageNo")); - List<Camera> ls = JSONObject.parseArray(strList, Camera.class); - - PageResult<Camera> pageResult = new PageResult<>(total, pageSize, pageNo, ls); - System.out.println(ls.size()); - } + System.out.println(utilNumber.createShopCode()); + System.out.println(utilNumber.createCaseCode()); } // @Test diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java index 1dc348e..8038a21 100644 --- a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java +++ b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java @@ -199,8 +199,8 @@ @Scheduled(cron = "0 */1 * * * ?") // 姣�5鍒嗛挓鎵ц public void listDataInTime() { DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build(); - // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}}: - paramDto.setSize(200); + // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}} + paramDto.setSize(20); paramDto.setStartAt(0); paramDto.setTyp(2); paramDto.setSortBy("status"); diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java b/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java new file mode 100644 index 0000000..faaf54b --- /dev/null +++ b/ycl-smoke/src/main/java/com/ycl/smoke/utils/HttpUtil.java @@ -0,0 +1,145 @@ +package com.ycl.smoke.utils; + +import com.ycl.service.redis.RedisService; +import com.ycl.utils.redis.RedisKey; +import org.apache.http.*; +import org.apache.http.client.ResponseHandler; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.BasicResponseHandler; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +import javax.annotation.Resource; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class HttpUtil { + + private static final CloseableHttpClient httpclient = HttpClients.createDefault(); + + public static String doGet(String urlPath, Map<String, Object> params) + throws Exception { + StringBuilder sb = new StringBuilder(urlPath); + if (params != null && !params.isEmpty()) { // 璇存槑鏈夊弬鏁� + sb.append("?"); + + Set<Map.Entry<String, Object>> set = params.entrySet(); + for (Map.Entry<String, Object> entry : set) { // 閬嶅巻map閲岄潰鐨勫弬鏁� + String key = entry.getKey(); + String value = ""; + if (null != entry.getValue()) { + value = entry.getValue().toString(); + // 杞爜 + value = URLEncoder.encode(value, "UTF-8"); + } + sb.append(key).append("=").append(value).append("&"); + } + + sb.deleteCharAt(sb.length() - 1); // 鍒犻櫎鏈�鍚庝竴涓�& + } + // System.out.println(sb.toString()); + + URL url = new URL(sb.toString()); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setConnectTimeout(5000); // 5s瓒呮椂 + conn.setRequestMethod("GET"); + + if (conn.getResponseCode() == HttpStatus.SC_OK) {// HttpStatus.SC_OK == + // 200 + BufferedReader reader = new BufferedReader(new InputStreamReader( + conn.getInputStream())); + StringBuilder sbs = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + sbs.append(line); + } + // JSONObject jsonObject = new JSONObject(sbs.toString()); + return sbs.toString(); + } + + return null; + } + + + /** + * 鍙戦�丠ttpPost璇锋眰锛屽弬鏁颁负map + * @param url + * @param map + * @return + */ + public static String sendPost(String url, Map<String, Object> map) { + List<NameValuePair> formparams = new ArrayList<NameValuePair>(); + for (Map.Entry<String, Object> entry : map.entrySet()) { + formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); + } + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8); + HttpPost httppost = new HttpPost(url); + httppost.setEntity(entity); + CloseableHttpResponse response = null; + try { + response = httpclient.execute(httppost); + } catch (IOException e) { + e.printStackTrace(); + } + HttpEntity entity1 = response.getEntity(); + String result = null; + try { + result = EntityUtils.toString(entity1); + } catch (ParseException | IOException e) { + e.printStackTrace(); + } + return result; + } + + public static String HttpPostWithJson(String url, String json,String token) { + String returnValue = "杩欐槸榛樿杩斿洖鍊硷紝鎺ュ彛璋冪敤澶辫触"; + CloseableHttpClient httpClient = HttpClients.createDefault(); + ResponseHandler<String> responseHandler = new BasicResponseHandler(); + try{ + //绗竴姝ワ細鍒涘缓HttpClient瀵硅薄 + httpClient = HttpClients.createDefault(); + + //绗簩姝ワ細鍒涘缓httpPost瀵硅薄 + HttpPost httpPost = new HttpPost(url); + + //绗笁姝ワ細缁檋ttpPost璁剧疆JSON鏍煎紡鐨勫弬鏁� + StringEntity requestEntity = new StringEntity(json,"utf-8"); + requestEntity.setContentEncoding("UTF-8"); + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("Auth",token); + httpPost.setEntity(requestEntity); + + //绗洓姝ワ細鍙戦�丠ttpPost璇锋眰锛岃幏鍙栬繑鍥炲�� + returnValue = httpClient.execute(httpPost,responseHandler); //璋冩帴鍙h幏鍙栬繑鍥炲�兼椂锛屽繀椤荤敤姝ゆ柟娉� + + } + catch(Exception e) + { + e.printStackTrace(); + } + + finally { + try { + httpClient.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + //绗簲姝ワ細澶勭悊杩斿洖鍊� + return returnValue; + } +} -- Gitblit v1.8.0