You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
2.7 KiB
126 lines
2.7 KiB
<?php
|
|
|
|
namespace app\controller\api\store\order;
|
|
|
|
use app\Request;
|
|
use app\services\order\StoreOrderRefundServices;
|
|
use app\services\store\SystemStoreStaffServices;
|
|
use think\db\exception\DataNotFoundException;
|
|
use think\db\exception\DbException;
|
|
use think\db\exception\ModelNotFoundException;
|
|
|
|
class RefundOrder
|
|
{
|
|
|
|
/**
|
|
* @var
|
|
*/
|
|
protected $services;
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $uid;
|
|
/**
|
|
* 门店店员信息
|
|
* @var array
|
|
*/
|
|
protected $staffInfo;
|
|
/**
|
|
* 门店id
|
|
* @var int|mixed
|
|
*/
|
|
protected $store_id;
|
|
|
|
/**
|
|
* 门店店员ID
|
|
* @var int|mixed
|
|
*/
|
|
protected $staff_id;
|
|
|
|
/**
|
|
* RefundOrder constructor.
|
|
* @param StoreOrderRefundServices $service
|
|
*/
|
|
public function __construct(StoreOrderRefundServices $service,Request $request)
|
|
{
|
|
$this->services = $service;
|
|
$this->uid = (int)$request->uid();
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
* @throws DataNotFoundException
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
*/
|
|
protected function getStaffInfo()
|
|
{
|
|
/** @var SystemStoreStaffServices $staffServices */
|
|
$staffServices = app()->make(SystemStoreStaffServices::class);
|
|
$this->staffInfo = $staffServices->getStaffInfoByUid($this->uid)->toArray();
|
|
$this->store_id = (int)$this->staffInfo['store_id'] ?? 0;
|
|
$this->staff_id = (int)$this->staffInfo['id'] ?? 0;
|
|
}
|
|
|
|
/**
|
|
* 移动端订单管理退款列表
|
|
* @param Request $request
|
|
* @return \think\Response
|
|
* @throws DataNotFoundException
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
*/
|
|
public function refundOrderList(Request $request)
|
|
{
|
|
$where = $request->getMore([
|
|
['order_id', ''],
|
|
['time', ''],
|
|
['refundTypes', ''],
|
|
['apply_type', ''],
|
|
['pay_type', ''],
|
|
]);
|
|
$this->getStaffInfo();
|
|
$where['store_id'] =$this->store_id;
|
|
$data = $this->services->refundList($where)['list'] ?? [];
|
|
return app('json')->success($data);
|
|
}
|
|
|
|
/**
|
|
* 订单详情
|
|
* @param $uni
|
|
* @return \think\Response
|
|
*/
|
|
public function refundOrderDetail($uni)
|
|
{
|
|
$data = $this->services->refundDetail($uni);
|
|
return app('json')->successful('ok', $data);
|
|
}
|
|
|
|
/**
|
|
* 修改备注
|
|
* @param Request $request
|
|
* @return \think\Response
|
|
*/
|
|
public function refundRemark(Request $request)
|
|
{
|
|
[$remark, $order_id] = $request->postMore([
|
|
['remark', ''],
|
|
['order_id', ''],
|
|
], true);
|
|
if (!$remark)
|
|
return app('json')->fail('请输入要备注的内容');
|
|
if (!$order_id)
|
|
return app('json')->fail('缺少参数');
|
|
|
|
if (!$order = $this->services->get(['order_id' => $order_id])) {
|
|
return app('json')->fail('修改的订单不存在!');
|
|
}
|
|
$order->remark = $remark;
|
|
if ($order->save()) {
|
|
return app('json')->success('备注成功');
|
|
} else
|
|
return app('json')->fail('备注失败');
|
|
}
|
|
|
|
}
|
|
|