作者 Your Name

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into dev

... ... @@ -3,6 +3,7 @@
namespace App\Http\Controllers\Aside;
use App\Enums\Common\Code;
use App\Enums\Common\Common;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
... ... @@ -21,7 +22,7 @@ class BaseController extends Controller
protected $order = 'id';
protected $map = [];//处理后的参数
protected $uid = 0;
protected $user = [];//当前登录用户详情
protected $manage = [];//当前登录用户详情
/**
* 获取所有参数
*/
... ... @@ -31,9 +32,9 @@ class BaseController extends Controller
$this->param = $this->request->all();
$this->token = $this->request->header('token');
$this->get_param();
if(!empty($this->token) && !empty(Cache::get($this->token))){
$info = Cache::get($this->token);
$this->user = $info;
if(!empty($this->token) && !empty(Cache::get(Common::MANAGE_TOKEN . $this->token))){
$info = Cache::get(Common::MANAGE_TOKEN . $this->token);
$this->manage = $info;
$this->uid = $info['id'];
}
}
... ...
... ... @@ -2,8 +2,8 @@
namespace App\Http\Controllers\Aside;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Logic\Aside\Manage\MenuLogic;
use App\Models\Manage\Manage;
/**
* Class IndexController
... ... @@ -11,16 +11,25 @@ use Illuminate\Http\Request;
* @author zbj
* @date 2023/4/19
*/
class IndexController extends Controller
class IndexController extends BaseController
{
/**
* 首页
* @param Request $request
* 用户菜单
* @param MenuLogic $logic
* @return \Illuminate\Http\JsonResponse
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
* @author zbj
* @date 2023/6/21
*/
public function index(Request $request)
public function get_menu(MenuLogic $logic)
{
if($this->manage['id'] == Manage::ADMINISTRATOR_ID){ //超级管理员
$menus = $logic->getAllMenu();
}else{
$menus = $logic->getMenuByGroupId($this->manage['gid']);
}
return $this->success($menus);
}
}
... ...
... ... @@ -6,8 +6,11 @@ use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Manage\MenuLogic;
use App\Http\Requests\Aside\Manage\MenuRequest;
use App\Models\Manage\Menu;
use App\Rules\Ids;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Str;
/**
* 后台菜单
... ... @@ -23,10 +26,24 @@ class MenuController extends BaseController
{
$map = [];
$sort = ['id' => 'desc'];
$list = $logic->getList($map, $sort, ['*'],0);
$list = $logic->getList($map, $sort, ['id', 'pid', 'title', 'icon', 'type'],0);
return $this->success(Arr::listToTree($list));
}
public function routes(Request $request){
//已绑定菜单的路由
$menu_route = array_filter(Menu::pluck('route_name')->toArray());
//路由
$list = [];
$routes = Route::getRoutes()->getRoutesByName();
foreach ($routes as $name => $route) {
if(Str::startsWith($name, 'admin.') && !Str::endsWith($name, '.white') && !in_array($name, $menu_route)){
$list[] = $name;
}
}
return $this->success($list);
}
public function info(Request $request, MenuLogic $logic){
$request->validate([
'id'=>'required'
... ...
<?php
namespace App\Http\Controllers\Aside\Project;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Project\OptimizeLogic;
/**
* @remark :优化方案设置
* @name :OptimizeController
* @author :lyh
* @time :2023/6/20 14:33
*/
class OptimizeController extends BaseController
{
/**
* @remark :授权域名
* @name :empowerDomain
* @author :lyh
* @method :post
* @time :2023/6/20 15:10
*/
public function empowerDomain(OptimizeLogic $optimizeLogic){
$this->request->validate([
'id'=>'required',
'gsc_id'=>'required'
],[
'id.required' => '审核域名ID不能为空',
'gsc_id.required' => 'GSC账号ID不能为空'
]);
$optimizeLogic->empowerDomain();
$this->response('success');
}
/**
* @remark :优化设置
* @name :save
* @author :lyh
* @method :post
* @time :2023/6/20 14:33
*/
public function save(){
$this->response('success');
}
}
... ...
... ... @@ -24,8 +24,11 @@ class ProjectController extends BaseController
public function list(ProjectLogic $logic)
{
$map = [];
if(!empty($this->param['type'])){
$map[] = ['type', $this->param['type']];
}
if(!empty($this->param['search'])){
$map[] = ['title', 'like', "%{$this->param['search']}%"];
$map[] = ['title|company', $this->param['search']];
}
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort);
... ... @@ -78,4 +81,19 @@ class ProjectController extends BaseController
$data = $logic->saveInquirySet($this->param);
return $this->success($data);
}
/**
* 数据源
* @param ProjectLogic $logic
* @return \Illuminate\Http\JsonResponse
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
* @author zbj
* @date 2023/6/20
*/
public function data_source(ProjectLogic $logic){
$data = $logic->dataSource();
return $this->success($data);
}
}
... ...
... ... @@ -2,7 +2,9 @@
namespace App\Http\Controllers\Aside\User;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\User\DeptLogic;
/**
* @remark :b端用户组织架构
... ... @@ -18,8 +20,9 @@ class ProjectDeptController extends BaseController
* @method :post
* @time :2023/6/17 16:13
*/
public function lists(){
public function lists(DeptLogic $deptLogic){
$lists = $deptLogic->DeptLists($this->map,$this->page,$this->row,$this->order);
$this->response('success',Code::SUCCESS,$lists);
}
/**
... ... @@ -28,8 +31,14 @@ class ProjectDeptController extends BaseController
* @method :post
* @time :2023/6/17 16:13
*/
public function read(){
public function read(DeptLogic $deptLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$info = $deptLogic->DeptRead();
$this->response('success',Code::SUCCESS,$info);
}
}
... ...
... ... @@ -20,7 +20,8 @@ class MailController extends BaseController
public function lists(){
$mailModel = new MailModel();
//获取当前用户下的所有站内信
$lists = $mailModel->where('user_list','like','%,'.$this->uid.',%')->orWhere('user_list', '')->select(['*'])->orderBy($this->order,'desc')
$lists = $mailModel->where('status',0)
->where('user_list','like','%,'.$this->uid.',%')->orWhere('user_list', '')->select(['*'])->orderBy($this->order,'desc')
->paginate($this->row, ['*'], 'page', $this->page);
if(!empty($lists)){
$lists = $lists->toArray();
... ...
... ... @@ -195,8 +195,7 @@ class TemplateController extends BaseController
*/
public function chunk(){
$lists = TemplateChunkLogic::instance()->getList([['status','=',1]],['sort'=>'asc'],['*'],false)->toArray();
$lists = TemplateChunkLogic::instance()->getList([['status','=',1]],['sort'=>'asc'],['*'],false);
foreach ($lists as &$list){
unset($list['created_at']);
unset($list['updated_at']);
... ...
... ... @@ -27,8 +27,7 @@ class LoginLogic extends BaseLogic
public function login()
{
$manage = $this->model->select('id', 'name', 'password', 'token')->where('mobile', $this->requestAll['mobile'])->first();
$manage = $this->model->select('id', 'name', 'password', 'token', 'status', 'gid', 'dept_id')->where('mobile', $this->requestAll['mobile'])->first();
if (!$manage){
$this->fail('登录用户名不存在');
}
... ... @@ -54,7 +53,7 @@ class LoginLogic extends BaseLogic
$this->fail('系统错误,请联系管理员');
}
LoginLog::addLog($manage->id);
return $this->success($manage->toArray());
return $this->success($manage->makeVisible('token')->toArray());
}
public function logout(){
... ...
... ... @@ -28,4 +28,10 @@ class ManageLogic extends BaseLogic
}
return parent::save($param);
}
public static function getCacheName($id){
$info = (new self())->getCacheInfo($id);
return $info['name'] ?? '';
}
}
... ...
... ... @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Manage;
use App\Helper\Arr;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Manage\Group;
use App\Models\Manage\Menu;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Str;
... ... @@ -27,18 +28,6 @@ class MenuLogic extends BaseLogic
public function getInfo($id)
{
$info = parent::getInfo($id);
//已绑定菜单的路由
$menu_route = array_filter(Menu::pluck('route_name')->toArray());
//路由
$info['route'] = [];
$routes = Route::getRoutes()->getRoutesByName();
foreach ($routes as $name => $route) {
if(Str::startsWith($name, 'admin.') && !Str::endsWith($name, '.white') && !in_array($name, $menu_route)){
$info['route'][] = $name;
}
}
return $this->success($info);
}
... ... @@ -69,4 +58,20 @@ class MenuLogic extends BaseLogic
}
return parent::delete($ids);
}
public function getAllMenu(){
$map[] = ['type' => Menu::TYPE_MENU];
$map[] = ['status' => Menu::STATUS_NORMAL];
$list = parent::getList($map, ['id' => 'desc'], ['id', 'pid', 'title', 'icon', 'type'], 0);
return $this->success(Arr::listToTree($list));
}
public function getMenuByGroupId($gid){
$rights = Group::where(['id' => $gid, 'status' => Group::STATUS_NORMAL])->pluck('rights')->first();
$map[] = ['type' => Menu::TYPE_MENU];
$map[] = ['status' => Menu::STATUS_NORMAL];
$map[] = ['id', 'in', $rights];
$list = parent::getList($map, ['id' => 'desc'], ['id', 'pid', 'title', 'icon', 'type'], 0);
return $this->success(Arr::listToTree($list));
}
}
... ...
... ... @@ -29,7 +29,7 @@ class GscLogic extends BaseLogic
$domainInfoModel = new DomainInfo();
foreach ($lists['list'] as $k => $v){
$lists['list'][$k]['tal'] = $domainInfoModel->formatQuery(['gsc_id'=>$v['id']])->count();
$lists['list'][$k]['pub'] = $domainInfoModel->formatQuery(['gsc_id'=>$v['id']])->count();
$lists['list'][$k]['pub'] = $domainInfoModel->formatQuery(['gsc_id'=>$v['id'],'status'=>$domainInfoModel::STATUS_TRUE])->count();
$lists['list'][$k]['num'] = $lists['list'][$k]['tal'] - $lists['list'][$k]['pub'];
}
}
... ... @@ -37,7 +37,7 @@ class GscLogic extends BaseLogic
}
/**
* @remark :gsc账号列表
* @remark :gsc账号审核域名列表
* @name :DomainLists
* @author :lyh
* @method :post
... ...
<?php
namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Project\DeployOptimize;
use App\Models\Project\DomainInfo;
/**
* @remark :优化授权域名
* @name :OptimizeLogic
* @author :lyh
* @time :2023/6/20 15:14
*/
class OptimizeLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new DeployOptimize();
$this->param = $this->requestAll;
}
/**
* @remark :授权域名
* @name :empowerDomain
* @author :lyh
* @method :post
* @time :2023/6/20 15:12
*/
public function empowerDomain(){
$domain = new DomainInfo();
$rs = $domain->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('error');
}
return $this->success();
}
}
... ...
... ... @@ -6,12 +6,16 @@ namespace App\Http\Logic\Aside\Project;
use App\Helper\Arr;
use App\Helper\FormGlobalsoApi;
use App\Http\Logic\Aside\BaseLogic;
use App\Http\Logic\Aside\Manage\ManageLogic;
use App\Models\City;
use App\Models\InquirySet;
use App\Models\Manage\Manage;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Payment;
use App\Models\Project\Project;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
/**
... ... @@ -32,7 +36,30 @@ class ProjectLogic extends BaseLogic
public function getList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20)
{
parent::setWith(['payment', 'deploy_build', 'deploy_optimize']);
return parent::getList($map, $sort, $columns, $limit);
$list = parent::getList($map, $sort, ['id', 'title', 'channel', 'type', 'created_at'], $limit);
foreach ($list['list'] as &$item){
$item = [
'id' => $item['id'],
'title' => $item['title'],
'channel' => $item['channel']['channel'] . ' - ' . $item['channel']['saler'],
'key' => $item['deploy_build']['keyword_num'],
'day' => $item['deploy_build']['service_duration'],
'amount' => $item['payment']['amount'],
'build_leader' => ManageLogic::getCacheName($item['deploy_build']['leader_mid']), //组长
'build_manager' => ManageLogic::getCacheName($item['deploy_build']['manager_mid']), //项目经理
'build_designer' => ManageLogic::getCacheName($item['deploy_build']['designer_mid']), //设计师
'build_tech' => ManageLogic::getCacheName($item['deploy_build']['tech_mid']), //技术助理
'optimize_manager' => ManageLogic::getCacheName($item['deploy_optimize']['manager_mid']), //优化服务经理
'optimize_optimist' => ManageLogic::getCacheName($item['deploy_optimize']['optimist_mid']), //优化师
'optimize_assist' => ManageLogic::getCacheName($item['deploy_optimize']['assist_mid']), //优化助理
'optimize_tech' => ManageLogic::getCacheName($item['deploy_optimize']['tech_mid']), //售后技术
'type' => $this->model::typeMap()[$item['type']] ?: '',
'test_domain' => $item['deploy_build']['test_domain'],
'domain' => $item['deploy_optimize']['domain'],
'crated_at' => date('Y年m月d日', strtotime($item['created_at'])),
];
}
return $list;
}
public function getInfo($id)
... ... @@ -159,4 +186,15 @@ class ProjectLogic extends BaseLogic
$set->save();
return $this->success();
}
public function dataSource(){
$data = [];
$data['level'] = $this->model::levelMap();
$data['type'] = $this->model::typeMap();
$data['special'] = $this->model::specialMap();
$data['city'] = City::getTreeList();
return $data;
}
}
... ...
<?php
namespace App\Http\Logic\Aside\User;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\User\ProjectDept;
class DeptLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ProjectDept();
$this->param = $this->requestAll;
}
/**
* @remark :Dept组织价格列表
* @name :DeptLists
* @author :lyh
* @method :post
* @time :2023/6/21 14:56
*/
public function DeptLists($map,$page,$row,$order = 'created_at',$filed = ['*']){
$lists = $this->model->lists($map,$page,$row,$order,$filed);
return $this->success($lists);
}
/**
* @remark :组织架构详情
* @name :DeptRead
* @author :lyh
* @method :post
* @time :2023/6/21 15:01
*/
public function DeptRead(){
$info = $this->model->read($this->param);
if($info === false){
$this->fail('当前数据不存在,或者被删除');
}
return $this->success($info);
}
}
... ...
... ... @@ -133,9 +133,11 @@ class CountLogic extends BaseLogic
->select('referrer_url', DB::raw('COUNT(*) as count'))->groupBy('referrer_url')
->orderByDesc('count')->limit(8)->get()->toArray();
$total = DB::table('gl_customer_visit')->count();
$data = object_to_array($data);
foreach ($data as $k=>$v){
$data[$k]['proportion'] = ($v['count']/$total) * 100;
if(!empty($data)){
$data = object_to_array($data);
foreach ($data as $k=>$v){
$data[$k]['proportion'] = ($v['count']/$total) * 100;
}
}
return $this->success($data);
}
... ... @@ -150,10 +152,12 @@ class CountLogic extends BaseLogic
$data = DB::table('gl_customer_visit')
->select('country',DB::raw('COUNT(*) as ip'),DB::raw('SUM(depth) as pv'))
->groupBy('country')->orderBy('ip','desc')->limit(20)->get()->toArray();
$data = object_to_array($data);
foreach ($data as $k => $v){
$v['pv'] = (int)$v['pv'];
$data[$k] = $v;
if(!empty($data)){
$data = object_to_array($data);
foreach ($data as $k => $v){
$v['pv'] = (int)$v['pv'];
$data[$k] = $v;
}
}
return $this->success($data);
}
... ...
... ... @@ -26,8 +26,8 @@ class MailLogic extends BaseLogic
//生成一条阅读记录
$mailUserModel = new MailUserModel();
$data = [
'user_id'=>$info['id'],
'mail_id'=>$this->user['id'],
'user_id'=>$this->user['id'],
'mail_id'=>$info['id'],
];
//查询当前记录是否存在
$read_info = $mailUserModel->read($data);
... ...
... ... @@ -46,6 +46,7 @@ class ProofreadingLogic extends BaseLogic
$v['project_id'] = $this->user['project_id'];
$v['language_id'] = $this->param['language_id'];
$v['type'] = $this->param['type'];
$v['alias'] = $this->param['alias'];
$this->param['data'][$k] = $v;
}
//新增
... ...
... ... @@ -35,7 +35,7 @@ class ManageRequest extends FormRequest
return [
'name'=>'required|max:20',
'email'=>'email|max:64',
'mobile' => ['required', new Mobile()],
'mobile' => ['required', new Mobile(), Rule::unique('gl_manage')->ignore(request()->get('id',0))],
'password' => 'required|min:6',
'status' => ['required', Rule::in(array_keys(Manage::statusMap()))],
];
... ... @@ -49,6 +49,7 @@ class ManageRequest extends FormRequest
'email.email' => '邮箱格式不正确',
'email.max' => '邮箱不能超过64个字',
'mobile.required' => '请输入手机号',
'mobile.unique' => '手机号已存在',
'password.required' => '请输入密码',
'password.min' => '密码长度不能小于6位',
'status.required' => '请选择状态',
... ...
<?php
namespace App\Models;
use App\Helper\Arr;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
/**
* Class City
* @package App\Models
* @author zbj
* @date 2023/6/20
*/
class City extends Model
{
//设置关联表名
protected $table = 'gl_system_city';
public static function getTreeList(){
$cache_key = 'city_select_tree';
$data = Cache::get($cache_key);
if(!$data){
$list = self::select(['city_id', 'parent_id', 'name'])->whereIn('level', [0,1])->get()->toArray();
$data = Arr::listToTree($list, 'city_id', 'parent_id');
Cache::put($cache_key, $data, 24 * 3600);
}
return $data;
}
}
... ...
... ... @@ -11,8 +11,8 @@ class Group extends Base
{
protected $table = 'gl_manage_group';
const STATUS_NORMAL = 0;
const STATUS_ABNORMAL = 1;
const STATUS_NORMAL = 1;
const STATUS_ABNORMAL = 0;
/**
* @return string[]
... ...
... ... @@ -9,10 +9,10 @@ class Manage extends Base
//设置关联表名
protected $table = 'gl_manage';
protected $hidden = ['password'];
protected $hidden = ['password', 'token'];
const STATUS_ACTIVE = 0;
const STATUS_DISABLE = 1;
const STATUS_ACTIVE = 1;
const STATUS_DISABLE = 0;
/**
* 超级管理员ID, 当前ID拥有所有权限, 不能进行修改
... ...
... ... @@ -9,12 +9,11 @@ class Menu extends Base
{
protected $table = 'gl_manage_menu';
const STATUS_NORMAL = 0;
const STATUS_ABNORMAL = 1;
const STATUS_NORMAL = 1;
const STATUS_ABNORMAL = 0;
const TYPE_SHOW = 'show';
const TYPE_SAVE = 'save';
const TYPE_DELETE = 'delete';
const TYPE_MENU = 'menu';
const TYPE_NODE = 'node';
/**
* @return string[]
... ... @@ -33,9 +32,8 @@ class Menu extends Base
public static function typeMap(): array
{
return [
self::TYPE_SHOW => '查看',
self::TYPE_SAVE => '保存',
self::TYPE_DELETE => '删除',
self::TYPE_MENU => '菜单',
self::TYPE_NODE => '权限节点',
];
}
... ...
... ... @@ -9,6 +9,8 @@ use Illuminate\Support\Facades\Cache;
class DomainInfo extends Base
{
const STATUS_TRUE = 1;//审核成功状态
//设置关联表名
protected $table = 'gl_project_domain_info';
... ...
... ... @@ -5,6 +5,7 @@ namespace App\Models\Project;
use App\Helper\Arr;
use App\Models\Base;
use App\Models\Devops\ServerConfig;
use App\Services\Facades\Upload;
use Illuminate\Support\Facades\Cache;
class Project extends Base
... ... @@ -50,26 +51,39 @@ class Project extends Base
];
}
public static function planMap(){
public static function planMap()
{
return [
'营销大师-体验版',
'营销大师-标准版',
'营销大师-商务版',
'营销大师-旗舰版',
'数据大师-体验版',
'数据大师-智能版',
'数据大师-智慧版',
'PLUS-尊享版',
'PLUS-尊贵版',
'PLUS-至尊版',
'防疫物质推广方案',
'疫情期间免费版',
'建站大师定制优化方案',
'星链网站(1年版)',
'星链网站(2年版)',
1 => '营销大师-体验版',
2 => '营销大师-标准版',
3 => '营销大师-商务版',
4 => '营销大师-旗舰版',
5 => '数据大师-体验版',
6 => '数据大师-智能版',
7 => '数据大师-智慧版',
8 => 'PLUS-尊享版',
9 => 'PLUS-尊贵版',
10 => 'PLUS-至尊版',
11 => '防疫物质推广方案',
12 => '疫情期间免费版',
13 => '建站大师定制优化方案',
14 => '星链网站(1年版)',
15 => '星链网站(2年版)',
];
}
public static function specialMap()
{
return [
1 => '自建站项目',
2 => '重点跟进',
3 => '推广案例',
4 => '全球搜案例',
5 => '设计师案例',
];
}
/**
* 项目部署服务器信息
* @return \Illuminate\Database\Eloquent\Relations\HasOne
... ... @@ -141,28 +155,62 @@ class Project extends Base
return self::hasOne(DeployOptimize::class, 'project_id', 'id');
}
public function setLevelAttribute($value){
public function setLevelAttribute($value)
{
$this->attributes['level'] = Arr::arrToSet($value);
}
public function getLevelAttribute($value){
public function getLevelAttribute($value)
{
return Arr::setToArr($value);
}
public function setChannelAttribute($value){
public function setChannelAttribute($value)
{
$this->attributes['channel'] = Arr::a2s($value);
}
public function getChannelAttribute($value){
public function getChannelAttribute($value)
{
return Arr::s2a($value);
}
public function setNoticeAttribute($value){
$this->attributes['notice'] = Arr::a2s($value);
public function setNoticeFileAttribute($value)
{
foreach ($value as &$v) {
$v = Upload::url2path($v);
}
$this->attributes['notice_file'] = Arr::a2s($value);
}
public function getNoticeAttribute($value){
return Arr::s2a($value);
public function getNoticeFileAttribute($value)
{
$value = Arr::s2a($value);
if(!empty($value)){
foreach ($value as &$v) {
$v = Upload::path2url($v);
}
}
return $value;
}
public function setConfirmFileAttribute($value)
{
foreach ($value as &$v) {
$v = Upload::url2path($v);
}
$this->attributes['confirm_file'] = Arr::a2s($value);
}
public function getConfirmFileAttribute($value)
{
$value = Arr::s2a($value);
if(!empty($value)) {
foreach ($value as &$v) {
$v = Upload::path2url($v);
}
}
return $value;
}
/**
... ... @@ -170,21 +218,22 @@ class Project extends Base
* @author zbj
* @date 2023/5/5
*/
public static function getProjectByDomain($domain){
$cache_key = 'project_'.$domain;
public static function getProjectByDomain($domain)
{
$cache_key = 'project_' . $domain;
$data = Cache::get($cache_key);
if(!$data){
if (!$data) {
//是否测试域名
$project_id = DeployBuild::where('test_domain', $domain)->value('project_id');
//是否正式域名
if(!$project_id){
if (!$project_id) {
$project_id = DeployOptimize::where('domain', $domain)->value('project_id');
}
if(!$project_id){
if (!$project_id) {
return [];
}
$data = self::find($project_id);
if($data){
if ($data) {
Cache::put($cache_key, $data);
}
}
... ...
... ... @@ -42,4 +42,11 @@ return [
],
'path' => '/news'
],
//项目相关
'project' =>[
'size' => [
'max' => 1024*1024*1024, // 2M
],
'path' => '/project'
],
];
... ...
... ... @@ -8,6 +8,7 @@ use \App\Http\Controllers\Aside;
//必须登录验证的路由组
Route::middleware(['aloginauth'])->group(function () {
Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
Route::get('/get_menu', [Aside\IndexController::class, 'get_menu'])->name('admin.get_menu.white');
Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
//会员相关
Route::prefix('user')->group(function () {
... ... @@ -76,6 +77,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::get('/info', [Aside\Manage\MenuController::class, 'info'])->name('admin.menu_info');
Route::post('/save', [Aside\Manage\MenuController::class, 'save'])->name('admin.menu_save');
Route::any('/delete', [Aside\Manage\MenuController::class, 'delete'])->name('admin.menu_delete');
Route::any('/routes', [Aside\Manage\MenuController::class, 'routes'])->name('admin.menu_routes');
});
//权限组
... ... @@ -103,12 +105,19 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/save', [Aside\Project\ProjectGscController::class, 'save'])->name('admin.save');
Route::any('/del', [Aside\Project\ProjectGscController::class, 'del'])->name('admin.del');
});
//优化gsc账号记录表
Route::prefix('optimize')->group(function () {
Route::any('/empowerDomain', [Aside\Project\OptimizeController::class, 'empowerDomain'])->name('admin.empowerDomain');
});
//项目管理
Route::prefix('project')->group(function () {
Route::get('/', [Aside\Project\ProjectController::class, 'list'])->name('admin.project');
Route::get('/info', [Aside\Project\ProjectController::class, 'info'])->name('admin.project_info');
Route::post('/save', [Aside\Project\ProjectController::class, 'save'])->name('admin.project_save');
Route::any('/inquiry_set', [Aside\Project\ProjectController::class, 'inquiry_set'])->name('admin.project_inquiry_set');
Route::any('/data_source', [Aside\Project\ProjectController::class, 'data_source'])->name('admin.project_data_source');
});
//工单管理
... ...