From 875b8db4ad686dd1ea5246bd3596b24bbc2f4bd6 Mon Sep 17 00:00:00 2001 From: Eterlaze <1215710470@qq.com> Date: Sun, 22 Dec 2024 10:21:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E7=B1=BB=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3/=E5=AE=9E=E7=8E=B0=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/api/service/CommodityService.java | 51 ++++++++++++ .../service/impl/CommodityServiceImpl.java | 80 +++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 IDEA/src/main/java/com/example/api/service/CommodityService.java create mode 100644 IDEA/src/main/java/com/example/api/service/impl/CommodityServiceImpl.java diff --git a/IDEA/src/main/java/com/example/api/service/CommodityService.java b/IDEA/src/main/java/com/example/api/service/CommodityService.java new file mode 100644 index 00000000..25e74e3e --- /dev/null +++ b/IDEA/src/main/java/com/example/api/service/CommodityService.java @@ -0,0 +1,51 @@ +package com.example.api.service; + +import com.example.api.model.entity.Commodity; // 导入Commodity实体类,代表商品信息 + +import java.util.List; // 导入List类,用于处理列表数据 + +/** + * 商品服务接口,定义商品相关的业务操作。 + */ +public interface CommodityService { + + /** + * 保存商品信息。 + * @param commodity 商品实体对象,包含商品的各个属性 + * @return 保存后的商品实体对象,包含由数据库生成的ID等信息 + */ + Commodity save(Commodity commodity); + + /** + * 更新商品信息。 + * @param commodity 要更新的商品实体对象 + */ + void update(Commodity commodity); + + /** + * 根据ID删除商品信息。 + * @param id 要删除的商品ID + */ + void delete(String id); + + /** + * 根据ID查询商品信息。 + * @param id 要查询的商品ID + * @return 查询到的商品实体对象,如果没有找到则返回null + */ + Commodity findById(String id); + + /** + * 查询所有商品信息。 + * @return 商品实体对象列表,包含所有商品的详细信息 + */ + List findAll(); + + /** + * 根据商品名称模糊查询商品信息。 + * @param name 商品名称关键词 + * @return 与商品名称匹配的商品实体对象列表 + */ + List findAllByLikeName(String name); + +} \ No newline at end of file diff --git a/IDEA/src/main/java/com/example/api/service/impl/CommodityServiceImpl.java b/IDEA/src/main/java/com/example/api/service/impl/CommodityServiceImpl.java new file mode 100644 index 00000000..c75d7bb1 --- /dev/null +++ b/IDEA/src/main/java/com/example/api/service/impl/CommodityServiceImpl.java @@ -0,0 +1,80 @@ +package com.example.api.service.impl; + +import com.example.api.model.entity.Commodity; // 导入Commodity实体类 +import com.example.api.repository.CommodityRepository; // 导入CommodityRepository接口 +import com.example.api.service.CommodityService; // 导入CommodityService接口 +import com.example.api.utils.DataTimeUtil; // 导入日期时间工具类 +import org.springframework.stereotype.Service; // 导入Service注解 + +import javax.annotation.Resource; // 导入Resource注解,用于注入Spring管理的Bean +import java.util.List; // 导入List类,用于处理列表数据 + +/** + * 商品服务实现类,提供商品相关的业务逻辑。 + */ +@Service +public class CommodityServiceImpl implements CommodityService { + + @Resource + private CommodityRepository commodityRepository; // 注入Commodity仓库 + + /** + * 保存商品信息。 + * @param commodity 商品实体对象 + * @return 保存后的商品实体对象 + */ + @Override + public Commodity save(Commodity commodity) { + commodity.setCreateAt(DataTimeUtil.getNowTimeString()); // 设置创建时间 + return commodityRepository.save(commodity); // 保存商品信息 + } + + /** + * 更新商品信息。 + * @param commodity 商品实体对象 + */ + @Override + public void update(Commodity commodity) { + commodity.setUpdateAt(DataTimeUtil.getNowTimeString()); // 设置更新时间 + commodityRepository.save(commodity); // 更新商品信息 + } + + /** + * 根据ID删除商品信息。 + * @param id 商品ID + */ + @Override + public void delete(String id) { + commodityRepository.deleteById(id); // 根据ID删除商品信息 + } + + /** + * 根据ID查询商品信息。 + * @param id 商品ID + * @return 查询到的商品实体对象,如果没有找到则返回null + */ + @Override + public Commodity findById(String id) { + return commodityRepository.findById(id).orElse(null); // 根据ID查询商品信息 + } + + /** + * 查询所有商品信息。 + * @return 商品实体对象列表 + */ + @Override + public List findAll() { + return commodityRepository.findAll(); // 查询所有商品信息 + } + + /** + * 根据商品名称模糊查询商品信息。 + * @param name 商品名称关键词 + * @return 匹配的商品实体对象列表 + */ + @Override + public List findAllByLikeName(String name) { + return commodityRepository.findByNameLike("%" + name + "%"); // 模糊查询商品信息 + } + +} \ No newline at end of file