1.服务定义 config/service.php中定义了所有服务的列表,每个返回必须在该文件重定义,并在相应的代码中检测服务状态才可以正常使用。 2.服务状态检测 models/service.php 检测一个用户是否有权使用某项服务 int checkUser(int user_id,int school_id,int service_id) 返回值>0则用户有权使用 检测一个学校是否开通某项服务 int checkSchool(int school_id,int service_id) 返回值>0则学校开通了该服务 3.测试:计算一个服务包的订购周期 php index.php script tester_service_cycle 2017-09-30 例如在2017-09-30 09:00:00订购一个包月的业务: $ php index.php script tester_service_cycle month '2017-09-30 09:00:00' 2017-09-30 09:00:00 month 2017-09-30 09:00:00 2017-10-31 23:59:59 经计算该包月业务的有效期是2017-09-30 09:00:00至2017-10-31 23:59:59 也可以不加任何参数运行脚本,导出2016-2017年所有日期订购时对应的服务包有效期,注意2016年是闰年。 php index.php script tester_service_cycle 4.测试:检测一个用户是否可以访问某个服务 $ php index.php script tester_service 0 80001 1001031 104048817 service_id=80001 school_id=1001031 user_id=104048817 nocache=0 value=2 v=1970-01-01 08:00:02 $ php index.php script tester_service 0 80011 1001031 104048817 service_id=80011 school_id=1001031 user_id=104048817 nocache=0 value=1509465599 v=2017-10-31 23:59:59 其中80001、80011分别是服务的ID,1001031是学校ID,104048817是学生的ID value=2 免费服务,学校已开通 value=1509465599 收费服务,学校已开通,v是用户订单的截止日期 vaule<0 时用户未订购该服务或者学校关闭了该服务 5.测试:检测一个学校是否开通了某个服务 $ php index.php script tester_service 0 80002 1001031 service_id=80002 school_id=1001031 user_id=0 nocache=0 value=-1 v=- 同检测一个用户是否可以访问某个服务,只是参数少了最后的学生ID,返回值含义也相同