You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
banban/src/main/java/com/service/ICinemaService.java

69 lines
5.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.service;
import java.util.List;
import com.entity.Cinema;
/**
* ICinemaService接口用于定义与电影院Cinema相关的业务逻辑方法的规范。
* 该接口规定了一系列对电影院数据进行操作的抽象方法这些方法一般会由具体的实现类来实现其具体的业务逻辑实现类通常会与数据持久层进行交互例如调用对应的Mapper层方法从而完成如查询、添加、更新、删除电影院信息以及按照不同条件筛选电影院等功能为整个项目中涉及电影院相关业务的模块提供统一的服务调用接口。
*/
public interface ICinemaService {
/**
* 根据电影院的唯一标识ID查询对应的电影院信息的方法签名。
* 具体实现类需要编写逻辑通常是调用数据持久层相关方法与数据库交互依据传入的电影院ID从数据库中查找对应的电影院记录并将其转换为`Cinema`实体对象返回,方便获取特定电影院的详细情况,例如电影院名称、地址、联系方式等信息。
* @param cinema_id 要查询的电影院的唯一标识(通常是一个具有特定格式的数字)
* @return 返回一个`Cinema`对象,代表查询到的电影院信息,如果未找到对应的电影院则返回`null`(具体取决于实现逻辑)
*/
Cinema findCinemaById(long cinema_id);
/**
* 向数据库中插入一条新的电影院记录的方法签名。
* 对应的实现类需要实现将传入的包含电影院信息的`Cinema`对象包含电影院的各种属性如名称、地址、影厅数量等插入到数据库的电影院表中的逻辑并且根据插入操作的结果返回受影响的行数通常插入成功返回1失败返回0等具体依数据库执行情况而定以此判断电影院信息插入是否成功。
* @param cinema 包含要插入的电影院信息的`Cinema`对象
* @return 返回一个`Integer`类型的值,表示插入操作影响的行数,可用于判断插入是否成功
*/
Integer addCinema(Cinema cinema);
/**
* 根据传入的`Cinema`对象信息更新数据库中对应的电影院记录的方法签名。
* 实现类要编写代码逻辑,依据传入的`Cinema`对象中的属性值(例如电影院名称、地址等属性发生变化时)来更新数据库里对应电影院记录的相应字段,然后返回受影响的行数,用于判断电影院记录更新是否成功执行。
* @param cinema 包含更新后电影院信息的`Cinema`对象
* @return 返回一个`Integer`类型的值,表示更新操作影响的行数,可用于判断更新是否成功
*/
Integer updateCinema(Cinema cinema);
/**
* 根据电影院的唯一标识ID从数据库中删除对应的电影院记录的方法签名。
* 具体实现类需编写逻辑调用相应的数据持久层方法将指定ID的电影院记录从数据库表中移除然后返回受影响的行数来表明删除操作是否成功执行一般成功删除返回1不存在对应记录返回0等情况用于确认电影院记录删除操作的结果。
* @param cinema_id 要删除的电影院的唯一标识
* @return 返回一个`Integer`类型的值,表示删除操作影响的行数,可用于判断删除是否成功
*/
Integer deleteCinema(long cinema_id);
/**
* 查询数据库中所有电影院信息的方法签名。
* 对应的实现类应编写逻辑,通过调用数据持久层相关方法从数据库表中获取全部的电影院记录,并将每条记录转换为`Cinema`实体对象,最后以`List<Cinema>`集合的形式返回所有电影院信息列表,方便进行整体的电影院数据统计、管理等操作,例如展示所有电影院列表供用户选择等业务场景。
* @return 返回一个包含所有`Cinema`对象的`List`集合,每个对象代表一条电影院记录信息
*/
List<Cinema> findAllCinemas();
/**
* 根据电影院名称进行模糊查询,获取符合模糊条件的电影院信息列表的方法签名。
* 实现类需要编写逻辑,依据传入的电影院名称(可以是部分名称等模糊条件),在数据库中查找名称符合模糊匹配条件的电影院记录,
* 并将每条记录转换为`Cinema`实体对象,最后以`List<Cinema>`集合的形式返回这些电影院信息列表,方便用户根据部分名称等模糊信息查找感兴趣的电影院,例如在搜索功能中使用。
* @param cinema_name 要进行模糊查询的电影院名称,用于筛选符合条件的电影院记录
* @return 返回一个包含符合模糊查询条件的`Cinema`对象的`List`集合,可能为空集合(如果没有找到符合条件的电影院)
*/
List<Cinema> findCinemasLikeName(String cinema_name);
/**
* 根据电影的唯一标识ID查询放映该电影的所有电影院信息的方法签名。
* 实现类需要编写相应的逻辑依据传入的电影ID在数据库中查找放映该电影的所有电影院记录通常涉及多表关联查询等操作例如关联场次表、电影院表等
* 并将每条记录转换为`Cinema`实体对象,最后以`List<Cinema>`集合的形式返回这些电影院信息列表,便于用户查看哪些电影院正在放映指定的电影,方便用户选择观影地点等业务场景。
* @param movie_id 要查询其放映电影院的电影的唯一标识(通常是一个具有特定格式的数字)
* @return 返回一个包含符合条件的`Cinema`对象的`List`集合,每个对象代表一条放映该电影的电影院记录信息,可能为空集合(如果没有电影院放映该电影)
*/
List<Cinema> findCinemasByMovieId(long movie_id);
}