|
|
@@ -18,6 +18,7 @@ use app\common\{enum\GoodsEnum,
|
|
|
model\works\ServiceWorkLog};
|
|
|
use think\facade\Db;
|
|
|
use app\common\model\service_area\ServiceArea;
|
|
|
+use think\facade\Log;
|
|
|
|
|
|
/**
|
|
|
* 第三方平台下单逻辑层
|
|
|
@@ -595,7 +596,8 @@ class ThirdOrderLogic extends BaseLogic
|
|
|
public static function merchantcancelorder($work_id)
|
|
|
{
|
|
|
$third_order = ThirdOrders::where('work_id',$work_id)->findOrEmpty();
|
|
|
- if(!$third_order->isEmpty() && !empty($third_order['request_msg'])){
|
|
|
+ if(!$third_order->isEmpty() && !empty($third_order['request_msg']) && $third_order['third_type']==1){
|
|
|
+ Log::write('取消美团订单'.$work_id);
|
|
|
$third_order->bookStatus = 3;
|
|
|
$third_order->save();
|
|
|
$url = 'https://api-open-cater.meituan.com/ddzh/yuding/merchantcancelorder';
|
|
|
@@ -623,4 +625,68 @@ class ThirdOrderLogic extends BaseLogic
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新履约状态
|
|
|
+ * @param $work_id
|
|
|
+ * @return string|void
|
|
|
+ */
|
|
|
+ public static function updateorderfulfillinfo($work,$orderFulfillStatus)
|
|
|
+ {
|
|
|
+ $third_order = ThirdOrders::where('work_id',$work['id'])->findOrEmpty();
|
|
|
+ if(!$third_order->isEmpty() && !empty($third_order['request_msg'])) {
|
|
|
+// 家政/维修更新顺序:已分配(40001)→ 已到达(40002)→ 履约完成(41001)
|
|
|
+ $app_sku_id = ThirdGoods::where('product_id',$third_order['productId'])->value('app_sku_id');
|
|
|
+ //判断当前履约状态
|
|
|
+ $pic_url = 'https://cdnweixiu.kyjlkj.com/uploads/images/20240914/2024091414471041c336653.png';
|
|
|
+ switch ($orderFulfillStatus){
|
|
|
+ case '40001':
|
|
|
+ $describe = '已分配';
|
|
|
+ break;
|
|
|
+ case '40002':
|
|
|
+ $describe = '已到达';
|
|
|
+ break;
|
|
|
+ case '41001':
|
|
|
+ $describe = '履约完成';
|
|
|
+ $pic_url = !empty($work['finished_images'][0])?$work['finished_images'][0]:$pic_url;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ $describe = '未知';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $url = 'https://api-open-cater.meituan.com/ddzh/yuding/merchantcancelorder';
|
|
|
+ $opBizCode = !empty($third_order['request_msg']) ? json_decode($third_order['request_msg'], true)['opBizCode'] : '';
|
|
|
+ $accessToken = $opBizCode == 'AE7MKOJAV67338LIC3UD0K5TGIO' ? self::shop_token2['accessToken'] : self::shop_token1['accessToken'];
|
|
|
+ $data = [
|
|
|
+ 'timestamp' => time(),
|
|
|
+ 'appAuthToken' => $accessToken,
|
|
|
+ 'charset' => 'utf-8',
|
|
|
+ 'version' => '2',
|
|
|
+ 'developerId' => self::developerId,
|
|
|
+ 'businessId' => 58,
|
|
|
+ 'biz' => json_encode([
|
|
|
+ 'orderId' => $third_order['orderId'],
|
|
|
+ 'attrKeyValue' => [
|
|
|
+ 'service_voucher' => [
|
|
|
+ 'detail_list' => [
|
|
|
+ [
|
|
|
+ 'app_sku_id' => $app_sku_id,
|
|
|
+ 'describe' => $describe,
|
|
|
+ 'pic_url' => $pic_url
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ 'delivery_info' => '无',
|
|
|
+ 'delivery_type' => 3
|
|
|
+ ],
|
|
|
+ "type" => 2,
|
|
|
+ "orderFulfillStatus" => $orderFulfillStatus
|
|
|
+ ], JSON_UNESCAPED_UNICODE)
|
|
|
+ ];
|
|
|
+ $sign_data = self::get_sign(self::assessKey, $data);
|
|
|
+ $data['sign'] = $sign_data;
|
|
|
+ return http_request($url, http_build_query($data));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|