作者 赵彬吉

update

... ... @@ -35,6 +35,7 @@ class BaseController extends Controller
$info = Cache::get($this->token);
$this->user = $info;
$this->uid = $info['id'];
$this->param['project_id'] = $this->user['project_id'];
}else{
return response(['code'=>Code::USER_ERROR,'msg'=>'当前用户未登录']);
}
... ...
... ... @@ -28,7 +28,7 @@ class KeywordLogic extends BaseLogic
try {
$res = parent::save($param);
//路由映射
RouteMap::setRoute($param['title'], RouteMap::SOURCE_PRODUCT_KEYWORD, $res['id'], $param['project_id'] ?? 0);
RouteMap::setRoute($param['title'], RouteMap::SOURCE_PRODUCT_KEYWORD, $res['id'], $param['project_id'], true);
DB::commit();
}catch (\Exception $e){
DB::rollBack();
... ... @@ -47,6 +47,8 @@ class KeywordLogic extends BaseLogic
//todo 是否有关联商品
//todo 删除路由映射 事务
}
return parent::delete($ids);
}
... ...
... ... @@ -3,6 +3,7 @@
namespace App\Models\Product;
use App\Models\Base;
use App\Models\RouteMap;
use Illuminate\Database\Eloquent\SoftDeletes;
class Keyword extends Base
... ... @@ -12,4 +13,9 @@ class Keyword extends Base
//设置关联表名
protected $table = 'gl_product_keyword';
protected $appends = ['route'];
public function getRouteAttribute(){
return RouteMap::getRoute(RouteMap::SOURCE_PRODUCT_KEYWORD, $this->id, $this->project_id);
}
}
... ...
... ... @@ -37,7 +37,7 @@ class RouteMap extends Model
$i=1;
$sign = generateRoute($title);
$route = $sign;
while(self::isExist($route, $project_id, $source, $source_id)){
while(self::isExist($route, $source, $source_id, $project_id)){
$route = $sign .'-'.$i;
$i++;
}
... ... @@ -113,8 +113,8 @@ class RouteMap extends Model
* @author zbj
* @date 2023/4/17
*/
public function getRouteInfo($route, $project_id = 0){
return self::whereIn('project_id', [0, $project_id])->where('route', $route)->get();
public function getRouteInfo($route, $project_id){
return self::where('project_id',$project_id)->where('route', $route)->get();
}
/**
... ... @@ -125,15 +125,8 @@ class RouteMap extends Model
* @author zbj
* @date 2023/4/17
*/
public static function getRoute($source, $source_id, $project_id = 0){
if(!$project_id){
return self::where([
'project_id' => 0,
'source' => $source,
'source_id' => $source_id
])->value('route');
}
return self::whereIn('project_id', [0, $project_id])->where('source', $source)->where('source_id', $source_id)->value('route');
public static function getRoute($source, $source_id, $project_id){
return self::where('project_id', $project_id)->where('source', $source)->where('source_id', $source_id)->value('route');
}
/**
... ... @@ -144,7 +137,20 @@ class RouteMap extends Model
* @author zbj
* @date 2023/4/17
*/
public static function getSourceId($route, $source, $project_id = 0){
return self::whereIn('project_id', [0, $project_id])->where('source', $source)->where('route', $route)->value('source_id');
public static function getSourceId($route, $source, $project_id){
return self::where('project_id', $project_id)->where('source', $source)->where('route', $route)->value('source_id');
}
/**
* @param $source
* @param $source_id
* @param $project_id
* @return mixed
* @author zbj
* @date 2023/4/17
*/
public function delRoute($source, $source_id, $project_id){
return self::where('project_id', $project_id)->where('source', $source)->where('source_id', $source_id)->delete();
}
}
... ...
... ... @@ -34,12 +34,6 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/project_group/lists', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'lists'])->name('project_group_lists');
Route::any('/project_group/del', [\App\Http\Controllers\Bside\ProjectGroupController::class, 'del'])->name('project_group_del');
});
//无需登录验证的路由组
Route::group([], function () {
Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');
//产品
Route::prefix('product')->group(function () {
//产品
... ... @@ -73,3 +67,10 @@ Route::group([], function () {
Route::any('describe/delete', [\App\Http\Controllers\Bside\Product\DescribeController::class, 'delete'])->name('product_describe_delete');
});
});
//无需登录验证的路由组
Route::group([], function () {
Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');
});
... ...