diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java index 774f265e..0e09042e 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/product/ProductUpdateReq.java @@ -23,7 +23,7 @@ public class ProductUpdateReq { * 产品 ID */ @NotNull(message = "产品 ID 不能为空") - private String id; + private Long id; /** * 产品名称 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java index b1de1237..4b6dd4c9 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductServiceImpl.java @@ -76,9 +76,12 @@ public class ProductServiceImpl implements ProductService { @Override public ApiResult update(ProductUpdateReq req) { + Optional optProduct = productModuleDao.lambdaQuery() + .eq(ProductModule::getProductName, req.getProductName()) + .eq(ProductModule::getDictWorkspaceTypeId, req.getDictWorkspaceTypeId()) + .oneOpt(); + AssertUtil.isTrue(!optProduct.isPresent() || Objects.equals(req.getId(), optProduct.get().getId()), "产品名称在相同工作台类型下不允许重复"); ProductModule productModule = productModuleDao.getById(req.getId()); - AssertUtil.isTrue(Objects.equals(req.getProductName(), productModule.getProductName()) - && Objects.equals(req.getDictWorkspaceTypeId(), productModule.getDictWorkspaceTypeId()), "产品名称在相同工作台类型下不允许重复"); BeanMapper.copyBeanIgnoreNull(req, () -> productModule); productModuleDao.updateById(productModule); return ApiResult.ok(BeanMapper.copyBeanIgnoreNull(productModule, ProductVO.class));