Browse Source

超级管理人员创建公司默认审核通过,提交审核公司拒绝后删除公司并让邮件通知重新提交公司信息

kely 8 months ago
parent
commit
44b875eb51

+ 10 - 5
app/Http/Controllers/API/CompanyController.php

@@ -54,6 +54,8 @@ class CompanyController extends Controller
         $company = new Company();
 
         $company->fill([
+            'review_status'=>CompanyReviewStatus::APPROVED,
+             'exp_date' => $request->exp_date === null ? Carbon::now()->addYear()->toDateString():$request->exp_date,
             ...$request->all(),
         ]);
 
@@ -137,7 +139,7 @@ class CompanyController extends Controller
         $rejectReason=$request->get('reject_reason');
         $user = new User();
         //通过审核->改变公司状态->设置公司过期时间->最后生成默认账户
-        DB::transaction(function () use($status,$expDate,$company,$user,$roleId){
+        DB::transaction(function () use($status,$expDate,$company,$user,$roleId,$rejectReason){
         if ($status == 1){
             //1.改变公司状态->设置公司过期时间
             $company->review_status=CompanyReviewStatus::APPROVED;
@@ -155,15 +157,18 @@ class CompanyController extends Controller
 //            $user->role_id=6;
 //            $user->syncRoles(6);
             $user->save();
+            $company->save();
+            Mail::to($company->email)->send(new CompanyAction($company,$user,$rejectReason??''));
+
         }else{
             $company->review_status=CompanyReviewStatus::REJECTED;
+            $company->save();
+            Mail::to($company->email)->send(new CompanyAction($company,$user,$rejectReason??''));
+            $company->delete();
         }
-        //公司保存
-        $company->save();
         });
-        //发送邮件到公司账户
-        Mail::to($company->email)->send(new CompanyAction($company,$user,$rejectReason??''));
         return $this->noContent();
+
     }
 
 

+ 1 - 1
app/Mail/CompanyAction.php

@@ -23,7 +23,7 @@ class CompanyAction extends Mailable
     /**
      * Create a new message instance.
      */
-    public function __construct(public Company $company,public User $user,public string $rejectReason)
+    public function __construct(public Company $company,public User $user,public string $rejectReason='')
     {
 //        $this->company = $company;
 //        $this->user = $user;

+ 5 - 0
app/ModelFilters/CompanyFilter.php

@@ -24,4 +24,9 @@ class CompanyFilter extends ModelFilter
     {
         return $this->where('name', 'like', "%$name%");
     }
+
+    public function reviewStatus($status): ModelFilter
+    {
+        return $this->where('review_status', $status);
+    }
 }

+ 8 - 3
resources/views/emails/actions/company.blade.php

@@ -10,14 +10,19 @@
 
 ###   Congratulations! The company you applied for has passed the background review.This audit is valid until :{{$company->exp_date}}<br>Initialize the account information as follows:<br><br>name:     {{$user->name}} <br>username:    {{$user->username}} <br>password:    admin@#123<br>
 ###   Please change your password when logging in for the first time
+
+Thanks,<br>
+[Go to login]({{config('app.url').'/user/login'}})<br>
     @else
 
-###   Your company application was not approved.
+###      Your company application was not approved.
 ###   Reason for rejection: {{$rejectReason}}
+###      Please resubmit company information
+Thanks,<br>
+[Go to register]({{config('app.url').'/user/register'}})<br>
     @endif
 
-Thanks,<br>
-[Go to login]({{config('app.url')}})<br>
+
 From {{ config('app.name') }}
 
 </x-mail::message>