中康相关
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