63 行
2.1 KiB
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());
|
|
}
|
|
}
|
|
}
|