SdkPayCache.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * SdkPayCache.php UTF-8
  4. * WWW
  5. *
  6. * @date : 2018/6/6 9:28
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\controller\pay;
  13. use huo\controller\common\Base;
  14. use think\Cache;
  15. class SdkPayCache extends Base {
  16. public static function ins() {
  17. return new static();
  18. }
  19. /**
  20. * 获取支付KEY
  21. *
  22. * @param string $order_id
  23. *
  24. * @return string
  25. */
  26. private function getOrderIdKey($order_id) {
  27. return 'order_token_key_'.$order_id;
  28. }
  29. /**
  30. * 保存cache 数据
  31. *
  32. * @param $order_id
  33. * @param $_data
  34. * @param int $ttl
  35. */
  36. public function saveOrderCache($order_id, $_data, $ttl = 1800) {
  37. $_key = $this->getOrderIdKey($order_id);
  38. Cache::set($_key, json_encode($_data), $ttl);
  39. }
  40. /**
  41. * 获取账户信息
  42. *
  43. * @param string $order_id
  44. *
  45. * @return array|bool|mixed
  46. */
  47. public function getInfoByOrderId($order_id) {
  48. $_key = $this->getOrderIdKey($order_id);
  49. $_order_data_json = Cache::get($_key);
  50. $_order_data = json_decode($_order_data_json, true);
  51. if(!is_array($_order_data)){
  52. $_order_data = $_order_data_json;
  53. }
  54. if (empty($_order_data)) {
  55. return false;
  56. }
  57. return $_order_data;
  58. }
  59. }