request->param(),JSON_UNESCAPED_UNICODE)); } public function notifyReviewAuth() { Log::write('店铺权限解约授权CODE:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 门店映射 * @return void */ public function notifyMapping() { Log::write('门店映射:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } // public function test() // { //// $data = array("businessId"=>"58","charset" => "utf-8","code"=>"828227b6489b14300c682e7b787d9afc", "developerId" => "114657","grantType"=>"authorization_code", "timestamp" => "1741664392"); // $data = array("businessId"=>"58","charset" => "utf-8","appAuthToken"=>"V2-26f91ef8b515c59b97b9b4404e77dc2b2fc14b9715e3be7edb9f3f86178e193ec380e1ef5a9ab7a877120a94bcae4586707c51ab5e56cfeb4cd91d4fb2983babbbfd2fda0f77353eb21b105fd14299aea392a706589a422baec961b6cc255191", "developerId" => "114657","version"=>"2", "timestamp" => "1741663560",'biz'=>'{ "orderId": "61427436", "bookStatus": 2, "code": 200,"type":2}'); // echo $this->get_sign("8471lgvnv0qcjpx6", $data); // } //到店综合 /** * 取消预订 * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function cancellation() { Log::write('取消预订:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); $order = $this->request->param(); ThirdOrderLogic::cancelOrderHandle($order); return $this->success('取消预订成功'); } /** * 预订结果同步 * @return void */ public function bookingResults() { Log::write('预订结果同步:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 开始预约 * @return \think\response\Json */ public function booking() { $order = $this->request->param(); Log::write('开始预约:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); //手动处理未配置的工单 // $request_msg = ThirdOrders::where('id',51)->findOrEmpty()['request_msg']; // $order = json_decode($request_msg,true); ThirdOrderLogic::orderhandle($order); return $this->success('开始预约'); } /** * 改约提交 * @return \think\response\Json */ public function changeBooking() { $order = $this->request->param(); Log::write('改约提交:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); ThirdOrderLogic::updateOrderHandle($order); return $this->success('改约提交成功'); } //到店综合(客服)-回调通知 /** * 商品状态变更 * @return void */ public function cancellation5910003() { Log::write('商品状态变更:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 改约结果同步三方 * @return void */ public function bookingResults5910005() { Log::write('改约结果同步三方:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 取消同步三方接口 * @return void */ public function booking5910011() { Log::write('取消同步三方接口:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 创单同步三方接口 * @return void */ public function booking5910015() { Log::write('创单同步三方接口:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 用户改约 * @return void */ public function booking5910017() { Log::write('用户改约:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 手动提交美团订单 * @return \think\response\Json */ public function submitOrder() { $request = $this->request->param(); if(empty($request['userName']) || empty($request['mobile']) || empty($request['userAddress']) || empty($request['appointment_time']) || empty($request['goods_id']) || empty($request['amount'])){ return $this->fail('参数错误'); } ThirdOrderLogic::submitOrders($request); return $this->success('下单成功'); } /** * 用户撤销退款通知 * @return void */ public function notify5810005() { Log::write('用户撤销退款通知:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } /** * 改约结果通知三方 * @return void */ public function notify5810007() { Log::write('改约结果通知三方:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } public function notify5810009() { Log::write('到家行业库存查询:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } public function notify5810013() { Log::write('取消预订审核:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } public function notify5810023() { Log::write('核销状态查询:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } public function notify5810027() { Log::write('通知三方核销:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } public function notify5810029() { //尾款结算2--维修的尾款订单信息增加 //获取工单信息 $request = $this->request->param(); // $request = json_decode('{"opBizCode":"AE7MKOJAV67338LIC3UD0K5TGIO","msgType":"5810029","developerId":"114657","businessId":"58","sign":"01b0ddb70d91a22d7e22f04935e938413142e16e","msgId":"7475175529296583912","message":"{\"orderId\":\"61374467\",\"addPriceStatus\":\"0\",\"serialNumber\":\"8283252725\",\"amount\":\"1.00\"}","timestamp":"1741600285"}',true); Log::write('补价支付结果:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); if(!empty($request['message'])){ Db::startTrans(); try { $message = json_decode($request['message'], true); $orderId = $message['orderId']; $amount = $message['amount']; $order = ThirdOrders::where('orderId',$orderId)->order('create_time desc')->findOrEmpty(); if(!$order->isEmpty() && $order['verifyStatus'] != 2){ $un_pay = RechargeOrder::where(['work_id'=>$order['work_id'],'pay_status'=>0])->findOrEmpty(); if(!$un_pay->isEmpty()){ $un_pay->pay_status = PayEnum::ISPAID; $un_pay->pay_time = time(); $un_pay->order_amount = $amount; $un_pay->paid_amount = $amount; $un_pay->save(); }else{ $orders = \app\common\model\orders\RechargeOrder::where(['work_id'=>$order->work_id])->select()->toArray(); if(count($orders)==1){ //判断是否是一口价预支付订单,支付成功后生成尾款订单,针对工程师未报价的订单 $good_order = $orders[0]; $order_goods = OrderGoods::where('sn',$good_order->sn)->findOrEmpty(); if(!$order_goods->isEmpty()){ //新增待支付尾款 $order_data = [ 'order_type'=>$good_order['order_type'], 'sn'=>generate_sn(\app\common\model\orders\RechargeOrder::class, 'sn'), 'work_id'=>$good_order['work_id'], 'user_id'=>$good_order['user_id'], 'payment_type'=>2, 'order_total'=>$amount, 'order_amount'=>$amount, 'order_terminal'=>$good_order['order_terminal'], 'pay_status'=>PayEnum::ISPAID, 'pay_time'=>time(), 'paid_amount'=>$amount ]; \app\common\model\recharge\RechargeOrder::create($order_data); } } } } Db::commit(); }catch(\Exception $e){ Db::rollback(); return $this->fail('尾款支付失败'); } } return $this->success('尾款支付成功'); } public function notify5810031() { //尾款结算1 //尾款结算3 //获取工单信息 $request = $this->request->param(); // $request = json_decode('{"opBizCode":"AE7MKOJAV67338LIC3UD0K5TGIO","msgType":"5810031","developerId":"114657","businessId":"58","sign":"d43ab164d41859ce7df2894e3e8f086d0c3182cb","msgId":"-1355174693375827369","message":"{\"orderId\":\"61659141\",\"verifyStatus\":\"2\",\"verifyChannel\":\"1\",\"type\":\"2\",\"serialNumber\":\"7843863751\"}","timestamp":"1741927727"}',true); Log::write('预订核销同步:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); if(!empty($request['message'])){ Db::startTrans(); try { $message = json_decode($request['message'], true); $orderId = $message['orderId']; $order = ThirdOrders::where('orderId',$orderId)->order('create_time desc')->findOrEmpty(); if(!$order->isEmpty() && $order['verifyStatus'] != 2 && $message['verifyStatus'] == 2){ //判断工单是否存在未结算的尾款订单,如果存在,等待结算后再核销 $un_pay = RechargeOrder::where(['work_id'=>$order['work_id'],'pay_status'=>0])->findOrEmpty(); $workOrder = RechargeOrder::where('work_id',$order['work_id'])->order('id desc')->findOrEmpty(); if($un_pay->isEmpty() && ($workOrder['payment_type'] == 0 || $workOrder['payment_type'] == 2)){ $work = ServiceWork::where('id',$order['work_id'])->findOrEmpty(); $order->verifyStatus = 2; $order->save(); if(!$work->isEmpty()){ $work->work_pay_status = WorkEnum::IS_PAY_STATUS; $orders = \app\common\model\orders\RechargeOrder::where(['work_id'=>$order->work_id])->select()->toArray(); $order_total = 0; $order_amount = 0; foreach ($orders as $k=>$v){ $order_total += $v['order_total']; $order_amount += $v['order_amount']; } $work->work_total = $order_total; $work->work_amount = $order_amount; $work->work_status = 7; $work->user_confirm_status = 5; $work->service_status = 3; $work->work_pay_status = 1; $work->finished_time = time(); $work->save(); } } } Db::commit(); }catch(\Exception $e){ Db::rollback(); return $this->fail('订单核销失败'); } return $this->success('订单核销成功'); } } public function notify5810099() { //尾款结算4 // {"opBizCode":"AE7MKOJAV67338LIC3UD0K5TGIO","msgType":"5810099","developerId":"114657","businessId":"58","sign":"a726ef82351172679a8faf83e1c687e23930f3e9","msgId":"-8772277532478005199","message":"{\"phone\":\"13545228441\",\"dealGroupId\":\"1287039501\",\"dealName\":\"【燃气灶维修】不打火维修电话安装上门维修优惠卷\",\"amount\":\"31.00\",\"firstOrderId\":\"4981005619907623352\",\"firstOrderCode\":\"5831711557\",\"firstOrderActualPrice\":\"30.00\",\"finalOrderId\":\"4981005652342579640\",\"finalOrderCode\":\"8283252725\",\"finalOrderActualPrice\":\"1.00\",\"firstOrderDiscountAmount\":\"0.00\",\"finalOrderDiscountAmount\":\"0.00\",\"dealUnitAmount\":\"30.00\",\"firstOrderPrice\":\"30.00\",\"finalOrderPrice\":\"1.00\"}","timestamp":"1741600287"} Log::write('加价尾单核销通知:'.json_encode($this->request->param(),JSON_UNESCAPED_UNICODE)); } //商家操作接口 public function bookresultcallback() { ThirdOrderLogic::bookresultcallback('61427436',2); } /** * 商家确认改约接口 * @return void */ public function changeresultcallback() { //changeresultcallback-$shop_token2 } }