* @version : HUOSDK 8.0 */ namespace huo\controller\queue; use huo\controller\common\Base; use huolib\queue\constant\ClassConst; use huolib\queue\constant\JobConst; use huolib\status\CommonStatus; use think\Queue; class ApplePayQueue extends Base { protected $param = []; protected $job_class = ''; protected $job_name = ''; public function __construct($apple_id = '') { $this->job_class = ClassConst::CLASS_APPLE_PAY_FIRE; $this->job_name = JobConst::JOB_APPLE_PAY; $this->param['ts'] = time(); $this->setAppleId($apple_id); } /** * 返回数据 * * @param int $code * @param array $data * * @return array */ protected function retSucMsg($code = CommonStatus::NO_ERROR, $data = []) { /* 数据录入LOG */ $this->param['queue'] = '1'; return $this->huoSuccess($code, '', $data); } /** * 返回数据 * * @param $code * * @return array|mixed */ protected function retErrMsg($code = CommonStatus::PUSH_QUEUE_ERROR) { /* 数据录入LOG */ $this->param['queue'] = '0'; return $this->huoError($code); } public function setApplePayQueue( $order_id, $trans_id, $receipt_data = null, $is_sandbox = false, $idfv = '', $apple_id = '' ) { $this->setOrderId($order_id); $this->setTransId($trans_id); $this->setReceiptData($receipt_data); $this->setIsSandbox($is_sandbox); $this->setIdfv($idfv); $this->setAppleId($apple_id); return $this->pushQueue(); } /** * 入队列 * * @return array */ protected function pushQueue() { if (class_exists('think\\Queue')) { $_is_pushed = Queue::push($this->job_class, $this->param, $this->job_name); if ($_is_pushed !== false) { return $this->retErrMsg(); } } return $this->retSucMsg(); } /** * 设置平台订单ID * * @param string $order_id 平台订单ID */ public function setOrderId($order_id) { $this->param['order_id'] = $order_id; } /** * 设置苹果订单ID * * @param string $trans_id 苹果订单ID */ public function setTransId($trans_id) { $this->param['trans_id'] = $trans_id; } /** * 设置苹果支付票据 * * @param string $receipt_data 苹果支付票据 */ public function setReceiptData($receipt_data) { $this->param['receipt_data'] = $receipt_data; } /** * 设置是否沙盒环境 * * @param bool $is_sandbox 是否是沙盒环境 */ public function setIsSandbox($is_sandbox) { $this->param['is_sandbox'] = $is_sandbox; } /** * 设置IDFV * * @param string $idfv 苹果IDFV */ public function setIdfv($idfv) { $this->param['idfv'] = $idfv; } /** * 设置苹果应用ID * * @param string $apple_id 苹果应用ID */ public function setAppleId($apple_id) { $this->param['apple_id'] = $apple_id; } /** * @return string */ public function getJobClass() { return $this->job_class; } /** * @param string $job_class */ public function setJobClass($job_class) { $this->job_class = $job_class; } /** * @return string */ public function getJobName() { return $this->job_name; } /** * @param string $job_name */ public function setJobName($job_name) { $this->job_name = $job_name; } }