diff --git a/bonus-business/src/main/java/com/bonus/business/controller/DownloadController.java b/bonus-business/src/main/java/com/bonus/business/controller/DownloadController.java index f51d60a..1ae97b7 100644 --- a/bonus-business/src/main/java/com/bonus/business/controller/DownloadController.java +++ b/bonus-business/src/main/java/com/bonus/business/controller/DownloadController.java @@ -17,6 +17,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; /** * 下载指定路径下的文件 @@ -71,7 +72,7 @@ public class DownloadController { response.setHeader("Content-type", "text/html;charset=UTF-8"); String data = "文件下载失败"; OutputStream ps = response.getOutputStream(); - ps.write(data.getBytes("UTF-8")); + ps.write(data.getBytes(StandardCharsets.UTF_8)); return; } outputStream = response.getOutputStream(); @@ -95,12 +96,13 @@ public class DownloadController { String data = "文件下载失败"; try { OutputStream ps = response.getOutputStream(); - ps.write(data.getBytes("UTF-8")); + ps.write(data.getBytes(StandardCharsets.UTF_8)); }catch (IOException e){ e.printStackTrace(); } } finally { try { + assert outputStream != null; outputStream.close(); if (inputStream != null) { inputStream.close(); diff --git a/bonus-business/src/main/java/com/bonus/business/controller/MaterialController.java b/bonus-business/src/main/java/com/bonus/business/controller/MaterialController.java index 774ed86..625a6fd 100644 --- a/bonus-business/src/main/java/com/bonus/business/controller/MaterialController.java +++ b/bonus-business/src/main/java/com/bonus/business/controller/MaterialController.java @@ -26,7 +26,7 @@ import org.springframework.web.multipart.MultipartFile; * @date 2025-09-10 */ @RestController -@RequestMapping("/system/material") +@RequestMapping("/material") public class MaterialController extends BaseController { @Resource private ITbPromotionMaterialService service; diff --git a/bonus-business/src/main/java/com/bonus/business/controller/ProductController.java b/bonus-business/src/main/java/com/bonus/business/controller/ProductController.java index 9bfe9e9..904a1a2 100644 --- a/bonus-business/src/main/java/com/bonus/business/controller/ProductController.java +++ b/bonus-business/src/main/java/com/bonus/business/controller/ProductController.java @@ -96,6 +96,7 @@ public class ProductController extends BaseController { transactionManager.commit(status); return ajaxResult; }catch (Exception e){ + transactionManager.rollback(status); } return ajaxResult; diff --git a/bonus-business/src/main/java/com/bonus/business/domain/TbPromotionMaterial.java b/bonus-business/src/main/java/com/bonus/business/domain/TbPromotionMaterial.java index 6a0c86b..ea5ab19 100644 --- a/bonus-business/src/main/java/com/bonus/business/domain/TbPromotionMaterial.java +++ b/bonus-business/src/main/java/com/bonus/business/domain/TbPromotionMaterial.java @@ -50,13 +50,17 @@ public class TbPromotionMaterial extends BaseEntity private String description; /** 创建人 */ - @Excel(name = "创建人") private Long createUser; + @Excel(name = "创建人") + private Long createUserName; + /** 修改人 */ - @Excel(name = "修改人") private Long updateUser; + @Excel(name = "创建人") + private Long updateUserName; + /** 产品名称(通过,拼接) */ @Excel(name = "产品名称(通过,拼接)") private String productName; @@ -75,6 +79,8 @@ public class TbPromotionMaterial extends BaseEntity /** 文件 */ private List files; + private String delIds; + // 构造函数 public TbPromotionMaterial() {} diff --git a/bonus-business/src/main/java/com/bonus/business/mapper/TbPromotionMaterialMapper.java b/bonus-business/src/main/java/com/bonus/business/mapper/TbPromotionMaterialMapper.java index 87652f4..dde7f35 100644 --- a/bonus-business/src/main/java/com/bonus/business/mapper/TbPromotionMaterialMapper.java +++ b/bonus-business/src/main/java/com/bonus/business/mapper/TbPromotionMaterialMapper.java @@ -90,4 +90,11 @@ public interface TbPromotionMaterialMapper { * @param bean 宣传物料信息 */ void updateCover(TbPromotionMaterial bean); + + /** + * 删除物料文件 + * + * @param bean 宣传物料信息 + */ + void deleteTbPromotionMaterialFilesById(TbPromotionMaterialFiles bean); } diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/TbPromotionMaterialServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/TbPromotionMaterialServiceImpl.java index 17e8564..c677155 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/impl/TbPromotionMaterialServiceImpl.java +++ b/bonus-business/src/main/java/com/bonus/business/service/impl/TbPromotionMaterialServiceImpl.java @@ -60,6 +60,7 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi for (TbPromotionMaterial bean : tbPromotionMaterials) { //查询附件 bean.setTypeId(2L); + bean.setImage(minioConfig.getUrl()+"/"+minioConfig.getBucketName() + bean.getImage()); List files = mapper.getFileMaterialId(bean); //拼接个访问前缀 for (TbPromotionMaterialFiles o: files) { @@ -130,8 +131,19 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi //将产品与物料关系存到另一张表 List split = tbPromotionMaterial.split(tbPromotionMaterial); int n = mapper.insertMaterialProductRelevance(split); - //将物料文件上传 - int m = uploadFile(listFiles, "tb_promotion_material_files", tbPromotionMaterial.getId()); + if(!listFiles.isEmpty()){ + //删除以前的附件 + if(tbPromotionMaterial.getDelIds() != null && !tbPromotionMaterial.getDelIds().isEmpty()){ + String[] splitId = tbPromotionMaterial.getDelIds().split(","); + for (String id : splitId) { + TbPromotionMaterialFiles bean = new TbPromotionMaterialFiles(); + bean.setId(Long.valueOf(id)); + mapper.deleteTbPromotionMaterialFilesById(bean); + } + } + //将物料文件上传 + int m = uploadFile(listFiles, "tb_promotion_material_files", tbPromotionMaterial.getId()); + } } return i; } diff --git a/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml b/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml index 014e2f8..d59d5c7 100644 --- a/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml +++ b/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml @@ -12,7 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -25,11 +25,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -122,4 +125,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update tb_promotion_material set image = #{image} where id = #{id} + + + delete from tb_promotion_material_files where id = #{id} + \ No newline at end of file