CollectController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace addons\TinyShop\api\modules\v1\controllers\common;
  3. use Yii;
  4. use yii\base\Model;
  5. use addons\TinyShop\common\models\common\Collect;
  6. /**
  7. * 收藏
  8. *
  9. * Class CollectController
  10. * @package addons\TinyShop\api\modules\v1\controllers\common
  11. * @author jianyan74 <751393839@qq.com>
  12. */
  13. class CollectController extends FollowController
  14. {
  15. /**
  16. * @var Collect
  17. */
  18. public $modelClass = Collect::class;
  19. /**
  20. * @param $topic_id
  21. * @param $topic_type
  22. * @return Collect|array|\yii\db\ActiveRecord|null
  23. */
  24. public function findByTopicId($topic_id, $topic_type)
  25. {
  26. return Yii::$app->tinyShopService->collect->findByTopicId($topic_id, $topic_type, Yii::$app->user->identity->member_id);
  27. }
  28. /**
  29. * @param $id
  30. * @return Collect|array|\yii\db\ActiveRecord|null
  31. */
  32. public function findById($id)
  33. {
  34. return Yii::$app->tinyShopService->collect->findById($id, Yii::$app->user->identity->member_id);
  35. }
  36. /**
  37. * @param Collect $model
  38. * @param $class
  39. * @param $num
  40. * @return mixed
  41. */
  42. public function callBack($model, $class, $num)
  43. {
  44. /** @var Model $class */
  45. return $class::updateAllCounters(['collect_num' => $num], ['id' => $model->topic_id]);
  46. }
  47. }
粤ICP备19079148号