intval($advertiserId), 'supplement_order_id' => intval($supplementOrderId), 'unit_price' => (int)round($unitPrice * 1000) // 单位厘 ]; $rst = $jxObj->supplementOrderV2()->unitPriceUpdate($param); Log::info('助推订单修改出价', ['param' => $param, 'ret' => $rst], 'SupplementOrderUpdatePrice'); $errMsg = $rst['message'] ?? '未知错误'; if(($rst === false || $rst['code']) && !in_array($errMsg, $errMsgList)) { if($retry < 3) { if(isset($rst['message']) && $rst['message']=='订单频控中') { sleep(3); } $retry++; return self::supplementOrderUpdatePrice($advertiserId, $supplementOrderId, $unitPrice, $retry); } else { EmailQueue::rPush('助推订单修改出价请求失败', json_encode([ 'advertiser_id' => $advertiserId, 'supplement_order_id' => $supplementOrderId, 'price' => $unitPrice, 'response' => $rst, 'retry' => $retry ], 256), ['xiaohua.hou@kuxuan-inc.com', 'yang.bai@kuxuan-inc.com'], '聚星系统'); } } return $rst; } /** * 升单/修改预算 * */ public static function supplementOrderAmountUpgrade($advertiserId, $supplementOrderId, $amount, $payMethod, $retry=0) { $accessToken = JuxingAdAccount::getAccessToken($advertiserId); $jxObj = new JuXing($accessToken); $param = [ 'advertiser_id' => intval($advertiserId), 'supplement_order_id' => intval($supplementOrderId), 'pay_method' => $payMethod, 'increased_amount' => intval($amount * 1000) // 单位厘 ]; $rst = $jxObj->supplementOrderV2()->amountUpgrade($param); Log::info('助推订单升单', ['param' => $param, 'ret' => $rst], 'SupplementOrderAmountUpgrade'); if(($rst === false || $rst['code'])) { if($retry < 3) { if(isset($rst['message']) && $rst['message']=='订单频控中') { sleep(3); } $retry++; return self::supplementOrderAmountUpgrade($advertiserId, $supplementOrderId, $amount, $payMethod, $retry); } else { EmailQueue::rPush('助推订单升单失败', json_encode([ 'advertiser_id' => $advertiserId, 'supplement_order_id' => $supplementOrderId, 'pay_method' => $payMethod, 'amount' => $amount, 'response' => $rst, 'retry' => $retry ], 256), ['xiaohua.hou@kuxuan-inc.com', 'yang.bai@kuxuan-inc.com'], '聚星系统'); } } return $rst; } /** * 修改推广结束时间 * */ public static function supplementOrderUpdatePromotionEndTime($advertiserId, $supplementOrderId, $promotionEndTime, $retry=0) { $accessToken = JuxingAdAccount::getAccessToken($advertiserId); $jxObj = new JuXing($accessToken); $param = [ 'advertiser_id' => intval($advertiserId), 'supplement_order_id' => intval($supplementOrderId), // 'promotion_end_time' => date("Y-M-d H:i:s", strtotime($promotionEndTime)) 'promotion_end_time' => date("Y-m-d H:i:s", strtotime($promotionEndTime)).'.'.rand(100, 999), ]; $rst = $jxObj->supplementOrderV2()->promotionEndtimeUpdate($param); Log::info('推广结束时间修改', ['param' => $param, 'rst' => $rst, 'access_token' => $accessToken], 'SupplementOrderUpdatePromotionEndTime'); if(($rst === false || $rst['code'])) { if($retry < 3) { if(isset($rst['message']) && $rst['message']=='订单频控中') { sleep(3); } $retry++; return self::supplementOrderUpdatePromotionEndTime($advertiserId, $supplementOrderId, $promotionEndTime, $retry); } else { EmailQueue::rPush('修改推广结束时间失败', json_encode([ 'advertiser_id' => $advertiserId, 'supplement_order_id' => $supplementOrderId, 'end_time' => $promotionEndTime, 'response' => $rst, 'retry' => $retry ], 256), ['xiaohua.hou@kuxuan-inc.com', 'yang.bai@kuxuan-inc.com'], '聚星系统'); } } return $rst; } }