1027 lines
33 KiB
PHP
1027 lines
33 KiB
PHP
![]() |
<?php
|
|||
|
|
|||
|
namespace app\gateway\controller\api;
|
|||
|
set_time_limit(0);
|
|||
|
ini_set('memory_limit','512M');
|
|||
|
ini_set('default_socket_timeout', -1); //<2F><><EFBFBD><EFBFBD>ʱ
|
|||
|
use app\merchant\service\OrderService;
|
|||
|
use app\merchant\service\OrderHistoryService;
|
|||
|
use app\merchant\service\MerchantService;
|
|||
|
use app\merchant\service\RebateService;
|
|||
|
use app\gateway\service\RedisService;
|
|||
|
use app\order\service\Kami91OrderService;
|
|||
|
use app\order\service\KamiOrderHistoryService;
|
|||
|
use app\setting\service\StatService;
|
|||
|
use app\setting\service\ChannelAccountService;
|
|||
|
use app\channel\service\ProductService;
|
|||
|
use app\merchant\service\MerchantLogHistoryService;
|
|||
|
|
|||
|
//use app\gateway\controller\api\Coreks;
|
|||
|
use dever\Log;
|
|||
|
use think\exception\HttpResponseException;
|
|||
|
|
|||
|
/**
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Class Test
|
|||
|
* @package app\gateway\api
|
|||
|
*/
|
|||
|
class Task extends Core
|
|||
|
{
|
|||
|
# <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
protected $check = false;
|
|||
|
# redis<69><73><EFBFBD><EFBFBD>
|
|||
|
protected $redis = false;
|
|||
|
|
|||
|
public function cron()
|
|||
|
{
|
|||
|
while(1) {
|
|||
|
$this->submit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20><>submit<69>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
public function submit()
|
|||
|
{
|
|||
|
try {
|
|||
|
$settingUpdate = sysconf('settingUpdate');
|
|||
|
if ($settingUpdate == 1) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
# <20><><EFBFBD><EFBFBD>ģʽ 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
$queue = sysconf('queue');
|
|||
|
if ($queue == 1) {
|
|||
|
# <20><>ȡ<EFBFBD><C8A1>ǰִ<C7B0>еĽ<D0B5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
$num = $this->getNum();
|
|||
|
if ($num >= 1000) {
|
|||
|
# <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
sleep(30);
|
|||
|
return true;
|
|||
|
}
|
|||
|
$popen = true;
|
|||
|
} else {
|
|||
|
$popen = false;
|
|||
|
}
|
|||
|
|
|||
|
$this->redis();
|
|||
|
$data = $this->redis->pop('submit');
|
|||
|
$this->run($data, $popen);
|
|||
|
return true;
|
|||
|
} catch (\Exception $e) {
|
|||
|
$this->redis = false;
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
protected function redis()
|
|||
|
{
|
|||
|
if (!$this->redis) {
|
|||
|
$this->redis = RedisService::getInstance();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
protected function run($data, $popen = false)
|
|||
|
{
|
|||
|
if (isset($data['merchant']) && $data['merchant'] && isset($data['product']) && $data['product'] && isset($data['param']) && $data['param'] && isset($data['order']) && $data['order']) {
|
|||
|
if ($popen) {
|
|||
|
$this->popen($data['order']);
|
|||
|
} else {
|
|||
|
$this->channel($data['merchant'], $data['product'], false, $data['param'], $data['order']);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>ӽ<EFBFBD><D3BD>̴<EFBFBD><CCB4><EFBFBD>
|
|||
|
public function popen($order)
|
|||
|
{
|
|||
|
// $command = '/www/server/php/74/bin/php /www/wwwroot/bao111/public/index.php gateway/api.task/runOne ' . $order . ' 1>/dev/null 2>&1 &';
|
|||
|
#Ĭ<><C4AC>
|
|||
|
$command = 'php /www/sites/reapi/index/public/index.php gateway/api.task/runOne ' . $order . ' 1>/dev/null 2>&1 &';
|
|||
|
//$command = 'php /www/jiekou/public/index.php gateway/api.task/runOne ' . $order . ' 1>/dev/null 2>&1 &';
|
|||
|
exec($command);
|
|||
|
}
|
|||
|
|
|||
|
# <20><>ȡ<EFBFBD><C8A1>ǰִ<C7B0>е<EFBFBD><D0B5>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function getNum()
|
|||
|
{
|
|||
|
$command = 'ps -ef | grep gateway/api.task/runOne | grep -v grep | wc -l';
|
|||
|
$num = exec($command);
|
|||
|
return $num;
|
|||
|
}
|
|||
|
|
|||
|
# <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
public function runOne()
|
|||
|
{
|
|||
|
if (isset($_SERVER["argv"][2]) && $_SERVER["argv"][2]) {
|
|||
|
$order = $_SERVER["argv"][2];
|
|||
|
} else {
|
|||
|
$order = input('order');
|
|||
|
}
|
|||
|
|
|||
|
if (!$order) {
|
|||
|
exit('error');
|
|||
|
}
|
|||
|
|
|||
|
$nq = false;
|
|||
|
if (strstr($order, '_nq')) {
|
|||
|
$order = str_replace('_nq', '', $order);
|
|||
|
$nq = true;
|
|||
|
}
|
|||
|
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$info = $orderService->get($order);
|
|||
|
if ($info && $info['status'] <= 1 && $info['request']) {
|
|||
|
$info['request'] = json_decode($info['request'], true);
|
|||
|
if ($nq) {
|
|||
|
$info['request']['param']['s'] = 1;
|
|||
|
}
|
|||
|
$this->run($info['request']);
|
|||
|
}
|
|||
|
exit('ok');
|
|||
|
}
|
|||
|
|
|||
|
# ֱ<>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>еĶ<D0B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD>д<EFBFBD><D0B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧЧ<CAA7><D0A7><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ø÷<C3B8><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>ͬʱִ<CAB1>У<EFBFBD><D0A3><EFBFBD>ȡ<EFBFBD><C8A1>
|
|||
|
/*
|
|||
|
public function runAll()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getData();
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request']) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
$this->run($v['request']);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
public function runtestdiy()
|
|||
|
{
|
|||
|
$time = '1';
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getOldDataDiy($time);
|
|||
|
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request'] && $v['status'] == 1 && $v['order_id']=='R202402197619128992613340') {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
$this->run($v['request']);
|
|||
|
}
|
|||
|
}
|
|||
|
/*
|
|||
|
if ($state && $state > 0) {
|
|||
|
//$this->restart();
|
|||
|
//$this->runAll();
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD>ǰ<E2B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>status=1<>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>5<EFBFBD><35><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>status=1<><31><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ִ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>ÿ5<C3BF><35><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD>Σ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>runAll<6C><6C><EFBFBD><EFBFBD>
|
|||
|
public function runOther()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getOldData();
|
|||
|
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request'] && $v['status'] == 1) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
$this->run($v['request'], true);
|
|||
|
}
|
|||
|
}
|
|||
|
/*
|
|||
|
if ($state && $state > 0) {
|
|||
|
//$this->restart();
|
|||
|
//$this->runAll();
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
// public function runtest()
|
|||
|
// {
|
|||
|
// $orderService = OrderService::instance();
|
|||
|
// $data = $orderService->getOldData();
|
|||
|
//
|
|||
|
// foreach ($data as $k => $v) {
|
|||
|
// if ($v['request'] && $v['status'] == 1) {
|
|||
|
// $v['request'] = json_decode($v['request'], true);
|
|||
|
// $this->run($v['request'], true);
|
|||
|
// }
|
|||
|
// }
|
|||
|
// /*
|
|||
|
// if ($state && $state > 0) {
|
|||
|
// //$this->restart();
|
|||
|
// //$this->runAll();
|
|||
|
// }
|
|||
|
// */
|
|||
|
// }
|
|||
|
|
|||
|
# <20><><EFBFBD>ӳ<EFBFBD><D3B3>µ<EFBFBD><C2B5>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>µ<EFBFBD> status = -1 <20><><EFBFBD>Լ<EFBFBD><D4BC>뵽<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>
|
|||
|
public function runTempOrder()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$result = $orderService->getTempOrder();
|
|||
|
|
|||
|
if ($result) {
|
|||
|
$data = $result;
|
|||
|
$time = time();
|
|||
|
$account = array();
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request']) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
if (isset($v['request']['time']) && $time > $v['request']['time']) {
|
|||
|
if ($v['account']) {
|
|||
|
if (isset($account[$v['account']]) && $account[$v['account']]) {
|
|||
|
continue;
|
|||
|
} else {
|
|||
|
$account[$v['account']] = $v['account'];
|
|||
|
}
|
|||
|
}
|
|||
|
$this->run($v['request'], true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>µ<EFBFBD> status = -3 <20><><EFBFBD>Լ<EFBFBD><D4BC>뵽<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>
|
|||
|
public function runTimeOrder()
|
|||
|
{
|
|||
|
# <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٴ<D3B3><D9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
$where['status'] = 1;
|
|||
|
$where['is_deleted'] = 0;
|
|||
|
$data = \app\channel\service\ChannelService::instance()->db()->where($where)->whereRaw('order_limit > 0')->select()->toArray();
|
|||
|
|
|||
|
if ($data) {
|
|||
|
$orderService = OrderService::instance();
|
|||
|
foreach ($data as $k1 => $v1) {
|
|||
|
$result = $orderService->getTimeOrder($v1['id'], false, false, $v1['order_limit']);
|
|||
|
|
|||
|
if ($result) {
|
|||
|
foreach ($result as $k => $v) {
|
|||
|
if ($v['request']) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
if ($v['request']) {
|
|||
|
$v['request']['order'] .= '_nq';
|
|||
|
$this->run($v['request'], true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// public function checkorederqd()
|
|||
|
// {
|
|||
|
// #=
|
|||
|
//
|
|||
|
//
|
|||
|
// $orderService = OrderService::instance();
|
|||
|
// foreach ($data as $k1 => $v1) {
|
|||
|
// $result = $orderService->getTimeOrder($v1['id'], false, false, $v1['order_limit']);
|
|||
|
//
|
|||
|
// if ($result) {
|
|||
|
// foreach ($result as $k => $v) {
|
|||
|
// if ($v['request']) {
|
|||
|
// $v['request'] = json_decode($v['request'], true);
|
|||
|
// if ($v['request']) {
|
|||
|
// $v['request']['order'] .= '_nq';
|
|||
|
// $this->run($v['request'], true);
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
//
|
|||
|
// }
|
|||
|
# <20><><EFBFBD><EFBFBD>ͣ<EFBFBD>ĵĶ<C4B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> status = -5
|
|||
|
public function runStopOrder()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$result = $orderService->getStopOrder();
|
|||
|
|
|||
|
if ($result) {
|
|||
|
$data = $result;
|
|||
|
$time = time();
|
|||
|
$account = array();
|
|||
|
$service = \app\channel\service\ChannelService::instance();
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['param']) {
|
|||
|
$v['param'] = json_decode($v['param'], true);
|
|||
|
if ($v['param']) {
|
|||
|
$param = $v['param'];
|
|||
|
$order_id = $v['order_id'] . '_' . $v['num'];
|
|||
|
$service->use($v['mid'], $v['pid'], $param, true, $order_id);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#ɾ<><C9BE><EFBFBD><EFBFBD>־
|
|||
|
public function delLog()
|
|||
|
{
|
|||
|
#.extend/data/logs/gateway/2023/10/1/xxx.log
|
|||
|
$currentTimes=strtotime(date("Y-m-d",time()));
|
|||
|
$delTimes=strtotime('-4 months', $currentTimes);
|
|||
|
|
|||
|
$mounth=date('m',$delTimes);
|
|||
|
$year=date("Y",$delTimes);
|
|||
|
#TODO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<DEB8>ַ
|
|||
|
// $path='/www/wwwroot/bao111/extend/data/logs/gateway/'.$year.'/'.$mounth;
|
|||
|
$path='/www/sites/reapi/index/extend/data/logs/gateway/'.$year.'/'.$mounth;
|
|||
|
$result=$this->delete_directory($path);
|
|||
|
|
|||
|
}
|
|||
|
#ɾ<><C9BE>Ŀ¼<C4BF>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
public function delete_directory($dir)
|
|||
|
{
|
|||
|
#file_exists(): open_basedir restriction in effect. File(/www/wwroot/bao111/extend/data/logs/gateway/2023/09) is not within the allowed path(s): (/www/wwwroot/bao111/:/tmp/)
|
|||
|
|
|||
|
|
|||
|
if(!file_exists($dir)){
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
if(!is_dir($dir)){
|
|||
|
|
|||
|
return unlink($dir);
|
|||
|
}
|
|||
|
// var_dump(1111);die;
|
|||
|
#rm -rf /www/www/bao111/gateway/
|
|||
|
foreach(scandir($dir) as $item){
|
|||
|
if($item =="."||$item ==".."){
|
|||
|
continue;
|
|||
|
}
|
|||
|
if(!$this->delete_directory($dir .DIRECTORY_SEPARATOR.$item)){
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
return rmdir($dir);
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>µ<EFBFBD> status = -4 <20><><EFBFBD>Լ<EFBFBD><D4BC>뵽<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>
|
|||
|
public function runFcOrder()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$result = $orderService->getFcOrder();
|
|||
|
|
|||
|
if ($result) {
|
|||
|
$data = $result;
|
|||
|
$time = time();
|
|||
|
$account = array();
|
|||
|
$service = \app\channel\service\ChannelService::instance();
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['param']) {
|
|||
|
$v['param'] = json_decode($v['param'], true);
|
|||
|
if ($v['param']) {
|
|||
|
$param = $v['param'];
|
|||
|
$order_id = $v['order_id'] . '_' . $v['num'];
|
|||
|
$service->use($v['mid'], $v['pid'], $param, true, $order_id);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20>Իص<D4BB><D8B5>ٴδ<D9B4><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͬʱ<CDAC>̻<EFBFBD><CCBB>ص<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʹ<EFBFBD>ø÷<C3B8><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴη<D9B4><CEB7><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>
|
|||
|
public function call()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getErrorData();
|
|||
|
// var_dump($data);die;
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
$this->callSend($v, 1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20>Իص<D4BB><D8B5>ٴδ<D9B4><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͬʱ<CDAC>̻<EFBFBD><CCBB>ص<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʹ<EFBFBD>ø÷<C3B8><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴη<D9B4><CEB7><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>
|
|||
|
public function callHistory()
|
|||
|
{
|
|||
|
$orderService = OrderHistoryService::instance();
|
|||
|
$data = $orderService->getErrorData();
|
|||
|
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
$this->callSend($v, 2);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private function callSend($v, $type = 1)
|
|||
|
{
|
|||
|
OrderService::instance()->callSend($v, $type);
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD> ÿ<><C3BF><EFBFBD>賿1<E8B3BF><31>ִ<EFBFBD>а<EFBFBD>
|
|||
|
public function restart()
|
|||
|
{
|
|||
|
sysconf('settingUpdate', 1);
|
|||
|
#<23>ĵ<DEB8>ַ
|
|||
|
// $command = 'python /www/wwwroot/bao111/kill.py 1>/dev/null 2>&1 &';
|
|||
|
$command = 'python /www/sites/reapi/index/kill.py 1>/dev/null 2>&1 &';
|
|||
|
exec($command);
|
|||
|
sysconf('settingUpdate', 2);
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>賿1<E8B3BF><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>Ĭ<EFBFBD><C4AC>Ǩ<EFBFBD><C7A8>ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function finish()
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
MerchantService::instance()->init($day);
|
|||
|
/*
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
*/
|
|||
|
$page = 1;
|
|||
|
while($this->finishOne($day, $page)) {
|
|||
|
$page++;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function finishOne($day, $page)
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$orderHistoryService = OrderHistoryService::instance();
|
|||
|
$data = $orderService->getFinishData($day, $page);
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
# <20>Ȳ<EFBFBD><C8B2><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD>
|
|||
|
$id = $v['id'];
|
|||
|
unset($v['id']);
|
|||
|
$state = $orderHistoryService->up($v);
|
|||
|
if ($state) {
|
|||
|
$orderService->del($id);
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
} else {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD>˻<EFBFBD><CBBB><EFBFBD>ˮ<EFBFBD><CBAE>־<EFBFBD><D6BE><EFBFBD><EFBFBD>Ǩ<EFBFBD><C7A8> ÿ<><C3BF>1<EFBFBD><31><EFBFBD>賿3<E8B3BF><33><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>
|
|||
|
# 30 3 1 * * /www/server/php/74/bin/php /www/wwwroot/api/public/index.php gateway/api.task/moveAccountLog > /dev/null
|
|||
|
public function moveAccountLog()
|
|||
|
{
|
|||
|
MerchantLogHistoryService::instance()->handle();
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
|||
|
public function rebate()
|
|||
|
{
|
|||
|
RebateService::instance()->getData();
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function profit()
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
$orderHistoryService = OrderHistoryService::instance();
|
|||
|
$data = $orderHistoryService->getTotalData($day);
|
|||
|
if ($data) {
|
|||
|
StatService::instance()->handle($day, $data);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function statChannel()
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
|
|||
|
ChannelAccountService::instance()->stat($day);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>ӽ<EFBFBD><D3BD>̴<EFBFBD><CCB4><EFBFBD>
|
|||
|
public function popenRunError()
|
|||
|
{
|
|||
|
$num = $this->getErrorNum();
|
|||
|
if ($num < 1) {
|
|||
|
$command = 'php /www/sites/reapi/index/public/index.php gateway/api.task/runErrorOrder 1>/dev/null 2>&1 &';
|
|||
|
#<23>ĵ<DEB8>ַ
|
|||
|
// $command = '/www/server/php/74/bin/php /www/wwwroot/bao111/public/index.php gateway/api.task/runErrorOrder 1>/dev/null 2>&1 &';
|
|||
|
//$command = 'php /www/jiekou/public/index.php gateway/api.task/runErrorOrder 1>/dev/null 2>&1 &';
|
|||
|
exec($command);
|
|||
|
}
|
|||
|
|
|||
|
$this->success('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', array('msg' => 'ok'));
|
|||
|
}
|
|||
|
|
|||
|
# <20><>ȡ<EFBFBD><C8A1>ǰִ<C7B0>еĴ<D0B5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function getErrorNum()
|
|||
|
{
|
|||
|
$command = 'ps -ef | grep gateway/api.task/runErrorOrder | grep -v grep | wc -l';
|
|||
|
$num = exec($command);
|
|||
|
return $num;
|
|||
|
}
|
|||
|
|
|||
|
# <20><>ʧ<EFBFBD>ܵĶ<DCB5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> status = -2 <20>ֶ<EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
public function runErrorOrder()
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getErrorOrder();
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request']) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
$v['request']['product'] = ProductService::instance()->get($v['request']['merchant'], 12);
|
|||
|
print_r($v);
|
|||
|
|
|||
|
$this->run($v['request']);die;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
public function not()
|
|||
|
{
|
|||
|
$MerchantService = MerchantService::instance();
|
|||
|
$data['status'] = 3;
|
|||
|
$data['cash'] = 100;
|
|||
|
$data['order_id'] = 'Q202010284980886664664866';
|
|||
|
$data['merchant_order_id'] = '1603849810460200838';
|
|||
|
$data['notify_num'] = 1;
|
|||
|
$MerchantService->up(5, $data);
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
# <20><><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3> ÿ<><C3BF>0<EFBFBD><30>10<31><30>ͳ<EFBFBD>ư<EFBFBD>
|
|||
|
public function account()
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
\app\setting\service\AccountLogService::instance()->handle($day);
|
|||
|
}
|
|||
|
|
|||
|
public function account_all()
|
|||
|
{
|
|||
|
|
|||
|
$yue = '2021-07-';
|
|||
|
for ($i = 1; $i<=30; $i++) {
|
|||
|
if ($i < 10) {
|
|||
|
$k = '0'. $i;
|
|||
|
} else {
|
|||
|
$k = $i;
|
|||
|
}
|
|||
|
$day = $yue . $k;
|
|||
|
\app\setting\service\AccountLogService::instance()->handle($day);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function getYue(): void
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
if (isset($_SERVER["argv"][2]) && $_SERVER["argv"][2]) {
|
|||
|
$cid = $_SERVER["argv"][2];
|
|||
|
} else {
|
|||
|
$cid = false;
|
|||
|
}
|
|||
|
|
|||
|
if (!$cid) {
|
|||
|
exit('error');
|
|||
|
}
|
|||
|
|
|||
|
//10040_10026_10044
|
|||
|
//10040_10026
|
|||
|
|
|||
|
$log = \app\setting\service\AccountLogService::instance();
|
|||
|
|
|||
|
$cid = explode('_', $cid);
|
|||
|
foreach ($cid as $k => $v) {
|
|||
|
$log->getYue($v, $day);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC>ÿСʱ58<35><38><EFBFBD><EFBFBD>ʱִ<CAB1><D6B4>
|
|||
|
public function pullredisOrder(): void
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->db()->field('status,merchant_order_id,create_at,account,mid')->select()->toArray();
|
|||
|
|
|||
|
$this->redis();
|
|||
|
if($data){
|
|||
|
foreach($data as $key=>$v){
|
|||
|
$res= $this->redis->set('kuaishou_query'.$data[$key]['merchant_order_id'],$data[$key],10*60+rand(10,99));
|
|||
|
if($res==false){
|
|||
|
Log::write('gateway', 'kuaishou_query_task', '<27><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>-'.$data[$key]['merchant_order_id']);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/* <20>Կ<EFBFBD><D4BF>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>˿<CBBF><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4> */
|
|||
|
public function refundKuaishou()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
try {
|
|||
|
$this->redis();
|
|||
|
$redisData = $this->redis->pop('blackcall');
|
|||
|
$param = array();
|
|||
|
|
|||
|
$param['orderId'] = $redisData['orderNo'];
|
|||
|
$param['status'] = 'FAILED';
|
|||
|
$param['bizType'] = '20';
|
|||
|
$param['failCode'] = '4013022';
|
|||
|
$param['failMsg'] = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
|
|||
|
|
|||
|
$param = json_encode($param);
|
|||
|
$signtime = time();
|
|||
|
|
|||
|
$sign = 'access_token=' . $redisData['access_token'] . '&appkey=' . $redisData['agentId'] . '&method=integration.virtual.topup.mobile.order.callback¶m=' . $param . '&signMethod=MD5×tamp=' . $signtime . '&version=1';
|
|||
|
$signmd5 = md5($sign);
|
|||
|
$param = urlencode($param);
|
|||
|
|
|||
|
$geturl = $redisData['notify_url'] . '?access_token=' . $redisData['access_token'] . '&appkey=' . $redisData['agentId'] . '&method=integration.virtual.topup.mobile.order.callback¶m=' . $param . '&signMethod=MD5×tamp=' . $signtime . '&version=1&sign=' . $signmd5;
|
|||
|
|
|||
|
// $blackGet= ['result' => '1'];
|
|||
|
|
|||
|
$blackGet = \app\gateway\controller\api\Coreks::get_curl_post($geturl);
|
|||
|
$blackGet = json_decode($blackGet, true);
|
|||
|
|
|||
|
$response = $blackGet['result'];
|
|||
|
|
|||
|
if ($response == '1') {
|
|||
|
Log::write('gateway', 'black', $blackGet);
|
|||
|
} else {
|
|||
|
Log::write('errorTip', 'black_request', $redisData);
|
|||
|
Log::write('gateway', 'black', $blackGet);
|
|||
|
}
|
|||
|
|
|||
|
return 'ok';
|
|||
|
} catch (\Exception $e) {
|
|||
|
// return $e;
|
|||
|
Log::write('errorTip', 'redis', $e->getMessage());
|
|||
|
return 'error';
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#<23><>cardbuy<75><79><EFBFBD>õĿ<C3B5><C4BF><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>״̬,<2C><><EFBFBD><EFBFBD>Ϊÿ<CEAA><C3BF><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
public function kami_chanel_notifly()
|
|||
|
|
|||
|
{
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$where1 = [
|
|||
|
'status' => '7' ,
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
];
|
|||
|
$where[] = [
|
|||
|
|
|||
|
'product_key','like','%cardbuy%'
|
|||
|
];
|
|||
|
// $where = [
|
|||
|
// 'status' => '7' ,
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
// ];
|
|||
|
$orderlist = $orderService->db()->where($where)->where($where1)->order('id asc')->select()->toArray();
|
|||
|
// var_dump($orderlist);die;
|
|||
|
foreach($orderlist as $key=>$v){
|
|||
|
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$info = $kami91server->db()->where(['order_id' => $v['order_id']])->find();
|
|||
|
// var_dump($info);die;
|
|||
|
|
|||
|
if(!$info){
|
|||
|
$this->kami91order();
|
|||
|
}elseif(isset($info['status']) && $info['status'] == '6'){
|
|||
|
#<23><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>״̬<D7B4>Ƿ<EFBFBD><C7B7>ѷ<EFBFBD><D1B7><EFBFBD>
|
|||
|
$kami91 =new \app\openapi\controller\Kami91($this->app);
|
|||
|
$check = $kami91->queryFaka($v['merchant_order_id']);
|
|||
|
// var_dump($check);die;
|
|||
|
if($check == 'ok'){
|
|||
|
|
|||
|
$msg = 'success';
|
|||
|
$kami91server->upStatus($v['order_id'], 2 ,$msg);
|
|||
|
|
|||
|
$kami91->huidiao($v['order_id']);
|
|||
|
}
|
|||
|
|
|||
|
} elseif (empty($info['cardno'])){
|
|||
|
$kami91=new \app\openapi\controller\Kami91($this->app);
|
|||
|
$kami91->uphuidiao($v['order_id']);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#<23><><EFBFBD><EFBFBD>91<39><31><EFBFBD>ⶩ<EFBFBD><E2B6A9><EFBFBD><EFBFBD>
|
|||
|
public function kami91order()
|
|||
|
{
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$where1 = [
|
|||
|
'status' => '1' ,
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
];
|
|||
|
$where[] = [
|
|||
|
|
|||
|
'product_key','like','%cardbuy%'
|
|||
|
];
|
|||
|
$orderlist = $kami91server->db()->where($where)->where($where1)->order('id asc')->select()->toArray();
|
|||
|
// var_dump($orderlist);die;
|
|||
|
foreach($orderlist as $key=>$v){
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$order = $orderService->get('', $v['merchant_order_id'] ,$v['mid']);
|
|||
|
|
|||
|
if($order){
|
|||
|
$data =array();
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = 4;
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public function runerrorOther()
|
|||
|
{
|
|||
|
$time = '1.5';
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getOldDataDiy($time);
|
|||
|
// print_r($data);die;
|
|||
|
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['request'] && $v['status'] == 1) {
|
|||
|
$v['request'] = json_decode($v['request'], true);
|
|||
|
\app\order\service\OrderService::instance()->setCallback(1, $v['order_id'], 3);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public function kami91orderstatus()
|
|||
|
{
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$where1 = [
|
|||
|
'status' => '4' ,
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
];
|
|||
|
$where[] = [
|
|||
|
|
|||
|
'product_key','like','%cardbuy%'
|
|||
|
];
|
|||
|
$orderlist = $kami91server->db()->where($where)->where($where1)->order('id asc')->select()->toArray();
|
|||
|
// var_dump($orderlist);die;
|
|||
|
foreach($orderlist as $key=>$v){
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$order = $orderService->get('', $v['merchant_order_id'] ,$v['mid']);
|
|||
|
// var_dump($order);die;
|
|||
|
|
|||
|
if($order){
|
|||
|
$data = [];
|
|||
|
if($order['status'] == '3'){
|
|||
|
if(empty($order['merchant_callback_msg']) || $order['merchant_callback_msg'] == '{}'){
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '3';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}elseif(isset($order['response']) ){
|
|||
|
$response = json_decode($order['response'],true);
|
|||
|
if(isset($response['kami'])){
|
|||
|
$data = [
|
|||
|
'cardno' =>$response['kami']['cardno'],
|
|||
|
'cardpwd' =>$response['kami']['cardpwd'],
|
|||
|
'expire_time' =>$response['kami']['expired'],
|
|||
|
];
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '7';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}else{
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '3';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
|
|||
|
}else{
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '3';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
}elseif($order['status'] == '2'){
|
|||
|
if(isset($order['response'])) {
|
|||
|
|
|||
|
$response = json_decode($order['response'], true);
|
|||
|
if (isset($response['kami'])) {
|
|||
|
$data = [
|
|||
|
'cardno' => $response['kami']['cardno'],
|
|||
|
'cardpwd' => $response['kami']['cardpwd'],
|
|||
|
'expire_time' => $response['kami']['expired'],
|
|||
|
];
|
|||
|
}
|
|||
|
}
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '2';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function kami91orderstatus2()
|
|||
|
{
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$where1 = [
|
|||
|
'status' => '6' ,
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
];
|
|||
|
$where[] = [
|
|||
|
|
|||
|
'product_key','like','%cardbuy%'
|
|||
|
];
|
|||
|
$orderlist = $kami91server->db()->where($where)->where($where1)->order('id asc')->select()->toArray();
|
|||
|
// var_dump($orderlist);die;
|
|||
|
foreach($orderlist as $key=>$v){
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$order = $orderService->get('', $v['merchant_order_id'] ,$v['mid']);
|
|||
|
|
|||
|
if($order){
|
|||
|
$data = [];
|
|||
|
if($order['status'] == '3') {
|
|||
|
$kami91 = new \app\openapi\controller\Kami91($this->app);
|
|||
|
$check = $kami91->queryFaka($v['merchant_order_id']);
|
|||
|
// var_dump($check);die;
|
|||
|
if ($check == 'ok') {
|
|||
|
|
|||
|
$msg = 'success';
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '5';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
// $kami91server->upStatus($v['order_id'], 2 ,$msg);
|
|||
|
|
|||
|
// $kami91->huidiao($v['order_id']);
|
|||
|
} else {
|
|||
|
// $msg = 'success';
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '7';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
}elseif ($order['status'] == '2'){
|
|||
|
$data['order_id'] = $order['order_id'];
|
|||
|
$data['status'] = '2';
|
|||
|
$kami91server->db()->where(array('merchant_order_id' => $v['merchant_order_id']))->update($data);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function kamiordertime()
|
|||
|
{
|
|||
|
$time = '30';
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$data = $orderService->getKamiOldDataDiy($time);
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
if ($v['status'] == 7) {
|
|||
|
$info = $kami91server->db()->where(['order_id' => $v['order_id']])->find();
|
|||
|
// var_dump($info);die;
|
|||
|
|
|||
|
if(!$info){
|
|||
|
\app\order\service\OrderService::instance()->setCallback(1, $v['order_id'], 3);
|
|||
|
}else {
|
|||
|
|
|||
|
$kami91 = new \app\openapi\controller\Kami91($this->app);
|
|||
|
$check = $kami91->queryFaka($v['merchant_order_id']);
|
|||
|
if ($check == 'ok') {
|
|||
|
$msg = 'success';
|
|||
|
$kami91server->upStatus($v['order_id'], 2, $msg);
|
|||
|
|
|||
|
$kami91->huidiao($v['order_id']);
|
|||
|
} else {
|
|||
|
\app\order\service\OrderService::instance()->setCallback(1, $v['order_id'], 3);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// $v['request'] = json_decode($v['request'], true);
|
|||
|
// \app\order\service\OrderService::instance()->setCallback(1, $v['order_id'], 3);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# <20>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>賿1<E8B3BF><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>Ĭ<EFBFBD><C4AC>Ǩ<EFBFBD><C7A8>ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public function kami_finish()
|
|||
|
{
|
|||
|
$day = input('day');
|
|||
|
MerchantService::instance()->init($day);
|
|||
|
/*
|
|||
|
if (!$day) {
|
|||
|
$day = date('Y-m-d', strtotime('-1 day'));
|
|||
|
}
|
|||
|
*/
|
|||
|
$page = 1;
|
|||
|
while($this->kami_finishOne($day, $page)) {
|
|||
|
$page++;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function kami_finishOne($day, $page)
|
|||
|
{
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$kamiorderHistoryService = KamiOrderHistoryService::instance();
|
|||
|
$data = $kami91server->getFinishData($day, $page);
|
|||
|
|
|||
|
if ($data) {
|
|||
|
foreach ($data as $k => $v) {
|
|||
|
# <20>Ȳ<EFBFBD><C8B2><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD>
|
|||
|
$id = $v['id'];
|
|||
|
unset($v['id']);
|
|||
|
$state = $kamiorderHistoryService->up($v);
|
|||
|
if ($state) {
|
|||
|
$kami91server->del($id);
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
} else {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function kami_jc()
|
|||
|
{
|
|||
|
$kami91server = Kami91OrderService::instance();
|
|||
|
$where1 = [
|
|||
|
'status' => '7',
|
|||
|
// 'product_key' => ['like','%cardbuy%']
|
|||
|
];
|
|||
|
$where[] = [
|
|||
|
|
|||
|
'product_key', 'like', '%cardbuy%'
|
|||
|
];
|
|||
|
$orderlist = $kami91server->db()->where($where)->where($where1)->order('id asc')->select()->toArray();
|
|||
|
// var_dump($orderlist);die;
|
|||
|
$quantity = 0;
|
|||
|
$quantity1 = 0;
|
|||
|
foreach ($orderlist as $key => $v) {
|
|||
|
|
|||
|
$orderService = OrderService::instance();
|
|||
|
$order = $orderService->get('', $v['merchant_order_id'], $v['mid']);
|
|||
|
|
|||
|
if ($order) {
|
|||
|
$data = [];
|
|||
|
if ($order['status'] == '3') {
|
|||
|
$kami91 = new \app\openapi\controller\Kami91($this->app);
|
|||
|
$check = $kami91->queryFaka($v['merchant_order_id']);
|
|||
|
// var_dump($check);die;
|
|||
|
if ($check == 'ok') {
|
|||
|
// $quantity++; // ÿ<><C3BF>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|||
|
// $quantity1 = $quantity1 + $order['cash'];
|
|||
|
// $quantity++;
|
|||
|
//
|
|||
|
|
|||
|
echo $order['merchant_order_id'] . "\n";
|
|||
|
|
|||
|
|
|||
|
// $kami91server->upStatus($v['order_id'], 2 ,$msg);
|
|||
|
|
|||
|
// $kami91->huidiao($v['order_id']);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function renwu()
|
|||
|
{
|
|||
|
|
|||
|
// $this->_queue('[ <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> - <20>Զ<EFBFBD>ͬ<EFBFBD><CDAC> ] <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>', "xQueue:KamiOrderAssociation", 0, [], 0,1);
|
|||
|
// $this->_queue('[ <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> - <20>Զ<EFBFBD>ͬ<EFBFBD><CDAC> ] ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬', "xQueue:KamiOrderStatusSync", 0, [], 0,1);
|
|||
|
// $this->_queue('[ <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> - <20>Զ<EFBFBD>ͬ<EFBFBD><CDAC> ] <20><>cardbuy<75><79><EFBFBD>õĿ<C3B5><C4BF><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>״̬', "xQueue:KamiOrderChanelNotify", 0, [], 0,1);
|
|||
|
$this->_queue('[ <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> - <20>Զ<EFBFBD>ͬ<EFBFBD><CDAC> ] <20><><EFBFBD><EFBFBD><F3B6A9B5>˿<EFBFBD>', "xQueue:KamiOrderErrorRefund", 0, [], 0,300);
|
|||
|
// $cur = time();
|
|||
|
// $time = 300;
|
|||
|
// $whereRaw = $cur . '-unix_timestamp(create_at) >=' . $time;
|
|||
|
// $kami91server = Kami91OrderService::instance();
|
|||
|
// $total = $kami91server->db()->whereRaw('status = 1 and ' . $whereRaw)->count();
|
|||
|
// print_r($total);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|