diff --git a/fp-admin/src/main/java/com/zf/foodpurchase/fdsafe/web/merchant/RepositoryController.java b/fp-admin/src/main/java/com/zf/foodpurchase/fdsafe/web/merchant/RepositoryController.java index 095c6d3..93e39ca 100644 --- a/fp-admin/src/main/java/com/zf/foodpurchase/fdsafe/web/merchant/RepositoryController.java +++ b/fp-admin/src/main/java/com/zf/foodpurchase/fdsafe/web/merchant/RepositoryController.java @@ -9,7 +9,9 @@ import com.zf.foodpurchase.common.core.domain.AjaxResult; import com.zf.foodpurchase.common.core.domain.entity.SysUser; import com.zf.foodpurchase.common.core.page.TableDataInfo; import com.zf.foodpurchase.common.utils.DateUtils; +import com.zf.foodpurchase.fdsafe.entity.FoodRepo; import com.zf.foodpurchase.fdsafe.entity.Repository; +import com.zf.foodpurchase.fdsafe.mapper.FoodRepoMapper; import com.zf.foodpurchase.fdsafe.service.IRepositoryService; import com.zf.foodpurchase.fdsafe.vo.RepositoryVO; import com.zf.foodpurchase.system.service.ISysUserService; @@ -20,6 +22,8 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** *

@@ -37,6 +41,8 @@ public class RepositoryController extends BaseController { @Autowired private ISysUserService userService; + @Autowired + private FoodRepoMapper foodRepoMapper; @GetMapping("/list") public AjaxResult list(Repository repository) { @@ -105,7 +111,23 @@ public class RepositoryController extends BaseController { public AjaxResult delete(Long[] ids) { boolean flag = false; List list = Arrays.asList(ids); - flag = repositoryService.removeByIds( list); + List foodRepos = foodRepoMapper.selectByRepoId(list); + List newList = new ArrayList<>(); + for (Long repoId : list) { + List matchRepos = foodRepos.stream() + .filter(foodRepo -> repoId.longValue() == foodRepo.getRepoId()) + .collect(Collectors.toList()); + // 1.无记录 || 2.存在记录数量>0 + boolean allZero = matchRepos.isEmpty() + || matchRepos.stream().allMatch(foodRepo -> Objects.equals(foodRepo.getFoodProductNum(), 0)); + if(allZero){ + newList.add(repoId); + } + } + if(CollectionUtil.isEmpty(newList)){ + return AjaxResult.error("存在商品数量不为0的仓库,不能删除"); + } + flag = repositoryService.removeByIds( newList); return flag?AjaxResult.success("删除成功"):AjaxResult.error("删除失败"); } } diff --git a/fp-common/src/main/java/com/zf/foodpurchase/common/constant/OrderStatusConstants.java b/fp-common/src/main/java/com/zf/foodpurchase/common/constant/OrderStatusConstants.java index e12eb49..f5695d6 100644 --- a/fp-common/src/main/java/com/zf/foodpurchase/common/constant/OrderStatusConstants.java +++ b/fp-common/src/main/java/com/zf/foodpurchase/common/constant/OrderStatusConstants.java @@ -11,6 +11,7 @@ public interface OrderStatusConstants { public static final Integer DELIVERING = 2; public static final Integer COMPLETED = 3; public static final Integer CANCELED = 4; + public static final Integer INREPO = 5; // 订单是否可参与结算 public static final Integer CAN_SETTLEMENT = 1; diff --git a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/entity/FoodRepo.java b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/entity/FoodRepo.java index 6f9a14c..9656b71 100644 --- a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/entity/FoodRepo.java +++ b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/entity/FoodRepo.java @@ -8,7 +8,5 @@ public class FoodRepo { private Integer id; private Integer foodProductId; private Integer repoId; - private String orderNo; - private String orderItemNo; private Integer foodProductNum; } diff --git a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/mapper/FoodRepoMapper.java b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/mapper/FoodRepoMapper.java index 0616570..57c68f1 100644 --- a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/mapper/FoodRepoMapper.java +++ b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/mapper/FoodRepoMapper.java @@ -3,9 +3,13 @@ package com.zf.foodpurchase.fdsafe.mapper; import com.zf.foodpurchase.fdsafe.entity.FoodRepo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface FoodRepoMapper { int insert(FoodRepo foodRepo); int update(FoodRepo foodRepo); FoodRepo selectByProductIdAndRepoId(@Param("productId") Long productId, @Param("repoId") Long repoId); + + List selectByRepoId(@Param("repoIds") List repoIds); } diff --git a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/service/impl/RepoRecordServiceImpl.java b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/service/impl/RepoRecordServiceImpl.java index a92a98a..5caa482 100644 --- a/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/service/impl/RepoRecordServiceImpl.java +++ b/fp-system/src/main/java/com/zf/foodpurchase/fdsafe/service/impl/RepoRecordServiceImpl.java @@ -51,7 +51,6 @@ public class RepoRecordServiceImpl extends ServiceImpl0 diff --git a/fp-system/src/main/resources/mapper/FoodRepoMapper.xml b/fp-system/src/main/resources/mapper/FoodRepoMapper.xml index f4cedab..aa1afa4 100644 --- a/fp-system/src/main/resources/mapper/FoodRepoMapper.xml +++ b/fp-system/src/main/resources/mapper/FoodRepoMapper.xml @@ -6,14 +6,10 @@ insert into food_repo( food_product_id, repo_id, - order_no, - order_item_no, food_product_num )values( #{foodProductId}, #{repoId}, - #{orderNo}, - #{orderItemNo}, #{foodProductNum}) @@ -22,8 +18,6 @@ food_product_id=#{foodProductId}, repo_id=#{repoId}, - order_no=#{orderNo}, - order_item_no=#{orderItemNo}, food_product_num=#{foodProductNum} where id=#{id} @@ -31,8 +25,17 @@ + + diff --git a/fp-system/src/main/resources/mapper/RepositoryMapper.xml b/fp-system/src/main/resources/mapper/RepositoryMapper.xml index e6e5641..e7cc282 100644 --- a/fp-system/src/main/resources/mapper/RepositoryMapper.xml +++ b/fp-system/src/main/resources/mapper/RepositoryMapper.xml @@ -25,7 +25,26 @@