
- 添加 endsWithDoubleZero 函数,用于处理数值字符串末尾的两个零 - 修改 Core.php 中的 queue 方法,增加对卡库提单的特殊处理逻辑 -调整 Feedov.php 中的订单查询和充值逻辑,提高系统稳定性 - 优化数据库配置,连接测试数据库以确保数据安全
126 lines
3.9 KiB
PHP
126 lines
3.9 KiB
PHP
<?php
|
|
|
|
namespace app\merchant\service;
|
|
|
|
use app\core\Service;
|
|
use think\admin\extend\CodeExtend;
|
|
use app\merchant\service\MerchantService;
|
|
use app\merchant\service\OrderService;
|
|
|
|
/**
|
|
* 商户失败订单服务
|
|
* Class MerchantService
|
|
* @package app\merchant\service
|
|
*/
|
|
class OrderAutoService extends Service
|
|
{
|
|
/**
|
|
* 设置默认操作表
|
|
* @var string
|
|
*/
|
|
public $table = 'merchant_order_auto_error';
|
|
|
|
# 提交订单
|
|
/*
|
|
public function up($mid, $cid, $pid, $product_key, $order_id, $channel_order_id, $merchant_order_id, $cash, $url, $request, $response, $status = 1, $account = '', $parent_order_id = '', $project_id = false, $card_id = false, $param = false)
|
|
{
|
|
$data = array();
|
|
$data['mid'] = $mid;
|
|
$data['cid'] = $cid;
|
|
$data['pid'] = $pid;
|
|
$data['product_key'] = $product_key;
|
|
$data['order_id'] = $order_id;
|
|
if ($parent_order_id) {
|
|
$data['parent_order_id'] = $parent_order_id;
|
|
}
|
|
if ($project_id) {
|
|
$data['project_id'] = $project_id;
|
|
}
|
|
if ($card_id) {
|
|
$data['card_id'] = $card_id;
|
|
}
|
|
if ($param && is_array($param)) {
|
|
$data['param'] = json_encode($param, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
$data['channel_order_id'] = $channel_order_id;
|
|
$data['merchant_order_id'] = $merchant_order_id;
|
|
$data['cash'] = $cash;
|
|
$data['url'] = $url;
|
|
if (is_array($request)) {
|
|
$request = json_encode($request, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
if (is_array($response)) {
|
|
$response = json_encode($response, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
$data['request'] = $request;
|
|
$data['response'] = $response;
|
|
$data['status'] = $status;
|
|
$data['merchant_callback_num'] = 0;
|
|
if ($account) {
|
|
$data['account'] = $account;
|
|
}
|
|
|
|
$this->db()->insert($data);
|
|
|
|
return $data;
|
|
}
|
|
*/
|
|
|
|
# 提交订单
|
|
public function up($data)
|
|
{
|
|
if (is_numeric($data)) {
|
|
$orderService = OrderService::instance();
|
|
$data = $orderService->get($data);
|
|
}
|
|
|
|
$id = false;
|
|
if ($data) {
|
|
$w['order_id'] = $data['order_id'];
|
|
$w['num']= $data['num'];
|
|
$info = $this->db()->where($w)->find();
|
|
if ($info) {
|
|
return false;
|
|
}
|
|
unset($data['id']);
|
|
if (isset($data['param']) && $data['param'] && is_array($data['param'])) {
|
|
$data['param'] = json_encode($data['param']);
|
|
}
|
|
if (isset($data['request']) && $data['request'] && is_array($data['request'])) {
|
|
$data['request'] = json_encode($data['request']);
|
|
}
|
|
if (isset($data['response']) && $data['response'] && is_array($data['response'])) {
|
|
$data['response'] = json_encode($data['response']);
|
|
}
|
|
if (isset($data['channel_callback_msg']) && $data['channel_callback_msg'] && is_array($data['channel_callback_msg'])) {
|
|
$data['channel_callback_msg'] = json_encode($data['channel_callback_msg']);
|
|
}
|
|
$id = $this->db()->insert($data);
|
|
}
|
|
|
|
return $id;
|
|
}
|
|
|
|
public function get($order_id)
|
|
{
|
|
$where['order_id'] = $order_id;
|
|
return $this->db()->where($where)->column('mid,cid,pid');
|
|
}
|
|
|
|
# 修改渠道回调信息
|
|
public function upChannelMsg($order_id, $status, $msg, $num = 0)
|
|
{
|
|
$data['status'] = $status;
|
|
$data['channel_callback_msg'] = json_encode($msg, JSON_UNESCAPED_UNICODE);
|
|
if ($data['status'] != 4) {
|
|
$data['channel_callback_at'] = date('Y-m-d H:i:s');
|
|
}
|
|
|
|
$where['order_id'] = $order_id;
|
|
if ($num) {
|
|
$where['num'] = $num;
|
|
}
|
|
|
|
$this->db()->where($where)->update($data);
|
|
}
|
|
} |