1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 2018/12/12
- * Time: 11:13 AM
- */
- namespace openapi;
- class Convertor
- {
- private $fields = [];
- public function __construct($fields)
- {
- $this->fields = $fields;
- //['appid','convert_sn','batch_code','commonid','time','appkey','mobile','convert_type'];
- }
- public function exist($convert_sn,$appid)
- {
- $model = Model();
- $items = $model->table('goods_convert')->where(['convert_sn' => $convert_sn, 'appid' => $appid])->master(true)->select();
- return !empty($items);
- }
- public function add_fcode($appid,$convert_sn,$batch_code,$commonid,$fcode,$mobile)
- {
- $data = [];
- $data['appid'] = $appid;
- $data['convert_sn'] = $convert_sn;
- $data['convert_type'] = 'fcode';
- $data['batch_code'] = $batch_code;
- $data['goods_commonid'] = $commonid;
- $data['add_time'] = time();
- $data['goods_fcode'] = $fcode;
- $data['user_mobile'] = $mobile;
- $model = Model();
- $insertid = $model->table('goods_convert')->insert($data);
- return ($insertid > 0);
- }
- private function presign_body($input)
- {
- ksort($input);
- reset($input);
- $params = [];
- foreach ($input as $key => $val)
- {
- if(in_array($key,$this->fields)) {
- $params[] = "{$key}={$val}";
- }
- }
- return implode('&',$params);
- }
- public function verify($input)
- {
- $signed = $input['signed'];
- $appid = $input['appid'];
- if(empty($signed) || empty($appid)) return false;
- $signed = base64_decode($signed);
- $body = $this->presign_body($input);
- return KeyManager::instance()->verify($appid,$body,$signed);
- }
- }
|