ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/CosController.java
@@ -30,7 +30,10 @@ } System.out.println("dfsdgd"); HashMap<String,String> map = new HashMap<>(); map.put("key",key); int dotIndex = key.lastIndexOf('/'); map.put("key", key.substring(dotIndex + 1)); map.put("path",key); return AjaxResult.success(map); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfEconomyController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.zhang; import com.qcloud.cos.utils.IOUtils; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -12,12 +13,20 @@ import com.ruoyi.domain.ZfEconomy; import com.ruoyi.domain.excel.ZfEconomyExcelBean; import com.ruoyi.service.ZfEconomyService; import com.ruoyi.service.impl.GetOrPut; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -40,6 +49,34 @@ @Autowired ZfEconomyService zfEconomyService; @Autowired GetOrPut getOrPut; @GetMapping("cc") public void ll() throws IOException { List<ZfEconomy> change = zfEconomyService.change(); for (ZfEconomy ch:change) { if (ch.getUrl() != null) { String[] splits = ch.getUrl().split(","); StringBuilder list= new StringBuilder(); for (int i=0;i<splits.length;i++) { if (splits[i] != null && splits[i].length() !=0) { // splits[i]=splits[i].replace("\\", "/"); String cs = getOrPut.uploadWebFile("https://www.bendudu.com:8080/" + splits[i]); if(i>=1) { list.append(",").append(cs); }else { list.append(cs); } } } ch.setCosKey(list.toString()); zfEconomyService.updateById(ch); } } } @GetMapping("/all") public AjaxResult listAll(ZfEconomy zfEconomy){ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); ruoyi-admin/src/main/resources/application.yml
@@ -147,8 +147,14 @@ #腾讯云 tencent: cos: secret-id: AKIDOelfP1QbZJq9E5j9LI2YptwlNlvsbBf0 # 替换为实际SecretId secret-key: DCxVpvnRt89wVs2ygATYZWOMFzXtAHB3 # 替换为实际SecretKey bucket-name: examplebucket-22222-1346631008 # 存储桶名称 secret-id: AKID3ykKitsgIkz2tY0EE3g6IWcWDi087tse # 替换为实际SecretId secret-key: d4NckmibQApMvIRcbNwHOIyQdoxyvjLj # 替换为实际SecretKey bucket-name: bendudu-bucket-1325664559 # 存储桶名称 region: ap-guangzhou # 存储桶地域 base-url: https://examplebucket-22222-1346631008.cos.ap-guangzhou.myqcloud.com # 访问基础URL base-url: https://bendudu-bucket-1325664559.cos.ap-guangzhou.myqcloud.com # 访问基础URL zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java
@@ -114,4 +114,6 @@ */ private Integer shareId; private String cosKey; } zhang-content/src/main/java/com/ruoyi/service/ZfEconomyService.java
@@ -17,6 +17,7 @@ * @since 2023-03-12 */ public interface ZfEconomyService extends IService<ZfEconomy> { List<ZfEconomy> change(); AjaxResult selectDataList(ZfEconomy zfEconomy, Integer pageNum, Integer pageSize); zhang-content/src/main/java/com/ruoyi/service/impl/GetOrPut.java
@@ -19,6 +19,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -70,6 +72,7 @@ String fileExt = originalFilename.substring(originalFilename.lastIndexOf(".")); String key = java.util.UUID.randomUUID().toString() + fileExt; ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(file.getSize()); metadata.setContentType(file.getContentType()); @@ -100,7 +103,43 @@ PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); cosClient.putObject(putObjectRequest); return baseUrl + "/" + key; return key; } /** * 上传本地文件 * @param fileUrl 本地文件路径 * @return 文件访问URL */ public String uploadWebFile(String fileUrl) throws IOException { // 假设 fileUrl 是你要上传的文件 URL System.out.println(fileUrl); URL url = new URL(fileUrl); InputStream inputStream = url.openStream(); URLConnection connection = url.openConnection(); // 获取文件的大小(字节数) int contentLength = connection.getContentLength(); // 获取文件类型 String type = connection.getContentType(); // 获取文件的扩展名(如果需要) String fileExtension = fileUrl.substring(fileUrl.lastIndexOf(".")); String key = UUID.randomUUID().toString() + fileExtension; ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(contentLength); metadata.setContentType(type); // 创建 PutObjectRequest 请求对象,直接传入 InputStream PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, metadata); // 上传文件 cosClient.putObject(putObjectRequest); // 关闭输入流 inputStream.close(); return key; } /** zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
@@ -68,7 +68,7 @@ private LambdaQueryWrapper<ZfEconomy> buildCondition(ZfEconomy zfEconomy,List<Long> familyIdList) { LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>(); lqw.orderByDesc(ZfEconomy::getCreateTime); lqw.in(ZfEconomy::getFamilyId,familyIdList); // lqw.in(ZfEconomy::getFamilyId,familyIdList); lqw.like(StringUtils.isNotEmpty(zfEconomy.getType()),ZfEconomy::getType,zfEconomy.getType()); lqw.like(StringUtils.isNotEmpty(zfEconomy.getKind()),ZfEconomy::getKind,zfEconomy.getKind()); lqw.like(StringUtils.isNotEmpty(zfEconomy.getPrice()),ZfEconomy::getPrice,zfEconomy.getPrice()); @@ -94,6 +94,11 @@ lqw.eq(zfEconomy.getHappenTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenTime()); return lqw; } @Override public List<ZfEconomy> change(){ ZfEconomy zfEconomy = new ZfEconomy(); return list(buildCondition(zfEconomy,null)); } // private LambdaQueryWrapper<ZfEconomy> buildCondition(ZfEconomy zfEconomy, String familyIds, String secondFamilyAuthority) { // //模糊查询的条件