|
@@ -10,15 +10,6 @@ use think\Db;
|
|
class Transaction
|
|
class Transaction
|
|
{
|
|
{
|
|
|
|
|
|
- protected $table = 'transaction';
|
|
|
|
- protected $primaryKey = 'id';
|
|
|
|
-
|
|
|
|
- protected $guarded = [];
|
|
|
|
-
|
|
|
|
- protected function serializeDate(DateTimeInterface $date)
|
|
|
|
- {
|
|
|
|
- return $date->format('Y-m-d H:i:s');
|
|
|
|
- }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 续费or升级
|
|
* 续费or升级
|
|
@@ -253,83 +244,7 @@ class Transaction
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 检测交易
|
|
|
|
- *
|
|
|
|
- * @param $transaction_info
|
|
|
|
- * @param $base_msg
|
|
|
|
- * @return array
|
|
|
|
- */
|
|
|
|
- private static function _checkTransaction($transaction_info)
|
|
|
|
- {
|
|
|
|
- $ret = [
|
|
|
|
- 'check' => false,
|
|
|
|
- 'data' => [],
|
|
|
|
- ];
|
|
|
|
-
|
|
|
|
- // 2.判断交易ID是否已经入库过
|
|
|
|
- $is_exist = Db::name('user_vipxufei_task')
|
|
|
|
- ->where('original_transaction_id', $transaction_info['originalTransactionId'])
|
|
|
|
- ->where('transaction_id', $transaction_info['transactionId'])
|
|
|
|
- ->find();
|
|
|
|
- if ($is_exist) {
|
|
|
|
- return $ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- //查找订单,可能找到以前的,非当前用户的。根据原始id 和 用户id不是终生绑定
|
|
|
|
- $order_map = [
|
|
|
|
- 'original_transaction_id' => $transaction_info['originalTransactionId'],
|
|
|
|
- ];
|
|
|
|
- $order_info = Db::name('user_vipxufei_task')->where($order_map)->order('expires_date_ms desc')->find();
|
|
|
|
- if (!$order_info) {
|
|
|
|
- return $ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- //
|
|
|
|
|
|
|
|
- $ret['check'] = true;
|
|
|
|
- $ret['data'] = $order_info;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- return $ret;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 获取日志
|
|
|
|
- *
|
|
|
|
- * @param $original_transaction_id
|
|
|
|
- * @param $web_order_line_item_id
|
|
|
|
- * @return string
|
|
|
|
- */
|
|
|
|
- private static function _getBaseMsg($original_transaction_id, $web_order_line_item_id)
|
|
|
|
- {
|
|
|
|
- return "notify-{$original_transaction_id}-{$web_order_line_item_id} ";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 获取入库信息
|
|
|
|
- *
|
|
|
|
- * @param $user_id
|
|
|
|
- * @param $transaction_info
|
|
|
|
- * @return array
|
|
|
|
- */
|
|
|
|
- private static function _getAddData($user_id, $transaction_info)
|
|
|
|
- {
|
|
|
|
- return [
|
|
|
|
- 'user_id' => $user_id, // fixme 此处不考虑用户ID切换
|
|
|
|
- 'transaction_id' => $transaction_info['transactionId'],
|
|
|
|
- 'product_id' => $transaction_info['productId'],
|
|
|
|
- 'web_order_line_item_id' => $transaction_info['webOrderLineItemId'],
|
|
|
|
- 'original_transaction_id' => $transaction_info['originalTransactionId'],
|
|
|
|
- 'original_purchase_date_ms' => date('Y-m-d H:i:s', $transaction_info['originalPurchaseDate'] / 1000), //首次订阅时间
|
|
|
|
- 'purchase_date_ms' => date('Y-m-d H:i:s', $transaction_info['purchaseDate'] / 1000), // 购买时间
|
|
|
|
- 'expires_date_ms' => date('Y-m-d H:i:s', $transaction_info['expiresDate'] / 1000), // 过期时间
|
|
|
|
- 'subscription_group_identifier' => $transaction_info['subscriptionGroupIdentifier'] ?? '',
|
|
|
|
- 'in_app_ownership_type' => $transaction_info['inAppOwnershipType'],
|
|
|
|
- 'environment' => $transaction_info['environment'] ?? '',
|
|
|
|
- 'sub_type' => 'DID_RENEW', // DID_RENEW UPGRADE SUBSCRIBED-INITIAL_BUY SUBSCRIBED-RESUBSCRIBE
|
|
|
|
- 'auto_renew_result' => 1, // 自动续费结果 0默认 1成功 2失败 3过期
|
|
|
|
- 'auto_renew_status' => 1, // 自动订阅状态 1开启 2-关闭
|
|
|
|
- ];
|
|
|
|
- }
|
|
|
|
}
|
|
}
|