|
@@ -68,7 +68,7 @@ class ApiAction extends Action {
|
|
|
//获取随机元素的一个集合
|
|
|
$list = $redis->sRandMember('plate_preselect_pool',20);
|
|
|
//var_dump($list);
|
|
|
- echo 'sRandMember: '.(microtime(true)-$start)*1000 .' ms'.PHP_EOL;
|
|
|
+ //echo 'sRandMember: '.(microtime(true)-$start)*1000 .' ms'.PHP_EOL;
|
|
|
|
|
|
return $list;
|
|
|
}
|
|
@@ -76,6 +76,7 @@ class ApiAction extends Action {
|
|
|
|
|
|
public function token_verify( $appkey, $timestamp, $random, $token ){
|
|
|
$old_token = base64_encode(md5($appkey . C('APPSECREAT') . $timestamp . $random));
|
|
|
+ //echo $old_token;exit;
|
|
|
if($old_token != $token){
|
|
|
json_fail('token无效!');
|
|
|
}
|
|
@@ -472,28 +473,46 @@ class ApiAction extends Action {
|
|
|
|
|
|
|
|
|
public function setOrderNumber( ){
|
|
|
- $order_id = rand(10000000,99999999);
|
|
|
- $res = M('jms_order')->where(array('OrderNumber'=>$order_id_main))->find();
|
|
|
- if($res){
|
|
|
- json_fail('订单号生成失败');
|
|
|
+ $i = 0;
|
|
|
+ while($i < 100){
|
|
|
+ $order_id = rand(10000000,99999999);
|
|
|
+ $res = M('jms_order')->where(array('OrderNumber'=>$order_id_main))->find();
|
|
|
+ if(!$res){
|
|
|
+ return $order_id;
|
|
|
+ }
|
|
|
+ $i++;
|
|
|
}
|
|
|
- return $order_id;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
public function releaseRedisExpiredLicenseplate( ){
|
|
|
+ $config = parse_url(C('REDIS_DSN'));
|
|
|
+ $redis = new Redis();
|
|
|
+ $redis->connect($config["host"],$config["port"]?:6379);
|
|
|
+ $redis->auth($config["pass"]?: "");
|
|
|
+ $redis->select(trim($config['path'],'//') ? : 0);
|
|
|
|
|
|
- $redis = Redis("wjw_plate","hash");
|
|
|
- $all = $redis->tables('*');
|
|
|
-
|
|
|
- exit;
|
|
|
- $it = NULL;
|
|
|
- $pattern = '*';
|
|
|
- $count = 50; // 每次遍历50条,注意是遍历50条,遍历出来的50条key还要去匹配你的模式,所以并不等于就能够取出50条key
|
|
|
- $keysArr = $redis->scan($it, $pattern, $count);
|
|
|
-
|
|
|
- var_dump($keysArr);
|
|
|
+ $all = $redis->hgetall('wjw_plate');
|
|
|
+ foreach($all as $key=>$val){
|
|
|
+ $data = json_decode($val,true);
|
|
|
+ $orderstatus = M('jms_order')->where(array('LicensePlate'=>$key))->getField('OrderStatus');
|
|
|
+ if($orderstatus == 1){
|
|
|
+ $time = time() - (C('EXPIREIN')*60);
|
|
|
+ if($time > $data['Timestamp']){
|
|
|
+ $p = Redis("wjw_plate","hash");
|
|
|
+ $res = $p->where($key)->delete();
|
|
|
+ if(!$res){
|
|
|
+ json_fain('删除过期车牌失败');
|
|
|
+ }
|
|
|
+ $result = $redis->sAdd('plate_preselect_pool' , $key);
|
|
|
+ if(!$result){
|
|
|
+ json_fain('释放过期车牌失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ json_success('执行完毕');
|
|
|
}
|
|
|
|
|
|
|