更新租户端网站显示

This commit is contained in:
2026-03-10 18:05:10 +08:00
parent c00229f2ee
commit 7cdb591f69
5 changed files with 167 additions and 56 deletions
@@ -8,6 +8,9 @@ use app\admin\BaseController;
use think\facade\Db;
use think\Request;
use think\facade\Session;
use app\model\Tenant\TenantDomain;
use app\model\Tenant\Tenant;
use app\model\System\SystemDomainPool;
/**
* 租户域名绑定控制器
@@ -26,7 +29,7 @@ class TenantDomainController extends BaseController
$subDomain = $request->param('sub_domain', '');
$where = [['delete_time', '=', null]];
if ($tenantId > 0) {
$where[] = ['tid', '=', $tenantId];
}
@@ -37,23 +40,20 @@ class TenantDomainController extends BaseController
$where[] = ['sub_domain', 'like', "%$subDomain%"];
}
$list = Db::name('mete_tenant_domain')
->where($where)
$list = TenantDomain::where($where)
->page($page, $pageSize)
->order('id', 'desc')
->select()
->toArray();
$total = Db::name('mete_tenant_domain')
->where($where)
$total = TenantDomain::where($where)
->count();
// 获取租户名称
$tenantIds = array_column($list, 'tid');
$tenants = [];
if ($tenantIds) {
$tenantList = Db::name('mete_tenant')
->whereIn('id', $tenantIds)
$tenantList = Tenant::whereIn('id', $tenantIds)
->select()
->toArray();
$tenants = array_column($tenantList, null, 'id');
@@ -80,7 +80,7 @@ class TenantDomainController extends BaseController
public function myDomains(Request $request)
{
$tid = $request->param('tid', 0, 'int');
if ($tid <= 0) {
return json([
'code' => 400,
@@ -88,8 +88,7 @@ class TenantDomainController extends BaseController
]);
}
$list = Db::name('mete_tenant_domain')
->where('tid', $tid)
$list = TenantDomain::where('tid', $tid)
->where('delete_time', null)
->order('id', 'desc')
->select()
@@ -141,12 +140,11 @@ class TenantDomainController extends BaseController
}
// 检查主域名是否存在且启用
$mainDomainInfo = Db::name('mete_system_domain_pool')
->where('main_domain', $mainDomain)
$mainDomainInfo = SystemDomainPool::where('main_domain', $mainDomain)
->where('status', 1)
->where('delete_time', null)
->find();
if (!$mainDomainInfo) {
return json([
'code' => 400,
@@ -155,12 +153,11 @@ class TenantDomainController extends BaseController
}
// 检查二级域名是否已被使用
$exists = Db::name('mete_tenant_domain')
->where('sub_domain', $subDomain)
$exists = TenantDomain::where('sub_domain', $subDomain)
->where('main_domain', $mainDomain)
->where('delete_time', null)
->find();
if ($exists) {
return json([
'code' => 400,
@@ -170,8 +167,8 @@ class TenantDomainController extends BaseController
$fullDomain = $subDomain . '.' . $mainDomain;
$now = date('Y-m-d H:i:s');
$id = Db::name('mete_tenant_domain')->insertGetId([
$id = TenantDomain::insertGetId([
'tid' => $tid,
'sub_domain' => $subDomain,
'main_domain' => $mainDomain,
@@ -203,10 +200,9 @@ class TenantDomainController extends BaseController
]);
}
$domain = Db::name('mete_tenant_domain')
->where('id', $id)
$domain = TenantDomain::where('id', $id)
->find();
if (!$domain) {
return json([
'code' => 404,
@@ -222,16 +218,15 @@ class TenantDomainController extends BaseController
}
$newStatus = $action === 'approve' ? 1 : 2; // 1-已生效 2-已拒绝
Db::name('mete_tenant_domain')
->where('id', $id)
TenantDomain::where('id', $id)
->update([
'status' => $newStatus,
'update_time' => date('Y-m-d H:i:s')
]);
$msg = $action === 'approve' ? '审核通过' : '已拒绝';
return json([
'code' => 200,
'msg' => $msg
@@ -244,7 +239,7 @@ class TenantDomainController extends BaseController
public function toggleStatus(Request $request)
{
$id = $request->param('id', 0, 'int');
if ($id <= 0) {
return json([
'code' => 400,
@@ -252,10 +247,9 @@ class TenantDomainController extends BaseController
]);
}
$domain = Db::name('mete_tenant_domain')
->where('id', $id)
$domain = TenantDomain::where('id', $id)
->find();
if (!$domain) {
return json([
'code' => 404,
@@ -272,8 +266,7 @@ class TenantDomainController extends BaseController
}
// 切换为禁用状态
Db::name('mete_tenant_domain')
->where('id', $id)
TenantDomain::where('id', $id)
->update([
'status' => 2,
'update_time' => date('Y-m-d H:i:s')
@@ -297,8 +290,7 @@ class TenantDomainController extends BaseController
]);
}
Db::name('mete_tenant_domain')
->where('id', $id)
TenantDomain::where('id', $id)
->update([
'delete_time' => date('Y-m-d H:i:s')
]);
@@ -16,8 +16,9 @@ class ThemeController extends BaseController
{
private ThemeService $themeService;
public function __construct()
public function __construct(\think\App $app)
{
parent::__construct($app);
$this->themeService = new ThemeService();
}
@@ -50,9 +51,17 @@ class ThemeController extends BaseController
*/
public function switch()
{
$tid = Request::post('tid', 0, 'int');
// 从当前登录用户获取tid,而不是从前端参数
$tid = $this->getTenantId();
$themeKey = Request::post('theme_key', '');
if (empty($tid) || $tid == 0) {
return json([
'code' => 401,
'msg' => '未获取到租户ID,请重新登录'
]);
}
if (empty($themeKey)) {
return json([
'code' => 400,