中康相关
parent
72700c0702
commit
1e2a70e4dc
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\API\H5;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Lib\Tools;
|
||||
use App\Services\ZhongKangService;
|
||||
use Exception;
|
||||
|
||||
class ZhongKangController extends Controller
|
||||
{
|
||||
|
||||
|
||||
|
||||
//查询核销码
|
||||
public function GetHexiaoCode(){
|
||||
$code_num = request('code_num');
|
||||
$user_name = request('user_name');
|
||||
$user_id_number = request('user_id_number');
|
||||
$type = request('type');
|
||||
$service=new ZhongKangService();
|
||||
//$service->GetHexiaoCode($code_num,$user_name,$user_id_number);
|
||||
dd($service->HandleTransferCode($type,$code_num,$user_name,$user_id_number));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
namespace App\Services;
|
||||
|
||||
use App\Lib\Tools;
|
||||
use Exception;
|
||||
|
||||
class ZhongKangService
|
||||
{
|
||||
private $channelSecret='fa7c9de77b0aad6ff176d7ba76827658'; //测试环境
|
||||
//private $channelSecret='3fe0b8b5e600d38506c65321a0979690'; //正式环境
|
||||
|
||||
private $BaseUrl='https://dev.viptijian.com/thirdchannel/hnxd/'; //测试环境
|
||||
//private $BaseUrl='https://backserv.viptijian.com/thirdchannel/hnxd/'; //正式环境
|
||||
|
||||
//查询核销码
|
||||
public function GetHexiaoCode($code_num,$user_name,$user_id_number){
|
||||
$data=[
|
||||
'code_num'=>$code_num,
|
||||
'timestamp'=> round(microtime(true) * 1000),
|
||||
];
|
||||
$sign=$this->sign($data,$this->channelSecret);
|
||||
$data['sign']=$sign;
|
||||
$query_string = http_build_query($data);
|
||||
$send_data=[
|
||||
'code_num'=>$code_num,
|
||||
'user_name'=>$user_name,
|
||||
'user_id_number'=>$user_id_number,
|
||||
];
|
||||
$Tools=new Tools();
|
||||
return $Tools->Post($this->BaseUrl.'order/getVerifyCode?'.$query_string,$send_data,'查询核销码','中康');
|
||||
}
|
||||
public function HandleTransferCode($type,$code_num,$user_name,$user_id_number){
|
||||
$data=[
|
||||
'code_num'=>$code_num,
|
||||
'timestamp'=> round(microtime(true) * 1000),
|
||||
];
|
||||
$sign=$this->sign($data,$this->channelSecret);
|
||||
$data['sign']=$sign;
|
||||
$query_string = http_build_query($data);
|
||||
$send_data=[
|
||||
'type'=>$type,
|
||||
'code_num'=>$code_num,
|
||||
'user_name'=>$user_name,
|
||||
'user_id_number'=>$user_id_number,
|
||||
];
|
||||
$Tools=new Tools();
|
||||
return $Tools->Post($this->BaseUrl.'order/completeVerify?'.$query_string,$send_data,'操作核销码','中康');
|
||||
}
|
||||
function sign($params, $channelSecret) {
|
||||
// 移除可能存在的sign参数
|
||||
unset($params['sign']);
|
||||
|
||||
// 对参数键名进行字典顺序排序
|
||||
ksort($params);
|
||||
|
||||
// 拼接排序后的参数
|
||||
$paramStr = '';
|
||||
foreach ($params as $key => $value) {
|
||||
if ($key != 'sign') {
|
||||
$paramStr .= $key . $value;
|
||||
}
|
||||
}
|
||||
|
||||
// 生成签名
|
||||
try {
|
||||
$calcSign = hash_hmac('sha256', $paramStr, $channelSecret, false);
|
||||
return strtoupper($calcSign);
|
||||
} catch (Exception $ex) {
|
||||
error_log("加密失败: " . $ex->getMessage());
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue