@ -23,225 +23,282 @@ import com.service.IHallService;
import com.service.IMovieService ;
import com.service.IScheduleService ;
/ * *
* 场 次 ( Schedule ) 相 关 业 务 的 控 制 器 类 , 主 要 负 责 处 理 与 电 影 场 次 相 关 的 各 种 请 求 ,
* 例 如 查 询 场 次 信 息 、 根 据 不 同 条 件 筛 选 场 次 、 添 加 场 次 、 修 改 场 次 价 格 以 及 下 架 场 次 等 操 作 。
* 通 过 依 赖 注 入 各 个 相 关 服 务 层 接 口 , 调 用 对 应 的 服 务 方 法 来 实 现 具 体 业 务 逻 辑 ,
* 并 将 结 果 以 JSON 格 式 返 回 给 前 端 页 面 或 其 他 调 用 方 。
* /
@Controller
@RequestMapping ( "/schedule" )
public class ScheduleController {
@Resource
private IScheduleService scheduleService ;
@Resource
private IMovieService movieService ;
@Resource
private ICinemaService cinemaService ;
@Resource
private IHallService hallService ;
@RequestMapping ( "findScheduleById" )
@ResponseBody
public JSONObject findScheduleById ( @RequestParam ( "schedule_id" ) long schedule_id ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = scheduleService . findScheduleById ( schedule_id ) ;
obj . put ( "code" , 0 ) ;
obj . put ( "data" , schedule ) ;
return obj ;
}
@RequestMapping ( "findAllScheduleByState" )
@ResponseBody
public JSONObject findAllScheduleByState ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page , @RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit , @RequestParam ( "schedule_state" ) int schedule_state ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findAllScheduleByState ( page , limit , schedule_state ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
@RequestMapping ( "findAllSchedule" )
@ResponseBody
public JSONObject findAllSchedule ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page , @RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findAllSchedule ( page , limit ) ;
List < Movie > movieList = movieService . findAllMovies ( 1 ) ;
List < Cinema > cinemaList = cinemaService . findAllCinemas ( ) ;
ArrayList < String > movieArr = new ArrayList < String > ( ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
for ( int i = 0 ; i < movieList . size ( ) ; i + + ) {
movieArr . add ( movieList . get ( i ) . getMovie_cn_name ( ) ) ;
}
ArrayList < Object > cinema = new ArrayList < > ( ) ;
for ( int i = 0 ; i < cinemaList . size ( ) ; i + + ) {
JSONObject cinemaObj = new JSONObject ( ) ;
List < Hall > hallList = hallService . findHallByCinemaId ( cinemaList . get ( i ) . getCinema_id ( ) ) ;
ArrayList < String > hallArr = new ArrayList < String > ( ) ;
for ( int j = 0 ; j < hallList . size ( ) ; j + + ) {
hallArr . add ( hallList . get ( j ) . getHall_name ( ) ) ;
}
cinemaObj . put ( cinemaList . get ( i ) . getCinema_name ( ) , hallList ) ;
cinema . add ( cinemaObj ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "movieName" , movieArr ) ;
obj . put ( "cinema" , cinema ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
@RequestMapping ( "findScheduleByMovieName" )
@ResponseBody
public JSONObject findScheduleByMovieName ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page , @RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit , @RequestParam ( "movie_name" ) String movie_name ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findScheduleByMovieName ( page , limit , movie_name ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
@RequestMapping ( "findOffScheduleByMovieName" )
@ResponseBody
public JSONObject findOffScheduleByMovieName ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page , @RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit , @RequestParam ( "movie_name" ) String movie_name ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findOffScheduleByMovieName ( page , limit , movie_name ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
@RequestMapping ( "findScheduleByCinemaAndMovie" )
@ResponseBody
public JSONObject findScheduleByCinemaAndMovie ( @RequestParam ( "cinema_id" ) long cinema_id , @RequestParam ( "movie_id" ) long movie_id ) {
JSONObject obj = new JSONObject ( ) ;
List < Schedule > list = scheduleService . findScheduleByCineamIdAndMovieId ( cinema_id , movie_id ) ;
obj . put ( "code" , 0 ) ;
obj . put ( "count" , list . size ( ) ) ;
obj . put ( "data" , list ) ;
return obj ;
}
@RequestMapping ( "addSchedule" )
@ResponseBody
public JSONObject addSchedule ( @RequestParam ( "movie_name" ) String movie_name , @RequestParam ( "hall_name" ) String hall_name , @RequestParam ( "cinema_name" ) String cinema_name ,
@RequestParam ( "schedule_price" ) int schedule_price , @RequestParam ( "schedule_startTime" ) String schedule_startTime ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = new Schedule ( ) ;
Hall hall = this . hallService . findHallByCinemaAndHallName ( cinema_name , hall_name ) ;
schedule . setMovie_id ( this . movieService . findMovieByName ( movie_name ) . getMovie_id ( ) ) ;
schedule . setHall_id ( hall . getHall_id ( ) ) ;
schedule . setSchedule_price ( schedule_price ) ;
schedule . setSchedule_startTime ( schedule_startTime ) ;
schedule . setSchedule_remain ( hall . getHall_capacity ( ) ) ;
Integer rs = this . scheduleService . addSchedule ( schedule ) ;
if ( rs > 0 ) {
obj . put ( "code" , 0 ) ;
obj . put ( "mgs" , "增加成功~" ) ;
} else {
obj . put ( "code" , 200 ) ;
obj . put ( "mgs" , "增加失败~" ) ;
}
return obj ;
}
@RequestMapping ( "updateSchedulePrice" )
@ResponseBody
public JSONObject updateSchedulePrice ( @RequestParam ( "schedule_id" ) long schedule_id , @RequestParam ( "schedule_price" ) int schedule_price ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = new Schedule ( ) ;
schedule . setSchedule_id ( schedule_id ) ;
schedule . setSchedule_price ( schedule_price ) ;
Integer rs = this . scheduleService . updateSchedule ( schedule ) ;
if ( rs > 0 ) {
obj . put ( "code" , 0 ) ;
obj . put ( "mgs" , "修改成功~" ) ;
} else {
obj . put ( "code" , 200 ) ;
obj . put ( "mgs" , "修改失败~" ) ;
}
return obj ;
}
@RequestMapping ( "offlineSchedule" )
@ResponseBody
public JSONObject offlineSchedule ( @RequestParam ( "schedule_id" ) long schedule_id ) {
JSONObject obj = new JSONObject ( ) ;
Integer rs = this . scheduleService . deleteSchedule ( schedule_id ) ;
if ( rs > 0 ) {
obj . put ( "code" , 0 ) ;
obj . put ( "mgs" , "下架成功~" ) ;
} else {
obj . put ( "code" , 200 ) ;
obj . put ( "mgs" , "下架失败~" ) ;
}
return obj ;
}
/ * *
* 测 试 类 Api 根 据 电 影 id 找 到 所 有 放 映 该 电 影 的 影 院 列 表
* @param movie_id
* @return
* /
@RequestMapping ( "findCinemasByMovieId" )
@ResponseBody
public JSONObject findCinemasByMovieId ( @RequestParam ( "movie_id" ) long movie_id ) {
JSONObject obj = new JSONObject ( ) ;
List < Cinema > list = this . cinemaService . findCinemasByMovieId ( movie_id ) ;
obj . put ( "code" , 0 ) ;
obj . put ( "count" , list . size ( ) ) ;
obj . put ( "data" , list ) ;
return obj ;
}
/ * *
* 测 试 专 用 api
* /
@RequestMapping ( "testHall" )
@ResponseBody
public JSONObject testHall ( @RequestParam ( "hall_name" ) String hall_name , @RequestParam ( "cinema_name" ) String cinema_name ) {
Hall hall = this . hallService . findHallByCinemaAndHallName ( cinema_name , hall_name ) ;
JSONObject obj = new JSONObject ( ) ;
obj . put ( "data" , hall ) ;
return obj ;
}
}
// 注入场次服务层接口,用于调用场次相关的业务逻辑方法,如查询、添加、修改、删除场次等操作。
@Resource
private IScheduleService scheduleService ;
// 注入电影服务层接口,用于获取电影相关信息,例如根据电影名查找电影编号等操作,辅助场次相关业务逻辑处理。
@Resource
private IMovieService movieService ;
// 注入影院服务层接口,用于获取影院相关信息,可能在查询场次与影院关联等业务场景中使用。
@Resource
private ICinemaService cinemaService ;
// 注入放映厅服务层接口,用于获取放映厅相关信息,比如根据影院和放映厅名称查找放映厅等操作,与场次的关联查询等业务有关。
@Resource
private IHallService hallService ;
/ * *
* 根 据 场 次 编 号 查 找 场 次 信 息 的 方 法 , 处 理 根 据 唯 一 标 识 符 查 询 场 次 详 情 的 请 求 。
* 接 收 场 次 编 号 作 为 参 数 , 调 用 scheduleService 的 查 询 方 法 获 取 对 应 的 场 次 对 象 ,
* 将 查 询 结 果 封 装 到 JSONObject 中 , 设 置 状 态 码 为 0 , 并 将 场 次 数 据 放 入 "data" 字 段 后 返 回 。
*
* @param schedule_id 要 查 询 的 场 次 的 唯 一 标 识 符 。
* @return JSONObject 包 含 场 次 查 询 结 果 信 息 的 JSON 对 象 , 其 中 "code" 表 示 状 态 码 , "data" 存 放 场 次 对 象 信 息 。
* /
@RequestMapping ( "findScheduleById" )
@ResponseBody
public JSONObject findScheduleById ( @RequestParam ( "schedule_id" ) long schedule_id ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = scheduleService . findScheduleById ( schedule_id ) ;
obj . put ( "code" , 0 ) ;
obj . put ( "data" , schedule ) ;
return obj ;
}
/ * *
* 根 据 场 次 状 态 分 页 查 询 场 次 信 息 的 方 法 , 处 理 按 场 次 状 态 筛 选 场 次 并 分 页 展 示 的 请 求 。
* 接 收 页 码 、 每 页 显 示 数 量 以 及 场 次 状 态 作 为 参 数 , 调 用 scheduleService 的 对 应 方 法 获 取 符 合 条 件 的 场 次 信 息 分 页 结 果 。
* 同 时 , 遍 历 场 次 列 表 , 计 算 每 个 场 次 对 应 的 订 单 收 入 总 和 , 将 收 入 数 据 存 入 incomeArr 列 表 中 。
* 最 后 将 状 态 码 、 总 记 录 数 、 场 次 列 表 以 及 收 入 列 表 等 信 息 封 装 到 JSONObject 中 返 回 。
*
* @param page 当 前 页 码 , 默 认 值 为 1 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param limit 每 页 显 示 的 场 次 数 量 , 默 认 值 为 10 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param schedule_state 用 于 筛 选 场 次 的 状 态 值 , 例 如 1 表 示 上 映 中 , 0 表 示 下 架 等 。
* @return JSONObject 包 含 按 状 态 分 页 查 询 场 次 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" ( 状 态 码 ) 、 "count" ( 总 记 录 数 ) 、 "data" ( 场 次 列 表 ) 、 "income" ( 各 场 次 收 入 列 表 ) 等 字 段 。
* /
@RequestMapping ( "findAllScheduleByState" )
@ResponseBody
public JSONObject findAllScheduleByState ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page ,
@RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit ,
@RequestParam ( "schedule_state" ) int schedule_state ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findAllScheduleByState ( page , limit , schedule_state ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
/ * *
* 分 页 查 询 所 有 场 次 信 息 的 方 法 , 处 理 查 询 所 有 场 次 信 息 并 进 行 相 关 综 合 数 据 整 合 的 请 求 。
* 接 收 页 码 和 每 页 显 示 数 量 作 为 参 数 , 调 用 scheduleService 的 方 法 获 取 场 次 信 息 分 页 结 果 。
* 同 时 , 获 取 所 有 正 在 上 映 的 电 影 列 表 、 所 有 影 院 列 表 , 计 算 每 个 场 次 的 收 入 总 和 , 整 理 出 电 影 名 称 列 表 、 影 院 相 关 信 息 列 表 ( 包 含 各 影 院 下 的 放 映 厅 名 称 列 表 ) 以 及 收 入 列 表 等 。
* 最 后 将 这 些 数 据 ( 状 态 码 、 总 记 录 数 、 场 次 列 表 、 电 影 名 称 列 表 、 影 院 信 息 列 表 、 收 入 列 表 ) 封 装 到 JSONObject 中 返 回 。
*
* @param page 当 前 页 码 , 默 认 值 为 1 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param limit 每 页 显 示 的 场 次 数 量 , 默 认 值 为 10 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @return JSONObject 包 含 所 有 场 次 查 询 结 果 及 相 关 综 合 信 息 的 JSON 对 象 , 包 含 多 个 字 段 用 于 存 放 不 同 类 型 的 数 据 , 如 "code" 、 "count" 、 "data" 、 "movieName" 、 "cinema" 、 "income" 等 。
* /
@RequestMapping ( "findAllSchedule" )
@ResponseBody
public JSONObject findAllSchedule ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page ,
@RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findAllSchedule ( page , limit ) ;
List < Movie > movieList = movieService . findAllMovies ( 1 ) ;
List < Cinema > cinemaList = cinemaService . findAllCinemas ( ) ;
ArrayList < String > movieArr = new ArrayList < String > ( ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
for ( int i = 0 ; i < movieList . size ( ) ; i + + ) {
movieArr . add ( movieList . get ( i ) . getMovie_cn_name ( ) ) ;
}
ArrayList < Object > cinema = new ArrayList < > ( ) ;
for ( int i = 0 ; i < cinemaList . size ( ) ; i + + ) {
JSONObject cinemaObj = new JSONObject ( ) ;
List < Hall > hallList = hallService . findHallByCinemaId ( cinemaList . get ( i ) . getCinema_id ( ) ) ;
ArrayList < String > hallArr = new ArrayList < String > ( ) ;
for ( int j = 0 ; j < hallList . size ( ) ; j + + ) {
hallArr . add ( hallList . get ( j ) . getHall_name ( ) ) ;
}
cinemaObj . put ( cinemaList . get ( i ) . getCinema_name ( ) , hallList ) ;
cinema . add ( cinemaObj ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "movieName" , movieArr ) ;
obj . put ( "cinema" , cinema ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
/ * *
* 根 据 电 影 名 称 分 页 查 询 场 次 信 息 的 方 法 , 处 理 按 电 影 名 称 筛 选 场 次 并 分 页 展 示 的 请 求 。
* 接 收 页 码 、 每 页 显 示 数 量 以 及 电 影 名 称 作 为 参 数 , 调 用 scheduleService 的 对 应 方 法 获 取 符 合 条 件 的 场 次 信 息 分 页 结 果 。
* 同 样 , 会 计 算 每 个 场 次 对 应 的 订 单 收 入 总 和 , 将 收 入 数 据 存 入 incomeArr 列 表 中 , 最 后 将 相 关 信 息 封 装 到 JSONObject 中 返 回 。
*
* @param page 当 前 页 码 , 默 认 值 为 1 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param limit 每 页 显 示 的 场 次 数 量 , 默 认 值 为 10 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param movie_name 用 于 筛 选 场 次 的 电 影 名 称 。
* @return JSONObject 包 含 按 电 影 名 称 分 页 查 询 场 次 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" 、 "count" 、 "data" 、 "income" 等 字 段 用 于 传 递 相 应 数 据 。
* /
@RequestMapping ( "findScheduleByMovieName" )
@ResponseBody
public JSONObject findScheduleByMovieName ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page ,
@RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit ,
@RequestParam ( "movie_name" ) String movie_name ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findScheduleByMovieName ( page , limit , movie_name ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
/ * *
* 根 据 电 影 名 称 分 页 查 询 已 下 架 场 次 信 息 的 方 法 , 处 理 按 电 影 名 称 筛 选 已 下 架 场 次 并 分 页 展 示 的 请 求 。
* 与 findScheduleByMovieName 类 似 , 接 收 页 码 、 每 页 显 示 数 量 以 及 电 影 名 称 作 为 参 数 , 调 用 scheduleService 的 对 应 方 法 获 取 符 合 条 件 的 已 下 架 场 次 信 息 分 页 结 果 ,
* 计 算 各 场 次 收 入 并 存 入 incomeArr 列 表 , 最 后 将 相 关 信 息 封 装 到 JSONObject 中 返 回 。
*
* @param page 当 前 页 码 , 默 认 值 为 1 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param limit 每 页 显 示 的 场 次 数 量 , 默 认 值 为 10 , 如 果 请 求 中 未 传 递 则 使 用 该 默 认 值 。
* @param movie_name 用 于 筛 选 已 下 架 场 次 的 电 影 名 称 。
* @return JSONObject 包 含 按 电 影 名 称 分 页 查 询 已 下 架 场 次 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" 、 "count" 、 "data" 、 "income" 等 字 段 传 递 相 应 数 据 。
* /
@RequestMapping ( "findOffScheduleByMovieName" )
@ResponseBody
public JSONObject findOffScheduleByMovieName ( @RequestParam ( value = "page" , defaultValue = "1" ) Integer page ,
@RequestParam ( value = "limit" , defaultValue = "10" ) Integer limit ,
@RequestParam ( "movie_name" ) String movie_name ) {
JSONObject obj = new JSONObject ( ) ;
PageInfo < Schedule > info = scheduleService . findOffScheduleByMovieName ( page , limit , movie_name ) ;
ArrayList < Integer > incomeArr = new ArrayList < Integer > ( ) ;
for ( int j = 0 ; j < info . getList ( ) . size ( ) ; j + + ) {
List < Order > orderList = info . getList ( ) . get ( j ) . getOrderList ( ) ;
int income = 0 ;
for ( int i = 0 ; i < orderList . size ( ) ; i + + ) {
income + = orderList . get ( i ) . getOrder_price ( ) ;
}
incomeArr . add ( income ) ;
}
obj . put ( "code" , 0 ) ;
obj . put ( "count" , info . getTotal ( ) ) ;
obj . put ( "data" , info . getList ( ) ) ;
obj . put ( "income" , incomeArr ) ;
return obj ;
}
/ * *
* 根 据 影 院 编 号 和 电 影 编 号 查 找 场 次 信 息 的 方 法 , 处 理 按 影 院 和 电 影 关 联 查 询 场 次 的 请 求 。
* 接 收 影 院 编 号 和 电 影 编 号 作 为 参 数 , 调 用 scheduleService 的 对 应 方 法 获 取 符 合 条 件 的 场 次 列 表 ,
* 将 状 态 码 、 列 表 大 小 以 及 场 次 列 表 信 息 封 装 到 JSONObject 中 返 回 。
*
* @param cinema_id 要 查 询 场 次 对 应 的 影 院 的 唯 一 标 识 符 。
* @param movie_id 要 查 询 场 次 对 应 的 电 影 的 唯 一 标 识 符 。
* @return JSONObject 包 含 按 影 院 和 电 影 关 联 查 询 场 次 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" 、 "count" 、 "data" 等 字 段 传 递 相 应 数 据 。
* /
@RequestMapping ( "findScheduleByCinemaAndMovie" )
@ResponseBody
public JSONObject findScheduleByCinemaAndMovie ( @RequestParam ( "cinema_id" ) long cinema_id ,
@RequestParam ( "movie_id" ) long movie_id ) {
JSONObject obj = new JSONObject ( ) ;
List < Schedule > list = scheduleService . findScheduleByCineamIdAndMovieId ( cinema_id , movie_id ) ;
obj . put ( "code" , 0 ) ;
obj . put ( "count" , list . size ( ) ) ;
obj . put ( "data" , list ) ;
return obj ;
}
/ * *
* 添 加 场 次 信 息 的 方 法 , 处 理 添 加 新 场 次 的 请 求 。
* 接 收 电 影 名 称 、 放 映 厅 名 称 、 影 院 名 称 、 场 次 价 格 以 及 场 次 开 始 时 间 等 参 数 , 通 过 调 用 相 关 服 务 层 方 法 获 取 对 应 的 电 影 、 放 映 厅 等 对 象 信 息 ,
* 设 置 场 次 对 象 的 各 项 属 性 ( 如 电 影 编 号 、 放 映 厅 编 号 、 价 格 、 开 始 时 间 、 剩 余 座 位 数 等 ) , 然 后 调 用 scheduleService 的 添 加 方 法 将 场 次 信 息 保 存 到 数 据 库 中 。
* 根 据 保 存 结 果 , 在 JSONObject 中 设 置 不 同 的 状 态 码 和 提 示 消 息 后 返 回 。
*
* @param movie_name 要 添 加 场 次 对 应 的 电 影 名 称 。
* @param hall_name 要 添 加 场 次 对 应 的 放 映 厅 名 称 。
* @param cinema_name 要 添 加 场 次 对 应 的 影 院 名 称 。
* @param schedule_price 要 添 加 场 次 的 售 价 。
* @param schedule_startTime 要 添 加 场 次 的 开 始 时 间 , 格 式 需 符 合 业 务 要 求 。
* @return JSONObject 包 含 场 次 添 加 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" ( 状 态 码 ) 和 "mgs" ( 提 示 消 息 ) 字 段 传 递 相 应 数 据 。
* /
@RequestMapping ( "addSchedule" )
@ResponseBody
public JSONObject addSchedule ( @RequestParam ( "movie_name" ) String movie_name ,
@RequestParam ( "hall_name" ) String hall_name ,
@RequestParam ( "cinema_name" ) String cinema_name ,
@RequestParam ( "schedule_price" ) int schedule_price ,
@RequestParam ( "schedule_startTime" ) String schedule_startTime ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = new Schedule ( ) ;
Hall hall = this . hallService . findHallByCinemaAndHallName ( cinema_name , hall_name ) ;
schedule . setMovie_id ( this . movieService . findMovieByName ( movie_name ) . getMovie_id ( ) ) ;
schedule . setHall_id ( hall . getHall_id ( ) ) ;
schedule . setSchedule_price ( schedule_price ) ;
schedule . setSchedule_startTime ( schedule_startTime ) ;
schedule . setSchedule_remain ( hall . getHall_capacity ( ) ) ;
Integer rs = this . scheduleService . addSchedule ( schedule ) ;
if ( rs > 0 ) {
obj . put ( "code" , 0 ) ;
obj . put ( "mgs" , "增加成功~" ) ;
} else {
obj . put ( "code" , 200 ) ;
obj . put ( "mgs" , "增加失败~" ) ;
}
return obj ;
}
/ * *
* 修 改 场 次 价 格 的 方 法 , 处 理 修 改 指 定 场 次 价 格 的 请 求 。
* 接 收 场 次 编 号 和 新 的 场 次 价 格 作 为 参 数 , 创 建 场 次 对 象 并 设 置 其 编 号 和 新 价 格 属 性 ,
* 调 用 scheduleService 的 更 新 方 法 对 场 次 价 格 进 行 修 改 , 根 据 修 改 结 果 在 JSONObject 中 设 置 不 同 的 状 态 码 和 提 示 消 息 后 返 回 。
*
* @param schedule_id 要 修 改 价 格 的 场 次 的 唯 一 标 识 符 。
* @param schedule_price 要 修 改 后 的 场 次 价 格 。
* @return JSONObject 包 含 场 次 价 格 修 改 结 果 相 关 信 息 的 JSON 对 象 , 包 含 "code" ( 状 态 码 ) 和 "mgs" ( 提 示 消 息 ) 字 段 传 递 相 应 数 据 。
* /
@RequestMapping ( "updateSchedulePrice" )
@ResponseBody
public JSONObject updateSchedulePrice ( @RequestParam ( "schedule_id" ) long schedule_id ,
@RequestParam ( "schedule_price" ) int schedule_price ) {
JSONObject obj = new JSONObject ( ) ;
Schedule schedule = new Schedule ( ) ;
schedule . setSchedule_id ( schedule_id ) ;
schedule . setSchedule_price ( schedule_price ) ;
Integer rs = this . scheduleService . updateSchedule ( schedule ) ;
if ( rs > 0 ) {
obj . put ( "code" , 0 ) ;
obj . put ( "mgs" , "修改成功~" ) ;
} else {
obj . put ( "code" , 200 ) ;
obj . put ( "mgs" , "修改失败~" ) ;
}
return obj ;
}