1.服务定义
config/service.php中定义了所有服务的列表,每个返回必须在该文件重定义,并在相应的代码中检测服务状态才可以正常使用。
2.服务状态检测
models/service.php
检测一个用户是否有权使用某项服务
int checkUser(int userid,int schoolid,int service_id)
返回值>0则用户有权使用
检测一个学校是否开通某项服务
int checkSchool(int schoolid,int serviceid)
返回值>0则学校开通了该服务
3.测试:计算一个服务包的订购周期
php index.php script testerservicecycle <month|study-period|year> 2017-09-30
例如在2017-09-30 09:00:00订购一个包月的业务:
$ php index.php script testerservicecycle 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 testerservicecycle
4.测试:检测一个用户是否可以访问某个服务
$ php index.php script tester_service 0 80001 1001031 104048817
serviceid=80001 schoolid=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
serviceid=80011 schoolid=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
serviceid=80002 schoolid=1001031 user_id=0 nocache=0 value=-1 v=-
同检测一个用户是否可以访问某个服务,只是参数少了最后的学生ID,返回值含义也相同