| | |
| | | package com.ycl.sccgplatform; |
| | | |
| | | import com.aliyun.oss.ClientBuilderConfiguration; |
| | | import com.aliyun.oss.OSS; |
| | | import com.aliyun.oss.OSSClientBuilder; |
| | | import com.aliyun.oss.OSSException; |
| | | import com.aliyun.oss.common.auth.CredentialsProviderFactory; |
| | | import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider; |
| | | import com.aliyun.oss.common.comm.SignVersion; |
| | | import com.aliyuncs.exceptions.ClientException; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dahua.netsdk.lib.callback.impl.AnalyzerDataCB; |
| | | import com.ycl.common.util.UtilNumber; |
| | | import com.ycl.entity.dingding.DingUserInfo; |
| | | import com.ycl.entity.user.UmsAdmin; |
| | | import com.ycl.mapper.unlawful.UnlawfulMapper; |
| | | import com.ycl.service.caseHandler.IBaseCaseService; |
| | | import com.ycl.service.caseHandler.IViolationsService; |
| | | import com.ycl.service.oss.OssService; |
| | | import com.ycl.service.resources.IImageResourcesService; |
| | | import com.ycl.utils.ConstantPropertiesUtils; |
| | | import com.ycl.vo.casePool.BaseCaseVO; |
| | | import net.coobird.thumbnailator.Thumbnails; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | import org.springframework.context.annotation.ComponentScan; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.xml.bind.DatatypeConverter; |
| | | import java.io.*; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.URL; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | |
| | | @ComponentScan("com.dahua.netsdk") |
| | | @SpringBootTest |
| | | public class Test1 { |
| | | |
| | | @Autowired |
| | | private IBaseCaseService baseCaseService; |
| | | |
| | | @Autowired |
| | | private OssService ossService; |
| | | |
| | | @Autowired |
| | | private IViolationsService violationsService; |
| | | |
| | | @Autowired |
| | | private IImageResourcesService imageService; |
| | | @Resource |
| | | private UnlawfulMapper unlawfuldao; |
| | | @Autowired |
| | |
| | | |
| | | @Test |
| | | void test() { |
| | | String fileUrl = "https://xshlivelesson.oss-cn-shenzhen.aliyuncs.com/2.pptx?Expires=1738857178&OSSAccessKeyId=LTAIxtcfDe3fgfcf&Signature=wTwx6JA6VWbPB0skVySy9MCexog="; |
| | | // http://zhzfptoss.oss-cn-zjls-lszwy-d01-a.ops.zjlscloud.com/sczf/2023062950465224.jpg?Expires=2634106907&OSSAccessKeyId=Tkf72Q1gdzETsZf6&Signature=ttME%2BeFhss8wPbkRCxAsV%2FPNWGQ%3D |
| | | |
| | | OSS ossClient = null; |
| | | try { |
| | | |
| | | String endpoint = "https://oss-cn-beijing.aliyuncs.com"; |
| | | String accessKeyId = "LTAIxtcfDe3fgfcf"; |
| | | String accessKeySecret = "xHxLVU5dm7USdJuQaCfp1hpcUU1u8v"; |
| | | String bucketName = "huachuang-resource"; |
| | | |
| | | String[] urlArray = fileUrl.split("Expires="); |
| | | |
| | | String objectName = urlArray[0].replace(ConstantPropertiesUtils.PREFIX_URL, ""); |
| | | objectName = objectName.replace("?", ""); |
| | | |
| | | ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); |
| | | |
| | | |
| | | // 设置签名URL过期时间,单位为毫秒。本示例以设置过期时间为1小时为例。 |
| | | Date expiration = new Date(new Date().getTime() + 3600 * 1000L); |
| | | // 生成以GET方法访问的签名URL。本示例没有额外请求头,其他人可以直接通过浏览器访问相关内容。 |
| | | URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration); |
| | | System.out.println(url); |
| | | |
| | | // |
| | | // // http://zhzfptoss.oss-cn-zjls-lszwy-d01-a.ops.zjlscloud.com/sczf/2025020620664017jpg?v=2684887407&OSSAccessKeyId=Tkf72Q1gdzETsZf6&Signature=88dn7R/gDdqxWUCqZdCi/NgSXg8= |
| | | // OSS ossClient = null; |
| | | // try { |
| | | // // 以华东1(杭州)的外网Endpoint为例,其它Region请按实际情况填写。 |
| | | // String endpoint = "https://oss-cn-beijing.aliyuncs.com"; |
| | | // // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 |
| | | //// EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider(); |
| | | // // 填写Bucket名称,例如examplebucket。 |
| | | // String bucketName = "huachuang-resource"; |
| | | // // 填写Object完整路径,例如exampleobject.txt。Object完整路径中不能包含Bucket名称。 |
| | | // String objectName = "家庭教育/中国陶行知协会家庭教育专委会.doc"; |
| | | // // 填写Bucket所在地域。以华东1(杭州)为例,Region填写为cn-hangzhou。 |
| | | // String region = "cn-beijing"; |
| | | // String accessKeyId = "LTAIxtcfDe3fgfcf"; |
| | | // String accessKeySecret = "xHxLVU5dm7USdJuQaCfp1hpcUU1u8v"; |
| | | // // 创建OSSClient实例。 |
| | | // ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration(); |
| | | // clientBuilderConfiguration.setSignatureVersion(SignVersion.V4); |
| | | // |
| | | // ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); |
| | | // |
| | | // |
| | | // // 设置签名URL过期时间,单位为毫秒。本示例以设置过期时间为1小时为例。 |
| | | // Date expiration = new Date(new Date().getTime() + 3600 * 1000L); |
| | | // // 生成以GET方法访问的签名URL。本示例没有额外请求头,其他人可以直接通过浏览器访问相关内容。 |
| | | // URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration); |
| | | // |
| | | // |
| | | // try { |
| | | // HttpURLConnection conn = (HttpURLConnection) url.openConnection(); |
| | | // conn.setRequestMethod("GET"); |
| | | // conn.setConnectTimeout(10 * 1000); |
| | | // conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); |
| | | // |
| | | // InputStream input = conn.getInputStream();// 通过输入流获取图片数据 |
| | | // |
| | | // FileOutputStream downloadFile = new FileOutputStream("D://1.doc"); |
| | | // |
| | | // int index; |
| | | // byte[] bytes = new byte[1024]; |
| | | // |
| | | // while ((index = input.read(bytes)) != -1) { |
| | | // downloadFile.write(bytes, 0, index); |
| | | // downloadFile.flush(); |
| | | // } |
| | | // downloadFile.close(); |
| | | // input.close(); |
| | | |
| | | // |
| | | // ByteArrayOutputStream outs = new ByteArrayOutputStream(); |
| | | // Thumbnails.of(in).scale(0.6).outputQuality(1).toOutputStream(outs); |
| | | // InputStream ins = new ByteArrayInputStream(outs.toByteArray()); |
| | | // String picData = ossService.uploadImages(ins, ".png", 0); |
| | | // System.out.println(picData); |
| | | |
| | | |
| | | } catch ( |
| | | OSSException oe) { |
| | | System.out.println("Caught an OSSException, which means your request made it to OSS, " |
| | | + "but was rejected with an error response for some reason."); |
| | | System.out.println("Error Message:" + oe.getErrorMessage()); |
| | | System.out.println("Error Code:" + oe.getErrorCode()); |
| | | System.out.println("Request ID:" + oe.getRequestId()); |
| | | System.out.println("Host ID:" + oe.getHostId()); |
| | | } finally { |
| | | if (ossClient != null) { |
| | | ossClient.shutdown(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | // List<CategoryDto> data = unlawfuldao.getDataByType(0, 5,"2022-12-14 17:19:01", "2022-12-14 17:19:03"); |
| | | // System.out.println(data); |
| | | String url = "http://test.xshcs.com/10%E6%9C%88%E6%8E%92%E6%9C%9F.jpg"; |
| | | try { |
| | | HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); |
| | | connection.setReadTimeout(5000); |
| | | connection.setConnectTimeout(5000); |
| | | connection.setRequestMethod("GET"); |
| | | if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { |
| | | InputStream in = connection.getInputStream(); |
| | | ByteArrayOutputStream outs = new ByteArrayOutputStream(); |
| | | Thumbnails.of(in).scale(0.6).outputQuality(1).toOutputStream(outs); |
| | | InputStream ins = new ByteArrayInputStream(outs.toByteArray()); |
| | | String picData = ossService.uploadImages(ins, ".png"); |
| | | System.out.println(picData); |
| | | } |
| | | } catch (IOException e) { |
| | | System.out.println("获取网络图片出现异常,图片路径为:" + url); |
| | | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | // String url = "http://test.xshcs.com/10%E6%9C%88%E6%8E%92%E6%9C%9F.jpg"; |
| | | // try { |
| | | // HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); |
| | | // connection.setReadTimeout(5000); |
| | | // connection.setConnectTimeout(5000); |
| | | // connection.setRequestMethod("GET"); |
| | | // if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { |
| | | // InputStream in = connection.getInputStream(); |
| | | // ByteArrayOutputStream outs = new ByteArrayOutputStream(); |
| | | // Thumbnails.of(in).scale(0.6).outputQuality(1).toOutputStream(outs); |
| | | // InputStream ins = new ByteArrayInputStream(outs.toByteArray()); |
| | | // String picData = ossService.uploadImages(ins, ".png",0); |
| | | // System.out.println(picData); |
| | | // } |
| | | // } catch (IOException e) { |
| | | // System.out.println("获取网络图片出现异常,图片路径为:" + url); |
| | | // |
| | | // e.printStackTrace(); |
| | | // } |
| | | //} |
| | | |
| | | // @Test |
| | | // void test1(){ |
| | |
| | | String PicData = br.readLine(); |
| | | byte[] data = DatatypeConverter.parseBase64Binary(PicData); |
| | | InputStream inputStream = new ByteArrayInputStream(data); |
| | | String s = ossService.uploadImages(inputStream, extension); |
| | | String s = ossService.uploadImages(inputStream, extension, 0); |
| | | System.out.println(s); |
| | | |
| | | br.close(); |
| | | isr.close(); |
| | | fis.close(); |
| | | } |
| | | |
| | | // @Autowired |
| | | // AnalyzerDataCB analyzerDataCB; |
| | | |
| | | @Test |
| | | void alarmTest() throws UnsupportedEncodingException { |
| | | |
| | | // analyzerDataCB.invoke(null, 0, null, null, 0, null, 0, null); |
| | | |
| | | // AlarmDataCB cbMessage = new AlarmDataCB(); |
| | | // String m_strIp = "172.28.194.177"; |
| | | // int m_nPort = 37777; |
| | | // String m_strUser = "admin"; |
| | | // String m_strPassword = "scdx@123"; |
| | | // LoginModule.login(m_strIp, m_nPort, m_strUser, m_strPassword); |
| | | // AlarmListenModule.startListen(cbMessage); |
| | | // |
| | | // System.out.println(cbMessage.data); |
| | | |
| | | // https://xshlivelesson.oss-accelerate.aliyuncs.com/sczf/2025-02-28%2015%3A53%3A293732..JPG?Expires=2686809213&OSSAccessKeyId=LTAIDlTWjHW0IVyW&Signature=Q5WO2kQcWRpq0SQiYjBCo6rGyJE%3D" |
| | | |
| | | // ossService.deleteImages("https://xshlivelesson.oss-cn-shenzhen.aliyuncs.com/sczf/2025022845414037.JPG?Expires=2686811218&OSSAccessKeyId=LTAIDlTWjHW0IVyW&Signature=5SQ7PInLkbd62zJ1aurljeO0c%2Bw%3D"); |
| | | // |
| | | int i = 1; |
| | | while (true) { |
| | | String beginTime = "2025-01-01 00:00:00"; |
| | | String endTime = LocalDateTime.now().plusDays(-4).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
| | | Page<BaseCaseVO> page = baseCaseService.selectVideoInspection(i, 10, null, null, beginTime, endTime, null); |
| | | if (page.getRecords().size() > 0) { |
| | | page.getRecords().forEach(baseCaseVO -> { |
| | | // String picData = baseCaseVO.getPicData(); |
| | | // String[] urls = picData.split(","); |
| | | // for (String url : urls) { |
| | | // ossService.deleteImages(url); |
| | | // |
| | | // } |
| | | baseCaseService.removeById(baseCaseVO.getBaseId()); |
| | | violationsService.removeById(baseCaseVO.getBaseId()); |
| | | imageService.removeById(baseCaseVO.getImageId()); |
| | | }); |
| | | } else { |
| | | break; |
| | | } |
| | | i++; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |