80 lines
1.5 KiB
PHP
80 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace app\services;
|
|
|
|
class OrderAbnormalService extends BaseService
|
|
{
|
|
/**
|
|
* 上报异常
|
|
* @param int $workerId
|
|
* @param array $params
|
|
* @return bool
|
|
*/
|
|
public function create(int $workerId, array $params)
|
|
{
|
|
$abnormal = $this->getAbnormalModel()->find($params['abnormal_id']);
|
|
if (!$abnormal) {
|
|
$this->apiError('异常原因不存在,请重新选择');
|
|
}
|
|
|
|
$worker = $this->getWorkerModel()->find($workerId);
|
|
|
|
$model = $this->getOrderAbnormalModel();
|
|
$model->order_id = $params['order_id'];
|
|
$model->status = 0;
|
|
$model->abnormal_id = $params['abnormal_id'];
|
|
$model->abnormal_title = $abnormal->title;
|
|
$model->detail = $params['detail'];
|
|
$model->type = 2;
|
|
$model->admin_user = $worker->name;
|
|
$model->admin_id = $workerId;
|
|
$model->save();
|
|
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 获取订单异常详情
|
|
* @param int $workerId
|
|
* @param int $orderId
|
|
*/
|
|
public function getOrderAbnormal(int $workerId, int $orderId)
|
|
{
|
|
return $this->getOrderAbnormalModel()
|
|
->where('order_id', $orderId)
|
|
->where('admin_id', $workerId)
|
|
->where('type', 2)
|
|
->field([
|
|
'id',
|
|
'order_id',
|
|
'abnormal_id',
|
|
'abnormal_title',
|
|
'detail',
|
|
'create_time',
|
|
])
|
|
->order('id', 'desc')
|
|
->find();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|