| src/main/java/com/ruoyi/basic/controller/ProductController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/IProductModelService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/basic/ProductModelMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import com.ruoyi.basic.dto.ProductDto; import com.ruoyi.basic.dto.ProductModelDto; import com.ruoyi.basic.dto.ProductModelExportDto; @@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.stream.Collectors; @RestController @AllArgsConstructor @@ -81,11 +83,12 @@ if (ids == null || ids.length == 0) { return AjaxResult.error("请传入要删除的ID"); } List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids)); // 检查是否有销售商品记录关联该产品 LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(SalesLedgerProduct::getProductId, ids); queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList())); List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper); if (salesLedgerProductList.size() > 0) { if (!salesLedgerProductList.isEmpty()) { return AjaxResult.error("该产品存在销售/采购记录,不能删除"); } return toAjax(productService.delProductByIds(ids)); src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
@@ -7,6 +7,7 @@ import com.ruoyi.procurementrecord.dto.ProcurementPageDto; import org.apache.ibatis.annotations.Param; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; @@ -26,4 +27,6 @@ ProductModel selectLatestRecord(); List<Map<String, Object>> getProductAndModelList(); List<ProductModel> selectModelListByProductIds(@NotNull @Param("ids") List<Long> ids); } src/main/java/com/ruoyi/basic/service/IProductModelService.java
@@ -26,6 +26,8 @@ List<ProductModel> selectModelList(ProductDto productDto); List<ProductModel> selectModelListByProductIds(List<Long> ids); /** * 根据id查询产品规格分页查询 * @param page src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.validation.constraints.NotNull; import java.util.*; import java.util.stream.Collectors; @@ -73,6 +74,11 @@ return productModelMapper.selectList(queryWrapper); } @Override public List<ProductModel> selectModelListByProductIds(@NotNull List<Long> ids) { return productModelMapper.selectModelListByProductIds(ids); } /** * 根据id查询产品规格分页查询 * src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -106,5 +106,23 @@ left join product p on p.id = pm.product_id order by p.id,pm.id desc </select> <select id="selectModelListByProductIds" resultType="com.ruoyi.basic.pojo.ProductModel"> WITH RECURSIVE tree AS ( SELECT id FROM product WHERE id in <foreach item="id" collection="ids" open="(" separator="," close=")"> #{id} </foreach> UNION ALL SELECT p.id FROM product p INNER JOIN tree t ON p.parent_id = t.id ) SELECT t1.* FROM product_model t1 INNER JOIN product t2 ON t1.product_id = t2.id INNER JOIN tree t ON t2.id = t.id; </select> </mapper>