123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- namespace App\Service\Order;
- use App\Log;
- use App\RedisModel;
- use App\Service\HttpService;
- use App\Support\EmailQueue;
- class FanQieService
- {
- # 生成签名
- public static function createSign($params) {
- $distributorId = $params['distributor_id'];
- $secretKey = $params['secret_key'];
- $ts = $params['ts'];
- $paramsStr = $distributorId.$secretKey.$ts;
- return md5($paramsStr);
- }
- public static function getBoundPackageList($params, $retry=0) {
- $requestUrl = config('fanqie.get_bound_package_list');
- $requestUrl .= http_build_query($params);
- $response = HttpService::httpGet($requestUrl);
- Log::logInfo('获取番茄小程序绑定公众号信息结果', [
- 'request_url' => $requestUrl, 'response' => json_decode(json_encode($response), 1)
- ], 'FanQiePackageList');
- if($response === false && $retry < 5) {
- sleep(1);
- $retry++;
- return self::getBoundPackageList($params, $retry);
- }
- $responseData = json_decode($response, 1);
- if(isset($responseData['code']) && $responseData['code'] != 200) {
- EmailQueue::rPush('获取番茄平台下的渠道信息返回错误', $responseData['message'], ['song.shen@kuxuan-inc.com'],
- '猎羽');
- Log::logError('获取番茄平台下的渠道信息返回错误', [
- 'response' => $responseData, 'params' => $params], 'FanQieApi');
- return [[], 0];
- }
- $data = $responseData['wx_package_info_open_list'] ?? [];
- $count = $responseData['total'] ?? 0;
- return [$data, $count];
- }
- public static function getOrderList($params, $retry=0) {
- $requestUrl = config('fanqie.user_recharge');
- $requestUrl .= http_build_query($params);
- $response = HttpService::httpGet($requestUrl);
- if($response === false && $retry < 5) {
- sleep(1);
- $retry++;
- return self::getOrderList($params, $retry);
- }
- Log::logInfo('获取番茄用户充值信息结果', [
- 'params' => $params,
- 'response' => json_decode(json_encode($response), 1)
- ], 'FanQieOrderList');
- $responseData = json_decode($response, 1);
- if(isset($responseData['code']) && $responseData['code'] == 501 && $retry < 5) {
- sleep(1);
- $retry++;
- return self::getOrderList($params, $retry);
- }
- if(isset($responseData['code']) && $responseData['code'] != 200) {
- EmailQueue::rPush('获取番茄平台下的订单信息返回错误', $responseData['code'].':'.$responseData['message'], ['song.shen@kuxuan-inc.com'],
- '猎羽');
- Log::logError('获取番茄平台下的订单信息返回错误', [
- 'response' => $responseData, 'params' => $params], 'FanQieApi');
- return [[], false];
- }
- $data = $responseData['result'] ?? [];
- $hasMore = $responseData['has_more'] ?? false;
- return [$data, $hasMore];
- }
- public static function getPromotionList($params, $retry = 0) {
- $requestUrl = config('fanqie.promotion_list');
- $requestUrl .= http_build_query($params);
- $response = HttpService::httpGet($requestUrl);
- Log::logInfo('获取番茄推广链接信息结果', [
- 'params' => $params, 'response' => json_decode(json_encode($response), 1)
- ], 'FanQiePromotionList');
- if($response === false && $retry < 5) {
- sleep(1);
- $retry++;
- return self::getPromotionList($params, $retry);
- }
- $responseData = json_decode($response, 1);
- if(isset($responseData['code']) && $responseData['code'] != 200) {
- EmailQueue::rPush('获取番茄平台下的推广信息返回错误', $responseData['message'], ['song.shen@kuxuan-inc.com'],
- '猎羽');
- Log::logError('获取番茄平台下的推广信息返回错误', [
- 'response' => $responseData, 'params' => $params], 'FanQieApi');
- return [[], false];
- }
- $data = $responseData['result'] ?? [];
- $hasMore = $responseData['has_more'] ?? false;
- return [$data, $hasMore];
- }
- public static function getAccountList() {
- $accountList = RedisModel::get('Playlet::FanQieAccountListConfig');
- if (empty($accountList)) return config('fanqie.account');
- return json_decode($accountList,1);
- }
- public static function setAccountList($newDistributorList) {
- RedisModel::set('Playlet::FanQieAccountListConfig', json_encode($newDistributorList));
- }
- }
|