From eb86ede96bf083faa44d319e0ab7c1655780a3d9 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 10:46:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=92=E5=BD=92=E6=9F=A5=E8=AF=A2=E4=B8=8B?= =?UTF-8?q?=E5=B1=9E=E5=85=AC=E5=8F=B8=E7=9A=84=E6=96=87=E7=AB=A0=E5=92=8C?= =?UTF-8?q?=E5=85=85=E5=80=BC=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/lists/article/ArticleLists.php | 9 ++++++++- app/adminapi/lists/recharge/RechargeLists.php | 7 ++++++- app/adminapi/logic/CompanyLogic.php | 11 +++++++++++ app/common/model/article/Article.php | 6 ++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/app/adminapi/lists/article/ArticleLists.php b/app/adminapi/lists/article/ArticleLists.php index 9c91a175c..2bb1f073e 100755 --- a/app/adminapi/lists/article/ArticleLists.php +++ b/app/adminapi/lists/article/ArticleLists.php @@ -15,9 +15,11 @@ namespace app\adminapi\lists\article; use app\adminapi\lists\BaseAdminDataLists; +use app\adminapi\logic\CompanyLogic; use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSortInterface; use app\common\model\article\Article; +use app\common\model\Company; /** * 资讯列表 @@ -71,7 +73,12 @@ class ArticleLists extends BaseAdminDataLists implements ListsSearchInterface, L */ public function lists(): array { - $ArticleLists = Article::where($this->searchWhere) + $query = Article::where($this->searchWhere); + $companyIds = CompanyLogic::getAllCompanyIds(); + if (!empty($companyIds)) { + $query->whereIn('company_id', $companyIds); + } + $ArticleLists = $query->with(['company']) ->append(['cate_name', 'click']) ->limit($this->limitOffset, $this->limitLength) ->order($this->sortOrder) diff --git a/app/adminapi/lists/recharge/RechargeLists.php b/app/adminapi/lists/recharge/RechargeLists.php index 5b499c627..fb16607ac 100755 --- a/app/adminapi/lists/recharge/RechargeLists.php +++ b/app/adminapi/lists/recharge/RechargeLists.php @@ -15,6 +15,7 @@ namespace app\adminapi\lists\recharge; use app\adminapi\lists\BaseAdminDataLists; +use app\adminapi\logic\CompanyLogic; use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface; use app\common\model\recharge\RechargeOrder; @@ -103,13 +104,17 @@ class RechargeLists extends BaseAdminDataLists implements ListsSearchInterface, */ public function lists(): array { + $companyIds = CompanyLogic::getAllCompanyIds(); $field = 'ro.id,ro.sn,ro.order_amount,ro.pay_way,ro.pay_time,ro.pay_status,ro.create_time,ro.refund_status'; - $field .= ',u.avatar,u.nickname'; + $field .= ',u.avatar,u.nickname,a.company_id'; $lists = RechargeOrder::alias('ro') ->join('user u', 'u.id = ro.user_id') + ->join('admin a', 'u.admin_id = a.id') + ->join('company c', 'a.company_id = c.id') ->field($field) ->where($this->queryWhere()) ->where($this->searchWhere) + ->where('c.id', 'in', $companyIds) ->order('ro.id', 'desc') ->limit($this->limitOffset, $this->limitLength) ->append(['pay_status_text', 'pay_way_text']) diff --git a/app/adminapi/logic/CompanyLogic.php b/app/adminapi/logic/CompanyLogic.php index 52e87bf27..b4d585461 100644 --- a/app/adminapi/logic/CompanyLogic.php +++ b/app/adminapi/logic/CompanyLogic.php @@ -187,4 +187,15 @@ class CompanyLogic extends BaseLogic $model->save(); } + public static function getAllCompanyIds() + { + $companyId = request()->adminInfo['company_id'] ?? 0; + $companyIds[] = $companyId; + $companies = loopGetChild(Company::class, $companyId, 'level_one', 'id,level_one'); + if (!empty($companies)) { + $companyIds = array_merge(array_column($companies, 'id'), $companyIds); + } + return array_filter($companyIds); + } + } \ No newline at end of file diff --git a/app/common/model/article/Article.php b/app/common/model/article/Article.php index f079ebc98..698d53328 100755 --- a/app/common/model/article/Article.php +++ b/app/common/model/article/Article.php @@ -16,6 +16,7 @@ namespace app\common\model\article; use app\common\enum\YesNoEnum; use app\common\model\BaseModel; +use app\common\model\Company; use think\model\concern\SoftDelete; /** @@ -109,4 +110,9 @@ class Article extends BaseModel ->toArray(); } + public function company() + { + return $this->hasOne(Company::class, 'id', 'company_id')->field('id,company_name'); + } + } \ No newline at end of file