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 625a6fd..1d64c75 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 @@ -2,6 +2,7 @@ package com.bonus.business.controller; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -94,19 +95,18 @@ public class MaterialController extends BaseController { // @PreAuthorize("@ss.hasPermi('system:material:edit')") @Log(title = "修改宣传物料信息", businessType = BusinessType.UPDATE) @PostMapping("/edit") - public AjaxResult edit(@RequestParam(value = "files") MultipartFile[] files,@RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { + public AjaxResult edit(@RequestParam(value = "files",required = false) MultipartFile[] files,@RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { try { List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); // 验证对应关系 - if (listFile.size() != files.length || files.length != 2) { + if (listFile != null && listFile.size() != files.length) { return error("文件信息与文件数量不匹配或文件缺失"); } //先将数据对应关系处理 - for (int i = 0; i < listFile.size(); i++) { + for (int i = 0; i < Objects.requireNonNull(listFile).size(); i++) { listFile.get(i).setFile(files[i]); } TbPromotionMaterial tbPromotionMaterial = FastJsonHelper.jsonStrToBean(params, TbPromotionMaterial.class); - return toAjax(service.updateTbPromotionMaterial(tbPromotionMaterial,listFile)); } catch (Exception e) { logger.error(e.getMessage(), e); diff --git a/bonus-business/src/main/java/com/bonus/business/domain/MapBeanPo.java b/bonus-business/src/main/java/com/bonus/business/domain/MapBeanPo.java index b974105..2cba1cc 100644 --- a/bonus-business/src/main/java/com/bonus/business/domain/MapBeanPo.java +++ b/bonus-business/src/main/java/com/bonus/business/domain/MapBeanPo.java @@ -11,11 +11,7 @@ public class MapBeanPo { private String name; - private Integer subComId; - - private Integer proId; - - private Integer subId; + private Integer typeId; public MapBeanPo(Integer id, String name) { this.id = id; 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 6814bcb..5124695 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 @@ -81,7 +81,9 @@ public class TbPromotionMaterial extends BaseEntity private String delIds; + private String type; + private List productIds; // 构造函数 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 dde7f35..22e0ba6 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 @@ -97,4 +97,6 @@ public interface TbPromotionMaterialMapper { * @param bean 宣传物料信息 */ void deleteTbPromotionMaterialFilesById(TbPromotionMaterialFiles bean); + + List getProductByMaterialId(TbPromotionMaterial 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 c677155..7b0d772 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 @@ -59,7 +59,7 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi List tbPromotionMaterials = mapper.selectTbPromotionMaterialList(tbPromotionMaterial); for (TbPromotionMaterial bean : tbPromotionMaterials) { //查询附件 - bean.setTypeId(2L); + bean.setType("2"); bean.setImage(minioConfig.getUrl()+"/"+minioConfig.getBucketName() + bean.getImage()); List files = mapper.getFileMaterialId(bean); //拼接个访问前缀 @@ -88,6 +88,8 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi o.setFilePath(minioConfig.getUrl()+"/"+minioConfig.getBucketName() + o.getFilePath()); } bean.setFiles(files); + List products =mapper.getProductByMaterialId(bean); + bean.setProductIds(products); return bean; } @@ -104,8 +106,6 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi tbPromotionMaterial.setCreateTime(DateUtils.getNowDate()); int i = mapper.insertTbPromotionMaterial(tbPromotionMaterial); if (i > 0) { - //删除以前的关联关系 - int x = mapper.deleteMaterialProductRelevance(tbPromotionMaterial.getId()); //将产品与物料关系存到另一张表 List split = tbPromotionMaterial.split(tbPromotionMaterial); int n = mapper.insertMaterialProductRelevance(split); @@ -128,6 +128,8 @@ public class TbPromotionMaterialServiceImpl implements ITbPromotionMaterialServi tbPromotionMaterial.setUpdateTime(DateUtils.getNowDate()); int i = mapper.updateTbPromotionMaterial(tbPromotionMaterial); if (i > 0) { + //删除以前的关联关系 + int x = mapper.deleteMaterialProductRelevance(tbPromotionMaterial.getId()); //将产品与物料关系存到另一张表 List split = tbPromotionMaterial.split(tbPromotionMaterial); int n = mapper.insertMaterialProductRelevance(split); diff --git a/bonus-business/src/main/resources/mapper/business/SelectMapper.xml b/bonus-business/src/main/resources/mapper/business/SelectMapper.xml index 314f06a..5ed7ad2 100644 --- a/bonus-business/src/main/resources/mapper/business/SelectMapper.xml +++ b/bonus-business/src/main/resources/mapper/business/SelectMapper.xml @@ -8,8 +8,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id,name from tb_product del_flag = 0 - - and name like '%${name}%' + + and type_id = #{typeId} diff --git a/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml b/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml index d59d5c7..78efa1d 100644 --- a/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml +++ b/bonus-business/src/main/resources/mapper/business/TbPromotionMaterialMapper.xml @@ -81,14 +81,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" name = #{name}, type_id = #{typeId}, type_name = #{typeName}, - image = #{image}, version = #{version}, description = #{description}, - create_user = #{createUser}, - create_time = #{createTime}, update_user = #{updateUser}, update_time = #{updateTime}, - del_flag = #{delFlag}, product_name = #{productName}, where id = #{id} @@ -106,7 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -129,4 +125,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from tb_promotion_material_files where id = #{id} + + \ No newline at end of file