📄 productserviceimpl.java
字号:
package cn.hxex.library.service.impl;
import java.util.List;
import cn.hxex.library.dao.ProductDao;
import cn.hxex.library.exception.LibraryException;
import cn.hxex.library.model.Category;
import cn.hxex.library.model.Product;
import cn.hxex.library.service.ProductService;
public class ProductServiceImpl implements ProductService
{
private ProductDao productDao;
/**
* @return Returns the productDao.
*/
public ProductDao getProductDao()
{
return productDao;
}
/**
* @param productDao The productDao to set.
*/
public void setProductDao(ProductDao productDao)
{
this.productDao = productDao;
}
public Product saveProduct(Product product) throws LibraryException
{
List list = this.productDao.getProducts( product.getName(), product.getCategory().getId() );
if( !list.isEmpty() )
{
throw LibraryException.getDuplicateProductNameException();
}
return this.productDao.saveProduct( product );
}
public Product updateProduct(Product product) throws LibraryException
{
List list = this.productDao.getProducts( product.getName(), product.getCategory().getId() );
if( list.size()>1 || (list.size()==1 && !((Product)list.get( 0 ) ).getId().equals( product.getId() ) ) )
{
throw LibraryException.getDuplicateProductNameException();
}
Product p = getProduct( product.getId() );
p.setName( product.getName() );
p.setDescription( product.getDescription() );
p.setCategory( product.getCategory() );
return this.productDao.updateProduct( p );
}
public Product deleteProduct(String productId) throws LibraryException
{
Product product = getProduct( productId );
Category category = product.getCategory();
category.getProducts().remove( product );
this.getProductDao().deleteProduct( product );
return product;
}
public Product getProduct(String productId) throws LibraryException
{
Product product = this.productDao.getProduct( productId );
if( product==null )
{
throw LibraryException.getProductNotExistException();
}
return product;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -