作者 Your Name

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

@@ -35,6 +35,7 @@ class BaseController extends Controller @@ -35,6 +35,7 @@ class BaseController extends Controller
35 $info = Cache::get($this->token); 35 $info = Cache::get($this->token);
36 $this->user = $info; 36 $this->user = $info;
37 $this->uid = $info['id']; 37 $this->uid = $info['id'];
  38 + $this->param['project_id'] = $this->user['project_id'];
38 }else{ 39 }else{
39 return response(['code'=>Code::USER_ERROR,'msg'=>'当前用户未登录']); 40 return response(['code'=>Code::USER_ERROR,'msg'=>'当前用户未登录']);
40 } 41 }
@@ -37,7 +37,7 @@ class ComController extends BaseController @@ -37,7 +37,7 @@ class ComController extends BaseController
37 ]; 37 ];
38 $validate = Validator::make($this->param, $rules, $message); 38 $validate = Validator::make($this->param, $rules, $message);
39 if($validate->errors()->first()){ 39 if($validate->errors()->first()){
40 - return $this->response($validate->errors()->first(),Code::USER_ERROR,$this->param); 40 + return $this->response($validate->errors()->first(),Code::USER_ERROR);
41 } 41 }
42 $userModel = new UserModel(); 42 $userModel = new UserModel();
43 Cache::add('1345951a03fd1916a53c48c16b2fdecb','23423423423423'); 43 Cache::add('1345951a03fd1916a53c48c16b2fdecb','23423423423423');
@@ -109,7 +109,7 @@ class ComController extends BaseController @@ -109,7 +109,7 @@ class ComController extends BaseController
109 ]; 109 ];
110 $validate = Validator::make($this->param, $rules, $message); 110 $validate = Validator::make($this->param, $rules, $message);
111 if($validate->fails()){ 111 if($validate->fails()){
112 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param); 112 + return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE);
113 } 113 }
114 $userModel = new UserModel(); 114 $userModel = new UserModel();
115 $this->param['id'] = $this->uid; 115 $this->param['id'] = $this->uid;
@@ -41,7 +41,6 @@ class KeywordController extends BaseController @@ -41,7 +41,6 @@ class KeywordController extends BaseController
41 41
42 public function save(KeywordRequest $request, KeywordLogic $logic) 42 public function save(KeywordRequest $request, KeywordLogic $logic)
43 { 43 {
44 - $this->param['route'] = generateRoute($this->param['title']);  
45 $data = $logic->save($this->param); 44 $data = $logic->save($this->param);
46 return $this->success($data); 45 return $this->success($data);
47 } 46 }
@@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
2 2
3 namespace App\Http\Controllers\Bside; 3 namespace App\Http\Controllers\Bside;
4 4
5 -use App\Enums\Common\Code;  
6 use App\Http\Logic\Bside\ProjectGroupLogic; 5 use App\Http\Logic\Bside\ProjectGroupLogic;
7 use App\Http\Requests\Bside\ProjectGroupRequest; 6 use App\Http\Requests\Bside\ProjectGroupRequest;
8 7
@@ -22,9 +21,39 @@ class ProjectGroupController extends BaseController @@ -22,9 +21,39 @@ class ProjectGroupController extends BaseController
22 21
23 } 22 }
24 23
25 - public function add(ProjectGroupRequest $request,ProjectGroupLogic $logic){ 24 + /**
  25 + * @param ProjectGroupRequest $request
  26 + * @param ProjectGroupLogic $logic
  27 + * @name : 添加用户组
  28 + * @return void
  29 + * @author :liyuhang
  30 + * @method
  31 + */
  32 + public function add(ProjectGroupRequest $request){
26 $request->validated(); 33 $request->validated();
27 - $this->response('success',Code::SUCCESS); 34 + $this->response('success');
28 } 35 }
29 36
  37 + /**
  38 + * @param ProjectGroupRequest $request
  39 + * @param ProjectGroupLogic $logic
  40 + * @name :编辑用户组
  41 + * @return void
  42 + * @author :liyuhang
  43 + * @method
  44 + */
  45 + public function edit(ProjectGroupRequest $request){
  46 + $request->validated();
  47 + $this->response('success');
  48 + }
  49 +
  50 + /**
  51 + * @name :删除用户组
  52 + * @return void
  53 + * @author :liyuhang
  54 + * @method
  55 + */
  56 + public function del(){
  57 +
  58 + }
