update - 添加产品重名相关的校验

This commit is contained in:
wangli 2023-09-18 10:13:36 +08:00
parent 572bdcfc49
commit 7e2cb2d11d

View File

@ -21,6 +21,7 @@ import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/**
* 产品相关 Service 接口实现
@ -63,6 +64,11 @@ public class ProductServiceImpl implements ProductService {
@Override
public ApiResult<ProductVO> add(ProductAddReq req) {
Optional<ProductModule> optProduct = productModuleDao.lambdaQuery()
.eq(ProductModule::getProductName, req.getProductName())
.eq(ProductModule::getDictWorkspaceTypeId, req.getDictWorkspaceTypeId())
.oneOpt();
AssertUtil.isTrue(!optProduct.isPresent(), "产品名称在相同工作台类型下不允许重复");
ProductModule productModule = BeanMapper.copyBean(req, ProductModule.class);
productModuleDao.save(productModule);
return ApiResult.ok(BeanMapper.copyBean(productModule, ProductVO.class));
@ -71,6 +77,8 @@ public class ProductServiceImpl implements ProductService {
@Override
public ApiResult<ProductVO> update(ProductUpdateReq req) {
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));