文件
xionggeshop/application/admin/controller/shopro/split/Order.php

63 行
2.1 KiB
PHP

<?php
namespace app\admin\controller\shopro\split;
use app\admin\controller\shopro\Base;
use addons\shopro\library\split\SplitExecutor;
use addons\shopro\library\split\ProfitSharingService;
class Order extends Base
{
protected $model = null;
public function _initialize()
{
parent::_initialize();
$this->model = new \addons\shopro\model\split\SplitOrder;
}
public function index()
{
$this->request->filter(['strip_tags']);
if ($this->request->isAjax()) {
list($where, $sort, $order, $offset, $limit) = $this->custombuildparams();
$total = $this->model->where($where)->count();
$list = $this->model->with('receivers')->where($where)->order($sort, $order)->limit($offset, $limit)->select();
return $this->success('操作成功', null, ['total' => $total, 'rows' => $list]);
}
return $this->view->fetch();
}
public function retry($ids = null)
{
$id = $ids ?: $this->request->post('id');
$result = (new SplitExecutor())->retry($id);
$result ? $this->success('重试成功') : $this->error('重试失败,请查看记录');
}
public function query($ids = null)
{
$row = $this->model->get($ids);
if (!$row) {
$this->error('记录不存在');
}
try {
if (($row['channel'] ?? 'wechat') === 'huifu' && class_exists('\\addons\\shopro_huifu\\library\\HuifuSplitService')) {
$service = new \addons\shopro_huifu\library\HuifuSplitService();
$result = $service->querySplit($row['transaction_id']);
} else {
$service = new ProfitSharingService();
$result = $service->queryOrder([
'out_order_no' => $row['out_order_no'],
'transaction_id' => $row['transaction_id'],
]);
}
$row->wx_result = json_encode($result, JSON_UNESCAPED_UNICODE);
$row->save();
$this->success('查询成功', null, $result);
} catch (\Exception $e) {
$this->error($e->getMessage());
}
}
}