|
@@ -9,6 +9,7 @@
|
|
|
namespace App\Http\Controllers\API;
|
|
|
|
|
|
|
|
|
+use function App\Http\Controllers\badRequest;
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
|
use App\Http\Requests\API\Company\ActionRequest;
|
|
@@ -17,6 +18,7 @@ use App\Http\Resources\API\CompanyResource;
|
|
|
use App\Models\Company;
|
|
|
use App\Models\User;
|
|
|
use App\Services\File\FileAssociationService;
|
|
|
+use Carbon\Carbon;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use App\Models\Enums\CompanyReviewStatus;
|
|
@@ -105,17 +107,31 @@ class CompanyController extends Controller
|
|
|
}
|
|
|
|
|
|
//公司审核
|
|
|
- public function action(ActionRequest $request, string $id){
|
|
|
- $company = Company::findOrFail($id);
|
|
|
- $status=$request->status;
|
|
|
- match($status) {
|
|
|
- 1 => $company->review_status=CompanyReviewStatus::APPROVED,
|
|
|
- default => $company->review_status=CompanyReviewStatus::REJECTED,
|
|
|
- };
|
|
|
- $company->save();
|
|
|
+ public function action(ActionRequest $request){
|
|
|
+ $companys = Company::query()->whereIn('id',$request->get('ids'))->get();
|
|
|
+ foreach ($companys as $company){
|
|
|
+ if($company->review_status===CompanyReviewStatus::APPROVED->value){
|
|
|
+ badRequest(sprintf("Company ID: %s,has been approved", $company->id));
|
|
|
+ }
|
|
|
+ $status=$request->get('status');
|
|
|
+ $expDate=$request->get('exp_data');
|
|
|
+ match($status) {
|
|
|
+ 1 =>$this->approved($company,$expDate),
|
|
|
+ default => $company->review_status=CompanyReviewStatus::REJECTED,
|
|
|
+ };
|
|
|
+ $company->save();
|
|
|
+ }
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
+ protected function approved(Company $company,$expDate = null): void
|
|
|
+ {
|
|
|
+ $company->review_status=CompanyReviewStatus::APPROVED;
|
|
|
+ $expDate=$expDate===null?Carbon::now()->addYear()->toDateString():$expDate;
|
|
|
+ $company->exp_date=$expDate;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
}
|