|
|
@@ -1094,4 +1094,39 @@ class ServiceOrderLogic extends BaseLogic
|
|
|
];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 绑定工程师-设置为加单
|
|
|
+ * * @param array $params
|
|
|
+ * * @return array|false
|
|
|
+ */
|
|
|
+ public static function bindWorkerAndWork(array $params)
|
|
|
+ {
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $order = RechargeOrder::where(['id'=>$params['order_id'],'user_id'=>$params['user_id']])->findOrEmpty();
|
|
|
+ if($order->isEmpty()){
|
|
|
+ throw new Exception('订单不存在');
|
|
|
+ }
|
|
|
+ $work = ServiceWork::where(['id'=>$order['work_id']])->findOrEmpty();
|
|
|
+ if($work->isEmpty()){
|
|
|
+ throw new Exception('工单不存在');
|
|
|
+ }
|
|
|
+ if($work['work_status']!=WorkEnum::WORK_STATUS_WAIT_SERVICE){
|
|
|
+ throw new Exception('工单状态不正确,无法绑定');
|
|
|
+ }
|
|
|
+ $worker = MasterWorker::where('id',$params['worker_id'])->findOrEmpty();
|
|
|
+ if($worker->isEmpty()){
|
|
|
+ throw new Exception('工程师不存在');
|
|
|
+ }
|
|
|
+ $work->master_worker_id = $params['worker_id'];
|
|
|
+ $work->work_status = WorkEnum::WORK_STATUS_WAIT_WORKER;
|
|
|
+ $work->work_type = 2;//加单状态
|
|
|
+ $work->save();
|
|
|
+ Db::commit();
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ self::setError($e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|