ResourceService.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Bear
  5. * Date: 2019/1/22
  6. * Time: 下午5:52
  7. */
  8. namespace app\common\service;
  9. use app\common\model\ManageCover;
  10. use app\common\model\ManageShareimg;
  11. use app\common\model\ManageSharetitle;
  12. use app\common\model\object\ReturnObject;
  13. /**
  14. * Class ResourceService
  15. * @package app\common\service
  16. */
  17. class ResourceService extends BaseService
  18. {
  19. /**
  20. * @var ResourceService
  21. */
  22. private static $self;
  23. /**
  24. * @return $this|ResourceService
  25. */
  26. public static function instance()
  27. {
  28. if (self::$self == NULL) {
  29. self::$self = new self();
  30. }
  31. return self::$self;
  32. }
  33. /**
  34. * @return ManageSharetitle
  35. */
  36. public function getManageShareTitleModel()
  37. {
  38. return model('ManageSharetitle');
  39. }
  40. /**
  41. * @return ManageSharedesc
  42. */
  43. public function getManageShareDescModel()
  44. {
  45. return model('ManageSharedesc');
  46. }
  47. /**
  48. * @return ManageShareimg
  49. */
  50. public function getManageShareImageModel()
  51. {
  52. return model('ManageShareimg');
  53. }
  54. /**
  55. * @return ManageCover
  56. */
  57. public function getManageCoverModel()
  58. {
  59. return model('ManageCover');
  60. }
  61. /**
  62. * 随机获取一张小图
  63. * @return ReturnObject
  64. */
  65. public function getRandomImage()
  66. {
  67. $max = $this->getManageShareImageModel()->where('type', '=', '2')->count();
  68. $rand = rand(0, $max - 1);
  69. $rand = $rand < 0 ? 0 : $rand;
  70. $randOne = $this->getManageShareImageModel()
  71. ->where('type', '=', '2')
  72. ->limit($rand, 1)
  73. ->select();
  74. if ($randOne) {
  75. $randOne = array_pop($randOne);
  76. return $this->setData($randOne->getData('image'))->getReturn();
  77. } else {
  78. return $this->setData('')->getReturn();
  79. }
  80. }
  81. /**
  82. * 随机获取一张标题
  83. * @return ReturnObject
  84. */
  85. public function getRandomTitle()
  86. {
  87. $max = $this->getManageShareTitleModel()->count();
  88. $rand = rand(0, $max - 1);
  89. $rand = $rand < 0 ? 0 : $rand;
  90. $randOne = $this->getManageShareTitleModel()
  91. ->limit($rand, 1)
  92. ->select();
  93. if ($randOne) {
  94. $randOne = array_pop($randOne);
  95. return $this->setData($randOne->getData('title'))->getReturn();
  96. } else {
  97. return $this->setData('')->getReturn();
  98. }
  99. }
  100. /**
  101. * 随机获取一张大图
  102. * @return ReturnObject
  103. */
  104. public function getRandomCover()
  105. {
  106. $max = $this->getManageShareImageModel()->where('type', '=', '1')->count();
  107. $rand = rand(0, $max - 1);
  108. $rand = $rand < 0 ? 0 : $rand;
  109. $randOne = $this->getManageShareImageModel()
  110. ->where('type', '=', '1')
  111. ->limit($rand, 1)
  112. ->select();
  113. if ($randOne) {
  114. $randOne = array_pop($randOne);
  115. return $this->setData($randOne->getData('image'))->getReturn();
  116. } else {
  117. return $this->setData('')->getReturn();
  118. }
  119. }
  120. /**
  121. * 随机获取一个分享内容
  122. * @return ReturnObject
  123. */
  124. public function getRandomDesc()
  125. {
  126. $where = ['status'=>'normal'];
  127. $max = $this->getManageShareDescModel()->where($where) -> count();
  128. $rand = rand(0, $max - 1);
  129. $rand = $rand < 0 ? 0 : $rand;
  130. $randOne = $this->getManageShareDescModel()
  131. ->where($where)
  132. ->limit($rand, 1)
  133. ->select();
  134. if ($randOne) {
  135. $randOne = array_pop($randOne);
  136. return $this->setData($randOne->getData('desc'))->getReturn();
  137. } else {
  138. return $this->setData('')->getReturn();
  139. }
  140. }
  141. }