|
|
@@ -15,6 +15,8 @@
|
|
|
namespace app\adminapi\logic\works;
|
|
|
|
|
|
use app\adminapi\logic\user\UserLogic;
|
|
|
+use app\api\logic\ServiceOrderLogic;
|
|
|
+use app\api\logic\UserCouponLogic;
|
|
|
use app\common\enum\ThirdTypeEnum;
|
|
|
use app\common\enum\worker\WorkerAccountLogEnum;
|
|
|
use app\common\logic\ThirdOrderLogic;
|
|
|
@@ -208,23 +210,6 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
$work->work_status = 4;//已上门
|
|
|
$work->save();
|
|
|
|
|
|
- //如果是美团订单,且上门时间小于预约时间,则修改预约时间
|
|
|
- if($work->third_type==1 and $work->finally_door_time<$work->appointment_time){
|
|
|
- $third_order = ThirdOrders::where('work_id',$work->id)->order('id desc')->findOrEmpty();
|
|
|
- if(!$third_order->isEmpty()){
|
|
|
- ThirdOrderLogic::merchantmodify([
|
|
|
- 'reserveOrderId'=>$third_order['orderId'],
|
|
|
- 'reserveUserName'=>$work['real_name'],
|
|
|
- "reservePhone"=>$work['mobile'],
|
|
|
- "reserveAddress"=>$work['address'],
|
|
|
- "bookStartTime"=>$work->finally_door_time*1000,
|
|
|
- "bookEndTime"=>($work->finally_door_time+2*3600)*1000,
|
|
|
- 'request_msg'=>$third_order['request_msg']
|
|
|
- ]);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
//添加变更日志
|
|
|
$work_log = [
|
|
|
'work_id'=>$work->id,
|
|
|
@@ -842,14 +827,13 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
|
|
|
ServiceWork::where('id', $params['id'])->update([
|
|
|
'work_status' => 9,
|
|
|
- 'service_status' => 4,
|
|
|
- 'remark' => $params['remark']??''
|
|
|
+ 'service_status' => 4
|
|
|
]);
|
|
|
|
|
|
ServiceWorkLog::create([
|
|
|
'work_id' => $params['id'],
|
|
|
'master_worker_id' => $serviceWorkInfo['master_worker_id'],
|
|
|
- 'opera_log' => "工单:{$serviceWorkInfo['work_sn']}已取消"
|
|
|
+ 'opera_log' => "工单:{$serviceWorkInfo['work_sn']}已取消".($params['remark']??'')
|
|
|
]);
|
|
|
|
|
|
Db::commit();
|
|
|
@@ -1081,6 +1065,7 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
}
|
|
|
ServiceWorkCustomerLog::create([
|
|
|
'work_id'=>$serviceWork->id,
|
|
|
+ 'type'=>$params['type']??0,
|
|
|
'content'=>$params['content']??'',
|
|
|
'admin_id'=>$params['admin_id']??0,
|
|
|
'create_time'=>time(),
|
|
|
@@ -1286,4 +1271,64 @@ class ServiceWorkLogic extends BaseLogic
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 给用户发券
|
|
|
+ */
|
|
|
+ public static function userAddVoucher($params): bool
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $serviceWork = ServiceWork::where('id',$params['id'])->findOrEmpty();
|
|
|
+ if(!$serviceWork->isEmpty()){
|
|
|
+ $codes = [];
|
|
|
+ foreach ($params['coupon_data'] as $coupon_data) {
|
|
|
+ $coupon_data['code'] && $codes[] = $coupon_data['code'];
|
|
|
+ }
|
|
|
+ if($codes){
|
|
|
+ UserCouponLogic::grant($codes,$serviceWork->user_id,$serviceWork->id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ self::setError($e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 给用户加单
|
|
|
+ */
|
|
|
+ public static function userExtendOrder($params): bool
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $serviceWork = ServiceWork::where('id',$params['id'])->findOrEmpty();
|
|
|
+ if(!$serviceWork->isEmpty()){
|
|
|
+ //goods_id ['user_info']['mobile'] user_id coupon_id=0 worker=1 terminal=1 pay_way=2 address contact_people=real_name contact_number=mobile appointment_time lon lat property_activity_id=0
|
|
|
+ ServiceOrderLogic::submitOrder([
|
|
|
+ 'goods_id' => $serviceWork->goods_id,
|
|
|
+ 'user_info' => [
|
|
|
+ 'mobile' => $serviceWork->mobile
|
|
|
+ ],
|
|
|
+ 'user_id' => $serviceWork->user_id,
|
|
|
+ 'coupon_id' => 0,
|
|
|
+ 'worker' => 1,
|
|
|
+ 'terminal' => 1,
|
|
|
+ 'pay_way' => 2,
|
|
|
+ 'appointment_time' => $serviceWork->appointment_time,
|
|
|
+ 'address' => $serviceWork->address,
|
|
|
+ 'contact_people' => $serviceWork->real_name,
|
|
|
+ 'contact_number' => $serviceWork->mobile,
|
|
|
+ 'lon' => $serviceWork->lon,
|
|
|
+ 'lat' => $serviceWork->lat,
|
|
|
+ 'property_activity_id' => 0
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ self::setError($e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|