CacheRepository.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020-04-24
  7. *
  8. *
  9. */
  10. namespace app\common\repositories\system;
  11. use app\common\dao\system\CacheDao;
  12. use app\common\repositories\BaseRepository;
  13. use think\db\exception\DbException;
  14. use think\facade\Db;
  15. /**
  16. * Class CacheRepository
  17. * @package app\common\repositories\system
  18. * @author xaboy
  19. * @day 2020-04-24
  20. * @mixin CacheDao
  21. */
  22. class CacheRepository extends BaseRepository
  23. {
  24. /**
  25. * CacheRepository constructor.
  26. * @param CacheDao $dao
  27. */
  28. public function __construct(CacheDao $dao)
  29. {
  30. $this->dao = $dao;
  31. }
  32. /**
  33. * @param string $key
  34. * @param $result
  35. * @param int $expire_time
  36. * @throws DbException
  37. * @author xaboy
  38. * @day 2020-04-24
  39. */
  40. public function save(string $key, $result, int $expire_time = 0)
  41. {
  42. if(!empty($result)){
  43. $result=json_encode($result);
  44. }
  45. if (!$this->dao->fieldExists('key', $key)) {
  46. Db::name('cache')->insert(['result'=>$result,'expire_time'=>$expire_time,'create_time'=>date('Y-m-d H:i:s',time())]);
  47. } else {
  48. Db::name('cache')->where('key',$key)->update(['result'=>$result,'expire_time'=>$expire_time,'create_time'=>date('Y-m-d H:i:s',time())]);
  49. }
  50. }
  51. }