cqpCow hai 1 ano
pai
achega
2ed83650ea

+ 26 - 0
app/Http/Controllers/Api/EmployeeController.php

@@ -27,6 +27,32 @@ class EmployeeController extends BaseController
         }
     }
 
+    public function employeeEditImg(Request $request)
+    {
+        $service = new EmployeeService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->employeeEditImg($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function getEmployeeImg(Request $request)
+    {
+        $service = new EmployeeService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->getEmployeeImg($user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
     public function employeeEdit(Request $request)
     {
         $service = new EmployeeService();

+ 14 - 0
app/Model/EmployeeFile.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Model;
+
+use Illuminate\Database\Eloquent\Model;
+
+class EmployeeFile extends Model
+{
+    protected $table = "employee_file"; //指定表
+    const CREATED_AT = null;
+    const UPDATED_AT = null;
+    protected $dateFormat = 'U';
+
+}

+ 53 - 0
app/Service/EmployeeService.php

@@ -6,6 +6,7 @@ use App\Model\BasicType;
 use App\Model\Depart;
 use App\Model\Employee;
 use App\Model\EmployeeDepartPermission;
+use App\Model\EmployeeFile;
 use App\Model\EmployeeManagerDepart;
 use App\Model\EmployeeMenuPermission;
 use App\Model\EmployeeRole;
@@ -32,6 +33,58 @@ use Mockery\Exception;
  */
 class EmployeeService extends Service
 {
+    public function employeeEditImg($data, $user){
+        $time = time();
+        try {
+            DB::beginTransaction();
+
+            $old = EmployeeFile::where('del_time',0)
+                ->whereIn('employee_id',$user['id'])
+                ->select('file')
+                ->get()->toArray();
+            $old = array_column($old,'file');
+            EmployeeFile::where('del_time',0)
+                ->whereIn('employee_id',$user['id'])
+                ->update(['del_time' => $time]);
+
+            $new = [];
+            $insert = [];
+            if(! empty($data['img_url'])){
+                $insert[] = [
+                    'employee_id' => $user['id'],
+                    'file' => $data['img_url'],
+                    'crt_time' => $time,
+                ];
+                EmployeeFile::insert($insert);
+                $new[] = $data['img_url'];
+            }
+
+            DB::commit();
+        }catch (\Throwable $exception){
+            DB::rollBack();
+            return [false, $exception->getMessage()];
+        }
+
+        return [true, ['file' => ['new' => $new, 'old' => $old]]];
+    }
+
+    public function getEmployeeImg($user){
+        $file = EmployeeFile::where('del_time',0)
+            ->whereIn('employee_id',$user['id'])
+            ->select('file')
+            ->get()->toArray();
+        $file = array_column($file,'file');
+        $file = $file[0] ?? "";
+        $img_str = "";
+        $timpstamp = 86400;
+        if(! empty($file)){
+            $fileUploadService = new FileUploadService();
+            $img_str = $fileUploadService->getFileShow($file, $timpstamp);
+        }
+
+        return [true, 'img_url' => $img_str];
+    }
+
     public function employeeEditOther($data,$user){
         list($status,$msg) = $this->employeeOtherRule($data,$user);
         if(!$status) return [$status,$msg];

+ 2 - 0
routes/api.php

@@ -92,6 +92,8 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('employeeDepart', 'Api\EmployeeController@employeeDepart');
     $route->any('employeeTeam', 'Api\EmployeeController@employeeTeam');
     $route->any('employeeRole', 'Api\EmployeeController@employeeRole');
+    $route->any('employeeEditImg', 'Api\EmployeeController@employeeEditImg');
+    $route->any('getEmployeeImg', 'Api\EmployeeController@getEmployeeImg');
 
     //仓库档案
     $route->any('storehouseList', 'Api\StorehouseController@storehouseList');