WechatAuthorizationInfoController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace Modules\WechatPlatform\Http\Controllers;
  3. use Catch\Base\CatchController;
  4. use Illuminate\Http\Request;
  5. use Modules\User\Http\Controllers\UserTrait;
  6. use Modules\WechatPlatform\Models\WechatAuthorizationInfo;
  7. class WechatAuthorizationInfoController extends CatchController
  8. {
  9. public function __construct(protected readonly WechatAuthorizationInfo $wechatAuthorizationInfo)
  10. {
  11. }
  12. use UserTrait;
  13. public function index(Request $request)
  14. {
  15. if($this->isOptimizer()){
  16. $where = [
  17. ['wechat_authorization_infos.user_id','=',$this->getLoginUserId()],
  18. ['wechat_authorization_infos.is_enabled','=',1]
  19. ];
  20. }elseif($this->isCompanyManager()){
  21. $where = [
  22. ['wechat_authorization_infos.puser_id','=',$this->getLoginUserId()],
  23. ['wechat_authorization_infos.is_enabled','=',1]
  24. ];
  25. }else{
  26. return [];
  27. }
  28. $result = $this->wechatAuthorizationInfo->where($where)
  29. ->join('wechat_open_platform_infos','wechat_open_platform_infos.app_id','=','wechat_authorization_infos.component_appid')
  30. ->join('miniprogram','wechat_open_platform_infos.xcx_appid','=','miniprogram.appid')
  31. ->select('wechat_authorization_infos.nick_name','wechat_authorization_infos.authorizer_appid','miniprogram.name as xcx_name')
  32. ->paginate($request->input('limit', 20));
  33. foreach($result as $item){
  34. //获取粉丝数
  35. $item->fans_count = 100;
  36. }
  37. return $result;
  38. }
  39. }