LD 5 лет назад
Родитель
Сommit
cab82b0d80

+ 13 - 0
app/Console/Commands/MakeModelCommand.php

@@ -4,6 +4,9 @@
 namespace App\Console\Commands;
 
 
+use Illuminate\Support\Str;
+use Symfony\Component\Console\Input\InputOption;
+
 class MakeModelCommand extends \Illuminate\Foundation\Console\ModelMakeCommand
 {
     protected function getStub()
@@ -29,7 +32,17 @@ class MakeModelCommand extends \Illuminate\Foundation\Console\ModelMakeCommand
     }
     public function createService()
     {
+        $modelName = Str::studly(class_basename($this->argument('name')));
+
+        $this->call('make:service', [
+            'name' => "{$modelName}Service",
+        ]);
+    }
 
+    protected function getOptions(): array
+    {
+        return parent::getOptions()[]=
+            ['service', 'sv', InputOption::VALUE_NONE, 'Create a new service file'];
     }
 
 }

+ 2 - 2
app/Console/Commands/MakeServiceCommand.php

@@ -13,7 +13,7 @@ class MakeServiceCommand extends Command
      * @var string
      */
     protected $signature = 'make:service
-    {--provider : Register in the provider}
+    {--noProvider : Register in the provider}
     {name : fileName}';
 
     /**
@@ -65,7 +65,7 @@ class MakeServiceCommand extends Command
                 '}');
         }
         else $this->error("ERROR: file exists;");
-        if ($this->option("provider")){
+        if (!$this->option("noProvider")){
             $path = base_path("app\\Providers\\AppServiceProvider.php");
             $i = 0;
             $fop = fopen($path,"r+");

+ 1 - 1
app/Http/Controllers/TestController.php

@@ -291,7 +291,7 @@ sql;
 
     function tlog(Request $request)
     {
-        Cache::forget('order_freeze_condition_pool');
+         dd((User::class)::query()->first());
     }
 
     function setCache(Request $request)

+ 2 - 10
app/Traits/ServiceAppAop.php

@@ -13,7 +13,6 @@ use Illuminate\Support\Facades\Cache;
 trait ServiceAppAop
 {
 
-    protected $modelClass=null;
 
     /**
      * 实例化一个service的入口,为了测试方便做出来的,这样测试时可以代入假的柱件替换service的实现
@@ -42,7 +41,7 @@ trait ServiceAppAop
      */
     function get(array $kvPairs):?Collection{
         return Cache::remember($this->cachingKey($kvPairs), config('cache.expirations.serviceAutoCache'), function ()use($kvPairs) {
-            $query = $this->getModelClass()::query();
+            $query = ($this->modelClass)::query();
             foreach ($kvPairs as $column => $value){
                 if (is_array($value))$query->whereIn($column,$value);
                 else $query->where($column,$value);
@@ -51,13 +50,6 @@ trait ServiceAppAop
         });
     }
 
-    protected function getModelClass(){
-        if(!$this->modelClass){
-            throw new FatalException(__CLASS__.': 没有为 service 设定 $modelClass 的模型类');
-        }
-        return $this->modelClass;
-    }
-
     protected function cachingKey(array $kvPairs): string
     {
         ksort($kvPairs);
@@ -73,7 +65,7 @@ trait ServiceAppAop
         if($materialBox->isNotEmpty())
             return $materialBox->first();
         $this->clearCache($kvPairs);
-        return $this->getModelClass()::query()->create($kvPairs);
+        return ($this->modelClass)::query()->create($kvPairs);
     }
 
     function firstOrCreate(array $kvPairs){