30 } 59 }
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Http\Controllers\Bside; 3 namespace App\Http\Controllers\Bside;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Http\Requests\Bside\ProjectRoleRequest;
6 use App\Models\ProjectMenu as ProjectMenuModel; 7 use App\Models\ProjectMenu as ProjectMenuModel;
7 use App\Models\ProjectRole as ProjectRoleModel; 8 use App\Models\ProjectRole as ProjectRoleModel;
8 use App\Models\User as UserModel; 9 use App\Models\User as UserModel;
@@ -56,23 +57,8 @@ class ProjectRoleController extends BaseController @@ -56,23 +57,8 @@ class ProjectRoleController extends BaseController
56 * @author :liyuhang 57 * @author :liyuhang
57 * @method 58 * @method
58 */ 59 */
59 - public function add(){  
60 - //TODO::获取当前用户的所在项目组  
61 - //参数验证  
62 - $rules = [  
63 - 'name'=>'required|max:11',  
64 - 'role_menu'=>'required|string',  
65 - ];  
66 - //验证的提示信息  
67 - $message = [  
68 - 'name.required'=>'名称必须填写',  
69 - 'name.max' => '号码不大于11字符.',  
70 - 'role_menu.required'=>'密码必须填写',  
71 - ];  
72 - $validate = Validator::make($this->param, $rules, $message);  
73 - if($validate->fails()){  
74 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
75 - } 60 + public function add(ProjectRoleRequest $request){
  61 + $request->validated();
76 $this->param['project_id'] = $this->user['project_id']; 62 $this->param['project_id'] = $this->user['project_id'];
77 //获取当前项目下的角色超级管理员 63 //获取当前项目下的角色超级管理员
78 $projectRoleModel = new ProjectRoleModel(); 64 $projectRoleModel = new ProjectRoleModel();
@@ -94,24 +80,12 @@ class ProjectRoleController extends BaseController @@ -94,24 +80,12 @@ class ProjectRoleController extends BaseController
94 * @author :liyuhang 80 * @author :liyuhang
95 * @method 81 * @method
96 */ 82 */
97 - public function edit(){  
98 - //TODO::根据当前登录用户返回  
99 - //参数验证  
100 - $rules = [  
101 - 'id'=>'required',  
102 - 'name'=>'required|max:11',  
103 - 'role_menu'=>'required',  
104 - ];  
105 - //验证的提示信息  
106 - $message = [  
107 - 'id.required'=>'主键必须填写',  
108 - 'name.required'=>'名称必须填写',  
109 - 'role_menu.required'=>'菜单权限列表填写',  
110 - ];  
111 - $validate = Validator::make($this->param, $rules, $message);  
112 - if($validate->fails()){  
113 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE);  
114 - } 83 + public function edit(ProjectRoleRequest $request){
  84 + $request->validate([
  85 + 'id'=>['required']
  86 + ],[
  87 + 'id.required' => 'ID不能为空'
  88 + ]);
115 $projectRoleModel = new ProjectRoleModel(); 89 $projectRoleModel = new ProjectRoleModel();
116 //TODO::查询当前名称是否重复 90 //TODO::查询当前名称是否重复
117 $info = $projectRoleModel->where('id','<>',$this->param['id']) 91 $info = $projectRoleModel->where('id','<>',$this->param['id'])
@@ -132,21 +106,14 @@ class ProjectRoleController extends BaseController @@ -132,21 +106,14 @@ class ProjectRoleController extends BaseController
132 * @author :liyuhang 106 * @author :liyuhang
133 * @method 107 * @method
134 */ 108 */
135 - public function status(){  
136 - //参数验证  
137 - $rules = [  
138 - 'id'=>'required',  
139 - 'status'=>'required',  
140 - ];  
141 - //验证的提示信息  
142 - $message = [  
143 - 'id.required'=>'主键必须填写',  
144 - 'status.required'=>'状态必须填写',  
145 - ];  
146 - $validate = Validator::make($this->param, $rules, $message);  
147 - if($validate->fails()){  
148 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
149 - } 109 + public function status(ProjectRoleRequest $request){
  110 + $request->validate([
  111 + 'id'=>['required'],
  112 + 'status'=>['required'],
  113 + ],[
  114 + 'id.required' => 'ID不能为空',
  115 + 'status.required' => 'status不能为空'
  116 + ]);
150 $projectRoleModel = new ProjectRoleModel(); 117 $projectRoleModel = new ProjectRoleModel();
151 $rs = $projectRoleModel->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]); 118 $rs = $projectRoleModel->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]);
152 if($rs === false){ 119 if($rs === false){
@@ -161,19 +128,12 @@ class ProjectRoleController extends BaseController @@ -161,19 +128,12 @@ class ProjectRoleController extends BaseController
161 * @author :liyuhang 128 * @author :liyuhang
162 * @method 129 * @method
163 */ 130 */
164 - public function del(){  
165 - //参数验证  
166 - $rules = [  
167 - 'id'=>'required',  
168 - ];  
169 - //验证的提示信息  
170 - $message = [  
171 - 'id.required'=>'主键必须填写',  
172 - ];  
173 - $validate = Validator::make($this->param, $rules, $message);  
174 - if($validate->fails()){  
175 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
176 - } 131 + public function del(ProjectRoleRequest $request){
  132 + $request->validate([
  133 + 'id'=>['required']
  134 + ],[
  135 + 'id.required' => 'ID不能为空'
  136 + ]);
177 $projectRoleModel = new ProjectRoleModel(); 137 $projectRoleModel = new ProjectRoleModel();
178 //查询当前角色下是否有用户 138 //查询当前角色下是否有用户
179 $userModel = new UserModel(); 139 $userModel = new UserModel();
@@ -185,6 +145,6 @@ class ProjectRoleController extends BaseController @@ -185,6 +145,6 @@ class ProjectRoleController extends BaseController
185 if($rs === false){ 145 if($rs === false){
186 $this->response('error',Code::USER_ERROR); 146 $this->response('error',Code::USER_ERROR);
187 } 147 }
188 - $this->response('success',Code::SUCCESS); 148 + $this->response('success');
189 } 149 }
190 } 150 }
@@ -3,8 +3,10 @@ @@ -3,8 +3,10 @@
3 namespace App\Http\Controllers\Bside; 3 namespace App\Http\Controllers\Bside;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Http\Requests\Bside\UserRequest;
6 use App\Models\User as UserModel; 7 use App\Models\User as UserModel;
7 -use Illuminate\Support\Facades\Validator; 8 +use App\Rules\Ids;
  9 +use Illuminate\Http\Request;
8 10
9 class UserController extends BaseController 11 class UserController extends BaseController
10 { 12 {
@@ -31,29 +33,8 @@ class UserController extends BaseController @@ -31,29 +33,8 @@ class UserController extends BaseController
31 * @author :liyuhang 33 * @author :liyuhang
32 * @method 34 * @method
33 */ 35 */
34 - public function add(){  
35 - $rules = [  
36 - 'mobile'=>'required|string|max:11',  
37 - 'password'=>'required|string|min:5',  
38 - 'name'=>'required|max:20',  
39 - 'role_id'=>'required'  
40 - ];  
41 - //验证的提示信息  
42 - $message = [  
43 - 'mobile.required'=>'号码必须填写',  
44 - 'mobile.string'=>'号码中含有非法文字',  
45 - 'mobile.max' => '号码不大于11字符.',  
46 - 'password.required'=>'密码必须填写',  
47 - 'password.string'=>'密码中含有非法文字',  
48 - 'password.min' => '密码不小于5字符.',  
49 - 'name.required'=>'名称必须填写',  
50 - 'name.min' => '名称不小于5字符.',  
51 - 'role_id.required'=>'角色必须填写',  
52 - ];  
53 - $validate = Validator::make($this->param, $rules, $message);  
54 - if($validate->fails()){  
55 - return $this->response($validate->errors()->first(),Code::USER_LOGIN_ERROE);  
56 - } 36 + public function add(UserRequest $request){
  37 + $request->validated();
57 $userModel = new UserModel(); 38 $userModel = new UserModel();
58 $this->param['project_id'] = $this->user['project_id']; 39 $this->param['project_id'] = $this->user['project_id'];
59 $rs = $userModel->adds($this->param); 40 $rs = $userModel->adds($this->param);
@@ -69,31 +50,13 @@ class UserController extends BaseController @@ -69,31 +50,13 @@ class UserController extends BaseController
69 * @author :liyuhang 50 * @author :liyuhang
70 * @method 51 * @method
71 */ 52 */
72 - public function edit(){  
73 - $rules = [  
74 - 'id'=>'required',  
75 - 'mobile'=>'required|string|max:11',  
76 - 'password'=>'required|string|min:5',  
77 - 'name'=>'required|max:20',  
78 - ];  
79 - //验证的提示信息  
80 - $message = [  
81 - 'id.required'=>'主键不能为空',  
82 - 'mobile.required'=>'号码必须填写',  
83 - 'mobile.string'=>'号码中含有非法文字',  
84 - 'mobile.max' => '号码不大于11字符.',  
85 - 'password.required'=>'密码必须填写',  
86 - 'password.string'=>'密码中含有非法文字',  
87 - 'password.min' => '密码不小于5字符.',  
88 - 'name.required'=>'名称必须填写',  
89 - 'name.min' => '名称不小于5字符.',  
90 - ];  
91 - $validate = Validator::make($this->param, $rules, $message);  
92 - if($validate->fails()){  
93 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
94 - } 53 + public function edit(UserRequest $request){
  54 + $request->validate([
  55 + 'id'=>['required']
  56 + ],[
  57 + 'id.required' => 'ID不能为空'
  58 + ]);
95 $userModel = new UserModel(); 59 $userModel = new UserModel();
96 - //TODO::查询当前手机号码是否重复  
97 $info = $userModel->where('id','<>',$this->param['id']) 60 $info = $userModel->where('id','<>',$this->param['id'])
98 ->where(['mobile'=>$this->param['mobile']])->first(); 61 ->where(['mobile'=>$this->param['mobile']])->first();
99 if(!empty($info)){ 62 if(!empty($info)){
@@ -112,27 +75,20 @@ class UserController extends BaseController @@ -112,27 +75,20 @@ class UserController extends BaseController
112 * @author :liyuhang 75 * @author :liyuhang
113 * @method 76 * @method
114 */ 77 */
115 - public function status(){  
116 - //参数验证  
117 - $rules = [  
118 - 'id'=>'required',  
119 - 'status'=>'required',  
120 - ];  
121 - //验证的提示信息  
122 - $message = [  
123 - 'id.required'=>'主键必须填写',  
124 - 'status.required'=>'状态必须填写',  
125 - ];  
126 - $validate = Validator::make($this->param, $rules, $message);  
127 - if($validate->fails()){  
128 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
129 - } 78 + public function status(Request $request){
  79 + $request->validate([
  80 + 'id'=>['required'],
  81 + 'status'=>['required'],
  82 + ],[
  83 + 'id.required' => 'ID不能为空',
  84 + 'status.required' => 'status不能为空'
  85 + ]);
130 $userLogic = new UserModel(); 86 $userLogic = new UserModel();
131 $rs = $userLogic->edit($this->param,['id'=>$this->param['id']]); 87 $rs = $userLogic->edit($this->param,['id'=>$this->param['id']]);
132 if($rs === false){ 88 if($rs === false){
133 $this->response('error',Code::USER_ERROR); 89 $this->response('error',Code::USER_ERROR);
134 } 90 }
135 - $this->response($this->param['status'] == 0 ? '启用成功' : '禁用成功',Code::SUCCESS); 91 + $this->response($this->param['status'] == 0 ? '启用成功' : '禁用成功');
136 } 92 }
137 /** 93 /**
138 * @name :删除管理员 94 * @name :删除管理员
@@ -140,18 +96,12 @@ class UserController extends BaseController @@ -140,18 +96,12 @@ class UserController extends BaseController
140 * @author :liyuhang 96 * @author :liyuhang
141 * @method 97 * @method
142 */ 98 */
143 - public function del(){  
144 - $rules = [  
145 - 'id'=>'required',  
146 - ];  
147 - //验证的提示信息  
148 - $message = [  
149 - 'id.required'=>'主键不能为空',  
150 - ];  
151 - $validate = Validator::make($this->param, $rules, $message);  
152 - if($validate->fails()){  
153 - return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);  
154 - } 99 + public function del(Request $request){
  100 + $request->validate([
  101 + 'id'=>['required', new Ids()],
  102 + ],[
  103 + 'id.required' => 'ID不能为空',
  104 + ]);
155 $userModel = new UserModel(); 105 $userModel = new UserModel();
156 $rs = $userModel->del($this->param); 106 $rs = $userModel->del($this->param);
157 if($rs === false){ 107 if($rs === false){
@@ -4,7 +4,9 @@ namespace App\Http\Logic\Bside\Product; @@ -4,7 +4,9 @@ namespace App\Http\Logic\Bside\Product;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
6 use App\Http\Logic\Bside\BaseLogic; 6 use App\Http\Logic\Bside\BaseLogic;
  7 +use App\Models\RouteMap;
7 use App\Models\Product\Keyword; 8 use App\Models\Product\Keyword;
  9 +use Illuminate\Support\Facades\DB;
8 10
9 /** 11 /**
10 * Class KeywordLogic 12 * Class KeywordLogic
@@ -21,6 +23,20 @@ class KeywordLogic extends BaseLogic @@ -21,6 +23,20 @@ class KeywordLogic extends BaseLogic
21 $this->model = new Keyword(); 23 $this->model = new Keyword();
22 } 24 }
23 25
  26 + public function save($param){
  27 + DB::beginTransaction();
  28 + try {
  29 + $res = parent::save($param);
  30 + //路由映射
  31 + RouteMap::setRoute($param['title'], RouteMap::SOURCE_PRODUCT_KEYWORD, $res['id'], $param['project_id'], true);
  32 + DB::commit();
  33 + }catch (\Exception $e){
  34 + DB::rollBack();
  35 + $this->fail('保存失败');
  36 + }
  37 + return $this->success();
  38 + }
  39 +
24 public function delete($ids){ 40 public function delete($ids){
25 $ids= array_filter(Arr::splitFilterToArray($ids), 'intval'); 41 $ids= array_filter(Arr::splitFilterToArray($ids), 'intval');
26 foreach ($ids as $id){ 42 foreach ($ids as $id){
@@ -31,6 +47,8 @@ class KeywordLogic extends BaseLogic @@ -31,6 +47,8 @@ class KeywordLogic extends BaseLogic
31 47
32 //todo 是否有关联商品 48 //todo 是否有关联商品
33 49
  50 + //todo 删除路由映射 事务
  51 +
34 } 52 }
35 return parent::delete($ids); 53 return parent::delete($ids);
36 } 54 }
1 -<?php  
2 -  
3 -namespace App\Http\Logic\Bside;  
4 -  
5 -class ProjectGroupLogic extends BaseLogic  
6 -{  
7 -  
8 -}  
1 -<?php  
2 -  
3 -namespace App\Http\Logic\Bside;  
4 -  
5 -use App\Models\User;  
6 -  
7 -class UserLogic extends BaseLogic  
8 -{  
9 - public function __construct()  
10 - {  
11 - parent::__construct();  
12 -  
13 - $this->model = new User();  
14 - }  
15 -  
16 -}  
@@ -16,15 +16,18 @@ class ProjectGroupRequest extends FormRequest @@ -16,15 +16,18 @@ class ProjectGroupRequest extends FormRequest
16 return true; 16 return true;
17 } 17 }
18 18
19 - /**  
20 - * Get the validation rules that apply to the request.  
21 - *  
22 - * @return array  
23 - */  
24 public function rules() 19 public function rules()
25 { 20 {
26 return [ 21 return [
27 - 'name'=>['required'], 22 + 'name' => 'required|max:255',
  23 + ];
  24 + }
  25 +
  26 + public function messages()
  27 + {
  28 + return [
  29 + 'name.required' => '请输入文章标题',
  30 +// 'body.required' => '请输入文章内容',
28 ]; 31 ];
29 } 32 }
30 } 33 }
@@ -24,7 +24,25 @@ class UserRequest extends FormRequest @@ -24,7 +24,25 @@ class UserRequest extends FormRequest
24 public function rules() 24 public function rules()
25 { 25 {
26 return [ 26 return [
27 - 'mobile'=>['required'], 27 + 'mobile'=>'required|string|max:11',
  28 + 'password'=>'required|string|min:5',
  29 + 'name'=>'required|max:20',
  30 + 'role_id'=>'required'
  31 + ];
  32 + }
  33 +
  34 + public function messages()
  35 + {
  36 + return [
  37 + 'mobile.required'=>'号码必须填写',
  38 + 'mobile.string'=>'号码中含有非法文字',
  39 + 'mobile.max' => '号码不大于11字符.',
  40 + 'password.required'=>'密码必须填写',
  41 + 'password.string'=>'密码中含有非法文字',
  42 + 'password.min' => '密码不小于5字符.',
  43 + 'name.required'=>'名称必须填写',
  44 + 'name.min' => '名称不小于5字符.',
  45 + 'role_id.required'=>'角色必须填写',
28 ]; 46 ];
29 } 47 }
30 } 48 }
@@ -17,6 +17,18 @@ class Base extends Model @@ -17,6 +17,18 @@ class Base extends Model
17 ]; 17 ];
18 18
19 /** 19 /**
  20 + * 日期序列化 勿删 删了时间就不是东八区时间了哈
  21 + * @param \DateTimeInterface $date
  22 + * @return string
  23 + * @author zbj
  24 + * @date 2023/4/13
  25 + */
  26 + protected function serializeDate(\DateTimeInterface $date): string
  27 + {
  28 + return $date->format('Y-m-d H:i:s');
  29 + }
  30 +
  31 + /**
20 * @name 列表数据 32 * @name 列表数据
21 * @return void 33 * @return void
22 * @author :liyuhang 34 * @author :liyuhang
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Models\Product; 3 namespace App\Models\Product;
4 4
5 use App\Models\Base; 5 use App\Models\Base;
  6 +use App\Models\RouteMap;
6 use Illuminate\Database\Eloquent\SoftDeletes; 7 use Illuminate\Database\Eloquent\SoftDeletes;
7 8
8 class Keyword extends Base 9 class Keyword extends Base
@@ -12,4 +13,9 @@ class Keyword extends Base @@ -12,4 +13,9 @@ class Keyword extends Base
12 //设置关联表名 13 //设置关联表名
13 protected $table = 'gl_product_keyword'; 14 protected $table = 'gl_product_keyword';
14 15
  16 + protected $appends = ['route'];
  17 +
  18 + public function getRouteAttribute(){
  19 + return RouteMap::getRoute(RouteMap::SOURCE_PRODUCT_KEYWORD, $this->id, $this->project_id);
  20 + }
15 } 21 }
  1 +<?php
  2 +
  3 +namespace App\Models\Product;
  4 +
  5 +use App\Models\Base;
  6 +use Illuminate\Database\Eloquent\SoftDeletes;
  7 +
  8 +class Product extends Base
  9 +{
  10 + use SoftDeletes;
  11 +
  12 + //设置关联表名
  13 + protected $table = 'gl_product';
  14 +
  15 +}
  1 +<?php
  2 +
  3 +namespace App\Models;
  4 +
  5 +use Illuminate\Database\Eloquent\Model;
  6 +use Illuminate\Support\Facades\Log;
  7 +
  8 +/**
  9 + * 路由映射表
  10 + * Class RouteMap
  11 + * @package App\Http\Models
  12 + * @author zbj
  13 + * @date 2023/4/17
  14 + */
  15 +class RouteMap extends Model
  16 +{
  17 + //设置关联表名
  18 + protected $table = 'gl_route_map';
  19 +
  20 + //路由类型
  21 + const SOURCE_PRODUCT = 'product';
  22 + const SOURCE_PRODUCT_CATE = 'product_category';
  23 + const SOURCE_PRODUCT_KEYWORD = 'product_keyword';
  24 +
  25 +
  26 + /**
  27 + * 生成路由标识
  28 + * @param $title
  29 + * @param $source
  30 + * @param $source_id
  31 + * @param $project_id
  32 + * @return string
  33 + * @author zbj
  34 + * @date 2023/4/17
  35 + */
  36 + public static function generateRoute($title, $source, $source_id, $project_id){
  37 + $i=1;
  38 + $sign = generateRoute($title);
  39 + $route = $sign;
  40 + while(self::isExist($route, $source, $source_id, $project_id)){
  41 + $route = $sign .'-'.$i;
  42 + $i++;
  43 + }
  44 + return $route;
  45 + }
  46 +
  47 + /**
  48 + * 路由是否存在
  49 + * @param $route
  50 + * @param $source
  51 + * @param $source_id
  52 + * @param $project_id
  53 + * @return bool
  54 + * @author zbj
  55 + * @date 2023/4/17
  56 + */
  57 + protected static function isExist($route, $source, $source_id, $project_id){
  58 + $fixed = []; //固定的路由
  59 + if(in_array($route, $fixed)){
  60 + return true;
  61 + }
  62 + $route = self::where('project_id', $project_id)->where('route', $route)->first();
  63 + if($route){
  64 + if($route->source == $source && $route->source_id == $source_id){
  65 + return false;
  66 + }
  67 + return true;
  68 + }
  69 + return false;
  70 + }
  71 +
  72 + /**
  73 + * @param $title
  74 + * @param $source
  75 + * @param $source_id
  76 + * @param int $project_id
  77 + * @param bool $auto
  78 + * @return bool
  79 + * @throws \Exception
  80 + * @author zbj
  81 + * @date 2023/4/17
  82 + */
  83 + public static function setRoute($title, $source, $source_id, $project_id = 0, $auto=false){
  84 + $route = $title;
  85 +
  86 + if($auto){
  87 + $route = self::generateRoute($title, $source, $source_id, $project_id);
  88 + }
  89 + if(!$route){
  90 + throw new \Exception('路由不能为空');
  91 + }
  92 + try {
  93 + $route_map = self::where('project_id', $project_id)->where('source_id', $source_id)->where('source', $source)->first();
  94 + if(!$route_map){
  95 + $route_map = new self();
  96 + $route_map->source = $source;
  97 + $route_map->source_id = $source_id;
  98 + $route_map->project_id = $project_id;
  99 + }
  100 + $route_map->route = $route;
  101 + $route_map->save();
  102 + }catch (\Exception $e){
  103 + throw new \Exception('路由映射失败');
  104 + }
  105 + return $route;
  106 + }
  107 +
  108 +
  109 + /**
  110 + * @param $route
  111 + * @param $project_id
  112 + * @return mixed
  113 + * @author zbj
  114 + * @date 2023/4/17
  115 + */
  116 + public function getRouteInfo($route, $project_id){
  117 + return self::where('project_id',$project_id)->where('route', $route)->get();
  118 + }
  119 +
  120 + /**
  121 + * @param $source
  122 + * @param $source_id
  123 + * @param $project_id
  124 + * @return mixed
  125 + * @author zbj
  126 + * @date 2023/4/17
  127 + */
  128 + public static function getRoute($source, $source_id, $project_id){
  129 + return self::where('project_id', $project_id)->where('source', $source)->where('source_id', $source_id)->value('route');
  130 + }
  131 +
  132 + /**
  133 + * @param $route
  134 + * @param $source
  135 + * @param int $project_id
  136 + * @return mixed
  137 + * @author zbj
  138 + * @date 2023/4/17
  139 + */
  140 + public static function getSourceId($route, $source, $project_id){
  141 + return self::where('project_id', $project_id)->where('source', $source)->where('route', $route)->value('source_id');
  142 + }
  143 +
  144 +
  145 + /**
  146 + * @param $source
  147 + * @param $source_id
  148 + * @param $project_id
  149 + * @return mixed
  150 + * @author zbj
  151 + * @date 2023/4/17
  152 + */
  153 + public function delRoute($source, $source_id, $project_id){
  154 + return self::where('project_id', $project_id)->where('source', $source)->where('source_id', $source_id)->delete();
  155 + }
  156 +}
@@ -119,11 +119,11 @@ class User extends Base @@ -119,11 +119,11 @@ class User extends Base
119 public function edits($param){ 119 public function edits($param){
120 //查看密码是否修改 120 //查看密码是否修改
121 $info = $this->read(['id'=>$param['id']]); 121 $info = $this->read(['id'=>$param['id']]);
  122 + $param['password'] = base64_encode(md5($param['password']));
122 if($param['password'] == $info['password']){ 123 if($param['password'] == $info['password']){
123 unset($param['password']); 124 unset($param['password']);
124 } 125 }
125 //密码加密 126 //密码加密
126 - $param['password'] = base64_encode(md5($param['password']));  
127 $rs = $this->edit($param,['id'=>$param['id']]); 127 $rs = $this->edit($param,['id'=>$param['id']]);
128 if($rs === false){ 128 if($rs === false){
129 return false; 129 return false;
@@ -34,14 +34,14 @@ Route::middleware(['bloginauth'])->group(function () { @@ -34,14 +34,14 @@ Route::middleware(['bloginauth'])->group(function () {
34 Route::any('/project_group/lists', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'lists'])->name('project_group_lists'); 34 Route::any('/project_group/lists', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'lists'])->name('project_group_lists');
35 Route::any('/project_group/del', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'del'])->name('project_group_del'); 35 Route::any('/project_group/del', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'del'])->name('project_group_del');
36 36
37 -});  
38 -  
39 -//无需登录验证的路由组  
40 -Route::group([], function () {  
41 - Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');  
42 -  
43 //产品 37 //产品
44 Route::prefix('product')->group(function () { 38 Route::prefix('product')->group(function () {
  39 + //产品
  40 + Route::get('/', [\App\Http\Controllers\Bside\Product\ProductController::class, 'index'])->name('product');
  41 + Route::get('/info', [\App\Http\Controllers\Bside\Product\ProductController::class, 'info'])->name('product_info');
  42 + Route::post('/save', [\App\Http\Controllers\Bside\Product\ProductController::class, 'save'])->name('product_save');
  43 + Route::any('/delete', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delete'])->name('product_delete');
  44 +
45 //产品分类 45 //产品分类
46 Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category'); 46 Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category');
47 Route::get('category/info', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'info'])->name('product_category_info'); 47 Route::get('category/info', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'info'])->name('product_category_info');
@@ -67,3 +67,10 @@ Route::group([], function () { @@ -67,3 +67,10 @@ Route::group([], function () {
67 Route::any('describe/delete', [\App\Http\Controllers\Bside\Product\DescribeController::class, 'delete'])->name('product_describe_delete'); 67 Route::any('describe/delete', [\App\Http\Controllers\Bside\Product\DescribeController::class, 'delete'])->name('product_describe_delete');
68 }); 68 });
69 }); 69 });
  70 +
  71 +//无需登录验证的路由组
  72 +Route::group([], function () {
  73 + Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');
  74 +
  75 +
  76 +});