**项目使用maven构建,jdk版本为1.7.0_79,maven版本为3.3.9**
类文件说明
- BadmintonSystem 羽毛球场地管理系统类
- Order 订单类
- Site 场地类
- InputDto 格式化输入类
- MessageEnum 打印消息枚举类
- Utils 时间处理及输入验证工具类
**运行方式**
**在jar包所在文件夹下打开命令行窗口,输入以下命令**
**java -jar badmintonSystem.jar**
如图1所示(输入命令后输入空格)
图1**接下来是测试用例的输入**
**输入错误字符**
- abcdefghijklmnopqrst1234567890
**预定时间段错误**
- U001 2016-06-02 22:00~22:00 A
**预定时间段非整点**
- U001 2016-06-02 16:23~19:45 A
**输入错误场地,不存在E场地**
- U001 2016-06-02 22:00~22:00 E
**预定时间非法**
- U001 2016-06-31 22:00~22:00 A
如图2所示
图2**接下来是成功预定的测试用例**
**预定A场地周二的19点到22点,费用为80+60*2=200**
- U002 2017-08-01 19:00~22:00 A
**预定B场地周三的13点到17点,费用为50*4=200**
- U003 2017-08-02 13:00~17:00 B
**预定C场地的15点到16点,费用为50**
- U004 2017-08-03 15:00~16:00 C
**预定周六的9点到11点,费用为40*2=80**
- U005 2017-08-05 09:00~11:00 D
如图3所示
图三**当你预定已被预订的场地的时间段时,则无法成功预定**
如图4所示
图4**接下来进行取消操作(要求必须是预定者取消,而且取消日期和时间段必须和所预定相同)**
**U002想取消19点到21点,但是他之前预定了19到22点,所以取消失败**
- U002 2017-08-01 19:00~21:00 A C
**U003想取消A场地19点到22点,但是该时间段不是他预定的而是U002,所以取消失败**
- U003 2017-08-01 19:00~22:00 A C
**U002想取消A场地19点到22点,场地日期时间段均符合,取消成功(取消的是周二的,违约金为50%*200=100)**
- U002 2017-08-01 19:00~22:00 A C
如图5所示
图5**取消周六的预定场地**
**U005想取消9点到10点,但是他之前预定了9到11点,所以取消失败**
- U005 2017-08-05 09:00~10:00 D C
**U002想取消D场地9点到11点,但是该时间段不是他预定的而是U005,所以取消失败**
- U002 2017-08-05 09:00~11:00 D C
**U005想取消D场地9点到11点,场地日期时间段均符合,取消成功(取消的是周六的,违约金为25%*80=20)**
- U005 2017-08-05 09:00~11:00 D C
如图6所示
图6**被取消的仍可以被预定**
- U005 2017-08-05 09:00~11:00 D
如图7
图7同一场地的订单按时间排序
- U005 2017-08-05 11:00~15:00 D
- U005 2017-08-08 11:00~15:00 D
- U005 2017-08-08 19:00~20:00 D
如图8
图8
网友评论