瀏覽代碼

产品 结束

cqpCow 1 年之前
父節點
當前提交
8894cd28a4

+ 116 - 0
app/Http/Controllers/Api/ProductController.php

@@ -0,0 +1,116 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+
+use App\Service\ProductService;
+use Illuminate\Http\Request;
+
+class ProductController extends BaseController
+{
+    public function productCategoryEdit(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productCategoryEdit($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+    
+    public function productCategoryAdd(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productCategoryAdd($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+    
+    public function productCategoryDel(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productCategoryDel($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function productCategoryList(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productCategoryList($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function productEdit(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productEdit($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function productAdd(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->roleAdd($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+
+    }
+
+    public function productDel(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productDel($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+
+    }
+
+    public function productList(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->productList($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+}

+ 13 - 0
app/Model/Product.php

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

+ 13 - 0
app/Model/ProductCategory.php

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

+ 19 - 0
app/Model/ProductInfo.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Model;
+
+use Illuminate\Database\Eloquent\Model;
+
+class ProductInfo extends Model
+{
+    protected $table = "product_info"; //指定表
+    const CREATED_AT = 'crt_time';
+    const UPDATED_AT = 'upd_time';
+    protected $dateFormat = 'U';
+    const type_one = 1; // 图片
+    const type_two = 2; // 文件
+    public static $type = [
+        self::type_one,
+        self::type_two,
+    ];
+}

+ 19 - 0
app/Model/ProductRange.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Model;
+
+use Illuminate\Database\Eloquent\Model;
+
+class ProductRange extends Model
+{
+    protected $table = "product_range"; //指定表
+    const CREATED_AT = 'crt_time';
+    const UPDATED_AT = 'upd_time';
+    protected $dateFormat = 'U';
+    const type_one = 1; // 部门
+    const type_two = 2; // 人
+    public static $type = [
+        self::type_one,
+        self::type_two,
+    ];
+}

+ 26 - 17
app/Service/ContactsService.php

@@ -18,7 +18,7 @@ class ContactsService extends Service
             DB::beginTransaction();
 
             $model = Contacts::where('id',$data['id'])->first();
-            $model->title = $data['img'] ?? '';
+            $model->img = $data['img'] ?? '';
             $model->title = $data['title'];
             $model->mailbox = $data['mailbox'] ?? '';
             $model->qq = $data['qq'] ?? '';
@@ -49,7 +49,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['contacts'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'contact_type' => $value['id'],
                         'contact_info' => $value['info'],
                         'type' => ContactsInfo::type_one,
@@ -63,7 +63,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['customers'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_two,
                         'crt_time' => $time,
@@ -76,7 +76,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['employee_one'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_three,
                         'crt_time' => $time,
@@ -89,7 +89,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['employee_two'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_four,
                         'crt_time' => $time,
@@ -115,7 +115,7 @@ class ContactsService extends Service
             DB::beginTransaction();
 
             $model = new Contacts();
-            $model->title = $data['img'] ?? '';
+            $model->img = $data['img'] ?? '';
             $model->title = $data['title'];
             $model->mailbox = $data['mailbox'] ?? '';
             $model->qq = $data['qq'] ?? '';
@@ -142,7 +142,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['contacts'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'contact_type' => $value['id'],
                         'contact_info' => $value['info'],
                         'type' => ContactsInfo::type_one,
@@ -156,7 +156,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['customers'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_two,
                         'crt_time' => $time,
@@ -169,7 +169,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['employee_one'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_three,
                         'crt_time' => $time,
@@ -182,7 +182,7 @@ class ContactsService extends Service
                 $insert = [];
                 foreach ($data['employee_two'] as $value){
                     $insert[] = [
-                        'customer_id' => $model->id,
+                        'contacts_id' => $model->id,
                         'employee_id' => $value,
                         'type' => ContactsInfo::type_four,
                         'crt_time' => $time,
@@ -203,12 +203,21 @@ class ContactsService extends Service
     public function contactsDel($data){
         if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
 
-        Contacts::whereIn('id',$data['id'])->update([
-            'del_time'=> time()
-        ]);
-        ContactsInfo::where('del_time',0)
-            ->where('contacts_id',$data['id'])
-            ->update(['del_time' => time()]);
+        try {
+            DB::beginTransaction();
+
+            Contacts::whereIn('id',$data['id'])->update([
+                'del_time'=> time()
+            ]);
+            ContactsInfo::where('del_time',0)
+                ->where('contacts_id',$data['id'])
+                ->update(['del_time' => time()]);
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
 
         return [true,''];
     }
@@ -264,7 +273,7 @@ class ContactsService extends Service
 
     public function contactsList($data,$user){
         $model = Contacts::where('del_time',0)
-            ->select('title','id','img','mailbox','qq','postal_code','sex','gregorian_bir','lunar_bir','hobby','address1','address2','crt_id','crt_time','mark','importance','mark','depart','job','decision','grade')
+            ->select('title','id','img','mailbox','qq','postal_code','sex','gregorian_bir','lunar_bir','hobby','address1','address2','crt_id','crt_time','mark','importance','depart','job','decision','grade')
             ->orderby('id', 'desc');
 
         if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');

+ 15 - 6
app/Service/CustomerService.php

@@ -255,12 +255,21 @@ class CustomerService extends Service
     public function customerDel($data){
         if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
 
-        Customer::whereIn('id',$data['id'])->update([
-            'del_time'=> time()
-        ]);
-        CustomerInfo::where('del_time',0)
-            ->where('customer_id',$data['id'])
-            ->update(['del_time' => time()]);
+        try {
+            DB::beginTransaction();
+
+            Customer::whereIn('id',$data['id'])->update([
+                'del_time'=> time()
+            ]);
+            CustomerInfo::where('del_time',0)
+                ->where('customer_id',$data['id'])
+                ->update(['del_time' => time()]);
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
 
         return [true,''];
     }

+ 1 - 1
app/Service/FileUploadService.php

@@ -33,7 +33,7 @@ class FileUploadService extends Service
         }
 
         // 上传文件
-        $file_name = time().rand(1000,9999);
+        $file_name = date("Y-m-d").time().rand(1000,9999);
         $filename =  $file_name.'.' . $ext;
         // 使用我们新建的uploads本地存储空间(目录)
         Storage::disk('public')->put('upload_files/'.$filename, file_get_contents($realPath));

+ 424 - 0
app/Service/ProductService.php

@@ -0,0 +1,424 @@
+<?php
+
+namespace App\Service;
+
+use App\Model\Employee;
+use App\Model\Product;
+use App\Model\ProductCategory;
+use App\Model\ProductInfo;
+use App\Model\ProductRange;
+use Illuminate\Support\Facades\DB;
+
+class ProductService extends Service
+{
+    public function productCategoryEdit($data,$user){
+        list($status,$msg) = $this->productCategoryRule($data,false);
+        if(!$status) return [$status,$msg];
+
+        $update = $msg['data'][0];
+
+        $model = new ProductCategory();
+        $model->where('id',$data['id'])->update($update);
+
+        return [true,''];
+    }
+
+    public function productCategoryAdd($data,$user){
+        list($status,$msg) = $this->productCategoryRule($data);
+        if(!$status) return [$status,$msg];
+
+        ProductCategory::insert($msg['data']);
+
+        return [true,''];
+    }
+
+    public function productCategoryDel($data){
+        if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
+
+        $bool = Product::where('del_time',0)
+            ->where('product_category_id',$data['id'])
+            ->exists();
+        if($bool) return [false,'产品分类下已添加产品,操作失败'];
+
+        try {
+            DB::beginTransaction();
+
+            ProductCategory::where('id',$data['id'])->update([
+                'del_time' => time()
+            ]);
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
+
+        return [true,''];
+    }
+
+    public function productCategoryList($data,$user){
+        $model = ProductCategory::where('del_time',0)
+            ->select('title','id','parent_id')
+            ->orderby('id','asc');
+        if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
+
+        $list = $model->get()->toArray();
+        if(! empty($list)) {
+            $list = $this->makeTree(0,$list);
+            $list = $this->set_sort_circle($list);
+        }
+
+        return [true, $list];
+    }
+
+    public function productCategoryRule($data, $is_add = true){
+        if($this->isEmpty($data,'data')) return [false,'数据不能为空!'];
+
+        $title = array_column($data['data'],'title');
+        $title = array_map(function($val) {
+            return $val !== null ? $val : 0;
+        }, $title);
+        $title_count = array_count_values($title);
+        foreach ($title as $value){
+            if(empty($value)) return [false,'名称不能为空!'];
+            if($title_count[$value] > 1) return [false,'名称不能重复'];
+        }
+
+        foreach ($data['data'] as $key => $value){
+            $data['data'][$key]['upd_time'] = time();
+
+            if($is_add){
+                $parent_id = 0;
+                if(! empty($value['parent_id'])) {
+                    $bool = Product::where('del_time',0)
+                        ->where('product_category_id',$value['parent_id'])
+                        ->exists();
+                    if($bool) {
+                        $title = ProductCategory::where('id',$value['parent_id'])->select('title')->value();
+                        return [false,'产品分类:'. $title .'下已添加产品,不允许添加子分类'];
+                    }
+                    $parent_id = $value['parent_id'];
+                }
+
+                $data['data'][$key]['parent_id'] = $parent_id;
+                $data['data'][$key]['crt_time'] = time();
+
+                $bool = ProductCategory::where('title',$value['title'])
+                    ->where('del_time',0)
+                    ->exists();
+            }else{
+                if($this->isEmpty($data,'id')) return [false,'id不能为空!'];
+
+                $bool = ProductCategory::where('title',$value['title'])
+                    ->where('id','<>',$data['id'])
+                    ->where('del_time',0)
+                    ->exists();
+            }
+            if($bool) return [false,'分类名称不能重复'];
+        }
+
+        return [true, $data];
+    }
+
+    public function productEdit($data,$user){
+        list($status,$msg) = $this->productRule($data,false);
+        if(!$status) return [$status,$msg];
+
+        try {
+            DB::beginTransaction();
+
+            $model = Product::where('id',$data['id'])->first();
+            $model->product_category_id = $data['product_category_id'] ?? 0;
+            $model->title = $data['title'];
+            $model->code = $data['code'] ?? '';
+            $model->size = $data['size'] ?? '';
+            $model->unit = $data['unit'] ?? '';
+            $model->bar_code = $data['bar_code'] ?? '';
+            $model->retail_price = $data['retail_price'] ?? 0;
+            $model->mark = $data['mark'] ?? '';
+            $model->state = $data['state'] ?? 0;
+            $model->save();
+
+            $time = time();
+
+            ProductInfo::where('del_time',0)
+                ->where('product_id',$data['id'])
+                ->update(['del_time' => $time]);
+
+            if(! empty($data['img'])){
+                $insert = [];
+                foreach ($data['img'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductInfo::type_one,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductInfo::insert($insert);
+            }
+
+            if(! empty($data['file'])){
+                $insert = [];
+                foreach ($data['file'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductInfo::type_two,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductInfo::insert($insert);
+            }
+
+            ProductRange::where('del_time',0)
+                ->where('product_id',$data['id'])
+                ->update(['del_time' => $time]);
+
+            if(! empty($data['depart'])){
+                $insert = [];
+                foreach ($data['depart'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductRange::type_one,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductRange::insert($insert);
+            }
+
+            if(! empty($data['employee'])){
+                $insert = [];
+                foreach ($data['employee'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductRange::type_two,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductRange::insert($insert);
+            }
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
+
+        return [true,''];
+    }
+
+    public function productAdd($data,$user){
+        list($status,$msg) = $this->productRule($data);
+        if(!$status) return [$status,$msg];
+
+        try {
+            DB::beginTransaction();
+
+            $model = new Product();
+            $model->product_category_id = $data['product_category_id'] ?? 0;
+            $model->title = $data['title'];
+            $model->code = $data['code'] ?? '';
+            $model->size = $data['size'] ?? '';
+            $model->unit = $data['unit'] ?? '';
+            $model->bar_code = $data['bar_code'] ?? '';
+            $model->retail_price = $data['retail_price'] ?? 0;
+            $model->mark = $data['mark'] ?? '';
+            $model->state = $data['state'] ?? 0;
+            $model->crt_id = $user['id'];
+            $model->save();
+
+            $time = time();
+
+            if(! empty($data['img'])){
+                $insert = [];
+                foreach ($data['img'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductInfo::type_one,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductInfo::insert($insert);
+            }
+
+            if(! empty($data['file'])){
+                $insert = [];
+                foreach ($data['file'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductInfo::type_two,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductInfo::insert($insert);
+            }
+
+            if(! empty($data['depart'])){
+                $insert = [];
+                foreach ($data['depart'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductRange::type_one,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductRange::insert($insert);
+            }
+
+            if(! empty($data['employee'])){
+                $insert = [];
+                foreach ($data['employee'] as $value){
+                    $insert[] = [
+                        'product_id' => $model->id,
+                        'file' => $value,
+                        'type' => ProductRange::type_two,
+                        'crt_time' => $time,
+                    ];
+                }
+                ProductRange::insert($insert);
+            }
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
+
+        return [true,''];
+    }
+
+    public function productDel($data){
+        if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
+
+        try {
+            DB::beginTransaction();
+            $time = time();
+
+            Product::where('id',$data['id'])->update(['del_time' => $time]);
+
+            ProductInfo::where('del_time',0)
+                ->where('product_id',$data['id'])
+                ->update(['del_time' => $time]);
+
+            ProductRange::where('del_time',0)
+                ->where('product_id',$data['id'])
+                ->update(['del_time' => $time]);
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
+
+        return [true,''];
+    }
+
+    public function productDetail($data){
+        if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
+
+        $customer = Product::where('del_time',0)
+            ->where('id',$data['id'])
+            ->first();
+        if(empty($customer)) return [false,'产品不存在或已被删除'];
+        $customer = $customer->toArray();
+        $customer['img'] = $customer['file'] = $customer['depart'] = $customer['employee'] = [];
+
+        $customer_info = ProductInfo::where('del_time',0)
+            ->where('product_id',$customer['id'])
+            ->select('id','product_id','file','type')
+            ->get()->toArray();
+        foreach ($customer_info as $value){
+            if($value['type'] == ProductInfo::type_one){
+                $customer['img'][] = [
+                    $value['file']
+                ];
+            }elseif ($value['type'] == ProductInfo::type_two){
+                $customer['file'][] = [
+                    $value['file']
+                ];
+            }
+        }
+
+        $customer_range = ProductRange::where('del_time',0)
+            ->where('product_id',$customer['id'])
+            ->select('id','product_id','depart_id','type','employee_id')
+            ->get()->toArray();
+        foreach ($customer_range as $value){
+            if($value['type'] == ProductRange::type_one){
+                $customer['depart'][] = [
+                    $value['depart_id']
+                ];
+            }elseif ($value['type'] == ProductRange::type_two){
+                $customer['employee'][] = [
+                    $value['employee_id']
+                ];
+            }
+        }
+
+        return [true, $customer];
+    }
+
+    public function productList($data,$user){
+        $model = Product::where('del_time',0)
+            ->select('title','id','product_category_id','code','size','unit','bar_code','retail_price','state','crt_id','crt_time','mark')
+            ->orderby('id', 'desc');
+
+        if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
+
+        $list = $this->limit($model,'',$data);
+        $list = $this->fillData($list);
+
+        return [true, $list];
+    }
+
+    public function productRule($data, $is_add = true){
+        if(empty($data['title'])) return [false,'产品名称不能为空'];
+        if(empty($data['product_category_id'])) return [false,'产品分类不能为空'];
+        if(empty($data['code'])) return [false,'产品编码不能为空'];
+        if(! empty($data['retail_price'])){
+            if(! is_numeric($data['retail_price']) || $data['retail_price'] < 0) return [false,'零售价请填写正确'];
+            $formattedNumber = number_format($data['retail_price'], 2, '.', '');
+            if($formattedNumber != $data['retail_price']) return [false,'零售价请不要超过两位小数'];
+        }
+
+        if($is_add){
+            $bool = Product::whereRaw("(binary code = '{$data['code']}' OR title = '{$data['title']}')")
+                ->where('del_time',0)
+                ->exists();
+        }else{
+            if(empty($data['id'])) return [false,'ID不能为空'];
+            $bool = Product::whereRaw("(binary code = '{$data['code']}' OR title = '{$data['title']}')")
+                ->where('id','<>',$data['id'])
+                ->where('del_time',0)
+                ->exists();
+        }
+        if($bool) return [false,'产品名称或编码不能重复'];
+
+        return [true, $data];
+    }
+
+    public function fillData($data){
+        if(empty($data['data'])) return $data;
+
+        $emp = Employee::whereIn('id',array_unique(array_column($data['data'],'crt_id')))
+            ->pluck('emp_name','id')
+            ->toArray();
+        $category = ProductCategory::whereIn('id',array_unique(array_column($data['data'],'product_category_id')))
+            ->pluck('title','id')
+            ->toArray();
+
+        foreach ($data['data'] as $key => $value){
+            $data['data'][$key]['crt_time'] = $value['crt_time'] ? date('Y-m-d H:i:s',$value['crt_time']) : '';
+            $data['data'][$key]['crt_name'] = $emp[$value['crt_id']] ?? '';
+            $data['data'][$key]['product_category_name'] = $category[$value['product_category_id']] ?? '';
+        }
+
+        return $data;
+    }
+}

+ 7 - 1
routes/api.php

@@ -90,7 +90,13 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('contactsDel', 'Api\ContactsController@contactsDel');
     $route->any('contactsDetail', 'Api\ContactsController@contactsDetail');
 
-    //产品
+    //产品分类
+    $route->any('productCategoryList', 'Api\ProductController@productCategoryList');
+    $route->any('productCategoryEdit', 'Api\ProductController@productCategoryEdit');
+    $route->any('productCategoryAdd', 'Api\ProductController@productCategoryAdd');
+    $route->any('productCategoryDel', 'Api\ProductController@productCategoryDel');
+
+    //产品名称
     $route->any('productList', 'Api\ProductController@productList');
     $route->any('productEdit', 'Api\ProductController@productEdit');
     $route->any('productAdd', 'Api\ProductController@productAdd');