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_user($appid,$convert_sn,$mobile) { $data = []; $data['appid'] = $appid; $data['convert_sn'] = $convert_sn; $data['convert_type'] = 'user'; $data['add_time'] = time(); $data['user_mobile'] = $mobile; $model = Model(); $insertid = $model->table('goods_convert')->insert($data); return ($insertid > 0); } 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); } }