商品dao+service
新建ProductInfo
@Entity @Data public class ProductInfo { /** 商品id. */ @Id private String productId; /** 商品名称. */ private String productName; /** 单价. */ private BigDecimal productPrice; /** 库存. */ private Integer productStock; /** 描述. */ private String productDescription; /** 小图. */ private String productIcon; /** 商品状态,0正常1下架. */ private Integer productStatus; /** 类目编号. */ private Integer categoryType;
建立ProductInfoRepository
public interface ProductInfoRepository extends JpaRepository<ProductInfo,String> { List<ProductInfo> findByProductStatus(Integer productStatus); }
对接口测试
@RunWith(SpringRunner.class) @SpringBootTest public class ProductInfoRepositoryTest { @Autowired private ProductInfoRepository repository; @Test public void save(){ ProductInfo productInfo = new ProductInfo(); productInfo.setProductId("123456"); productInfo.setProductName("皮蛋粥"); productInfo.setProductPrice(new BigDecimal(3.2)); productInfo.setProductStock(4); productInfo.setProductDescription("很好喝的粥"); productInfo.setProductIcon("http://xxxx.com"); productInfo.setProductStatus(0); productInfo.setCategoryType(3); ProductInfo result = repository.save(productInfo); Assert.assertNotNull(result); } @Test public void findByProductStatus() { List<ProductInfo> productInfoList= repository.findByProductStatus(0); Assert.assertEquals(1,productInfoList.size()); } }
service层
ProductService:
public interface ProductService { ProductInfo findOne(String productId); /** 查询所有在架商品 */ List<ProductInfo> findUpAll(); Page<ProductInfo> findAll(Pageable pageable); ProductInfo save(ProductInfo productInfo); //加库存 //减库存 }
ProductServiceImpl:
@Service public class ProductServiceImpl implements ProductService { @Autowired private ProductInfoRepository repository; @Override public ProductInfo findOne(String productId) { return repository.findById(productId).get(); } @Override public List<ProductInfo> findUpAll() { List<ProductInfo> productInfoList = repository.findByProductStatus(ProductStatusEnum.UP.getCode()); return productInfoList; } @Override public Page<ProductInfo> findAll(Pageable pageable) { return repository.findAll(pageable); } @Override public ProductInfo save(ProductInfo productInfo) { return repository.save(productInfo); } }
对service测试:
@RunWith(SpringRunner.class) @SpringBootTest public class ProductServiceImplTest { @Autowired private ProductServiceImpl productService; @Test public void findOne() { ProductInfo productInfo = productService.findOne("1001"); Assert.assertEquals("皮皮虾",productInfo.getProductName()); } @Test public void findUpAll() { List<ProductInfo> productInfoList = productService.findUpAll(); Assert.assertNotEquals(0,productInfoList.size()); } @Test public void findAll() { PageRequest request = new PageRequest(0,2); Page<ProductInfo> productInfoPage = productService.findAll(request); //System.out.println(productInfoPage.getTotalElements()); Assert.assertNotEquals(0,productInfoPage.getTotalElements()); } @Test public void save() { ProductInfo productInfo = new ProductInfo(); productInfo.setProductId("1001"); productInfo.setProductName("皮皮虾"); productInfo.setProductStatus(ProductStatusEnum.DOWN.getCode()); productInfo.setProductDescription("很好吃的虾"); productInfo.setProductStock(90); productInfo.setProductPrice(new BigDecimal(4.56)); productInfo.setProductIcon("http://xxxx.jpg"); productInfo.setCategoryType(4); ProductInfo result = productService.save(productInfo); Assert.assertNotNull(result); } }