初始化项目
This commit is contained in:
@@ -0,0 +1,247 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2017~2023 https://www.yiovo.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: 萤火科技 <admin@yiovo.com>
|
||||
// +----------------------------------------------------------------------
|
||||
declare (strict_types=1);
|
||||
|
||||
namespace app\common\service;
|
||||
|
||||
use app\common\library\helper;
|
||||
use app\common\crypto\Idingju;
|
||||
|
||||
/**
|
||||
* 随机数据类
|
||||
* Class SybOil
|
||||
* @package app\store\service
|
||||
*/
|
||||
class IdingjuOil extends BaseService
|
||||
{
|
||||
public function mk_dir_store($dir, $mode = 0777)
|
||||
{
|
||||
if (is_dir($dir) || @mkdir($dir,$mode)) return true;
|
||||
if (!$this->mk_dir_store(dirname($dir),$mode)) return false;
|
||||
return @mkdir($dir,$mode);
|
||||
}
|
||||
|
||||
/** 记录日志
|
||||
* @param $data
|
||||
*/
|
||||
public function saveLogStore($data){
|
||||
$years = date('Ym');
|
||||
$day = date('Ymd');
|
||||
//设置路径目录信息
|
||||
$dir = runtime_path('storelog/').$years.'/'.$day;
|
||||
//目录不存在就创建
|
||||
$this->mk_dir_store($dir);
|
||||
$url = $dir.'/'.date('YmdH').'.txt';
|
||||
$fp = @fopen($url,"a");//打开文件资源通道 不存在则自动创建
|
||||
@fwrite($fp,date("Y-m-d H:i:s ").var_export($data,true)."\r\n");//写入文件
|
||||
@fclose($fp);//关闭资源通道
|
||||
}
|
||||
|
||||
/** 油站查询
|
||||
* @param $data
|
||||
* @param $company
|
||||
* @return array|mixed|string[]
|
||||
*/
|
||||
public function baseGasStationList($data, $company)
|
||||
{
|
||||
$tool = new Idingju($company);
|
||||
// 1,获取Token
|
||||
$accessToken = $tool->getToken($company['orgNo']);
|
||||
$url = '/api/cnpcbp/stations';
|
||||
|
||||
$api = $tool->prefixUrl.$url;
|
||||
|
||||
// 2,组装参数
|
||||
$params = [
|
||||
'lng' => $data['longitude']??'',
|
||||
'lat' => $data['latitude']??'',
|
||||
'page' => $data['pageNum']??'1',
|
||||
];
|
||||
|
||||
// 3,获取签名
|
||||
$timestamp = time();
|
||||
$get = [
|
||||
'access_token' => $accessToken,
|
||||
'timestamp' => $timestamp,
|
||||
'signature' => $tool->signature($params,$accessToken,$timestamp,$url), // 获取签名
|
||||
];
|
||||
$httpUrl = $api.'?'.http_build_query($get); // 拼接url
|
||||
|
||||
$header = [
|
||||
'Content-Type: application/json',
|
||||
];
|
||||
// 4,调用业务接口
|
||||
$json = json_encode($params);
|
||||
$ret = $tool->request($httpUrl,$json,'post',$header);
|
||||
$this->saveLogStore("油站查询".$ret);
|
||||
return json_decode($ret, true);
|
||||
}
|
||||
|
||||
/** 油券库存
|
||||
* @param $data
|
||||
* @param $company
|
||||
* @return array|mixed|string[]
|
||||
*/
|
||||
public function stockList($data, $company)
|
||||
{
|
||||
$tool = new Idingju($company);
|
||||
// 1,获取Token
|
||||
$accessToken = $tool->getToken($company['orgNo']);
|
||||
$url = '/api/cnpcbp/queryStock';
|
||||
|
||||
$api = $tool->prefixUrl.$url;
|
||||
|
||||
// 2,组装参数
|
||||
$params = [
|
||||
'shortname' => $data['goodsNo'] ?? '',
|
||||
];
|
||||
|
||||
// 3,获取签名
|
||||
$timestamp = time();
|
||||
$get = [
|
||||
'access_token' => $accessToken,
|
||||
'timestamp' => $timestamp,
|
||||
'signature' => $tool->signature($params,$accessToken,$timestamp,$url), // 获取签名
|
||||
];
|
||||
$httpUrl = $api.'?'.http_build_query($get); // 拼接url
|
||||
|
||||
$header = [
|
||||
'Content-Type: application/json',
|
||||
];
|
||||
// 4,调用业务接口
|
||||
$json = json_encode($params);
|
||||
$ret = $tool->request($httpUrl,$json,'post',$header);
|
||||
$this->saveLogStore("库存查询【".$data['goodsNo']."】".json_encode(json_decode($ret, true),320));
|
||||
return json_decode($ret, true);
|
||||
}
|
||||
|
||||
/** 油卡查询
|
||||
* @param $data
|
||||
* @param $company
|
||||
* @return array|mixed|string[]
|
||||
*/
|
||||
public function oilOilCardSelect($data, $company)
|
||||
{
|
||||
$tool = new Idingju($company);
|
||||
// 1,获取Token
|
||||
$accessToken = $tool->getToken($company['orgNo']);
|
||||
$url = '/api/cnpcbp/detail';
|
||||
|
||||
$api = $tool->prefixUrl.$url;
|
||||
|
||||
// 2,组装参数
|
||||
$params = [
|
||||
'out_order_id' => '',
|
||||
];
|
||||
|
||||
// 3,获取签名
|
||||
$timestamp = time();
|
||||
$get = [
|
||||
'access_token' => $accessToken,
|
||||
'timestamp' => $timestamp,
|
||||
'signature' => $tool->signature($params,$accessToken,$timestamp,$url), // 获取签名
|
||||
];
|
||||
$httpUrl = $api.'?'.http_build_query($get); // 拼接url
|
||||
|
||||
$header = [
|
||||
'Content-Type: application/json',
|
||||
];
|
||||
|
||||
// 4,调用业务接口
|
||||
$json = json_encode($params);
|
||||
$ret = $tool->request($httpUrl,$json,'post',$header);
|
||||
$this->saveLogStore("订单查询".$ret);
|
||||
return json_decode($ret, true);
|
||||
}
|
||||
|
||||
/** 用户分油
|
||||
* @param $data
|
||||
* @param $company
|
||||
* @return array|mixed|string[]
|
||||
*/
|
||||
public function oilOilCardShare($data, $company)
|
||||
{
|
||||
$tool = new Idingju($company);
|
||||
// 1,获取Token
|
||||
$accessToken = $tool->getToken($company['orgNo']);
|
||||
$url = '/api/cnpcbp/order';
|
||||
|
||||
$api = $tool->prefixUrl.$url;
|
||||
|
||||
// 2,组装参数
|
||||
$params = [
|
||||
'mobile' => $data['mobile']??'',
|
||||
'out_order_id' => $data['saleOrderNo'],
|
||||
'shortname' => $data['goodsNo']??'',
|
||||
'notify_url' => $data['notify_url']??(base_url() . 'oil.php'),
|
||||
'use_notify_url' => $data['use_notify_url']??(base_url() . 'oiluse.php'),
|
||||
];
|
||||
|
||||
// 3,获取签名
|
||||
$timestamp = time();
|
||||
$get = [
|
||||
'access_token' => $accessToken,
|
||||
'timestamp' => $timestamp,
|
||||
'signature' => $tool->signature($params,$accessToken,$timestamp,$url), // 获取签名
|
||||
];
|
||||
$httpUrl = $api.'?'.http_build_query($get); // 拼接url
|
||||
|
||||
$header = [
|
||||
'Content-Type: application/json',
|
||||
];
|
||||
|
||||
// 4,调用业务接口
|
||||
$json = json_encode($params);
|
||||
$ret = $tool->request($httpUrl,$json,'post',$header);
|
||||
$this->saveLogStore("分油下单".$ret);
|
||||
return json_decode($ret, true);
|
||||
}
|
||||
|
||||
/** 动态核销URL
|
||||
* @param $data
|
||||
* @param $company
|
||||
* @return array|mixed|string[]
|
||||
*/
|
||||
public function payQrCodeRequest($data, $company)
|
||||
{
|
||||
$tool = new Idingju($company);
|
||||
// 1,获取Token
|
||||
$accessToken = $tool->getToken($company['orgNo']);
|
||||
$url = '/api/cnpcbp/getUseCode';
|
||||
|
||||
$api = $tool->prefixUrl.$url;
|
||||
|
||||
// 2,组装参数
|
||||
$params = [
|
||||
'out_order_id' => $data['order_no'],
|
||||
];
|
||||
|
||||
// 3,获取签名
|
||||
$timestamp = time();
|
||||
$get = [
|
||||
'access_token' => $accessToken,
|
||||
'timestamp' => $timestamp,
|
||||
'signature' => $tool->signature($params,$accessToken,$timestamp,$url), // 获取签名
|
||||
];
|
||||
$httpUrl = $api.'?'.http_build_query($get); // 拼接url
|
||||
|
||||
$header = [
|
||||
'Content-Type: application/json',
|
||||
];
|
||||
|
||||
// 4,调用业务接口
|
||||
$json = json_encode($params);
|
||||
$ret = $tool->request($httpUrl,$json,'post',$header);
|
||||
$this->saveLogStore("动态核销URL".$ret);
|
||||
return json_decode($ret, true);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user