Преглед изворни кода

update: 增加商品/商品分类操作的event

joe пре 3 година
родитељ
комит
dca07944e1

+ 18 - 9
app/admin/controller/store/StoreCategory.php

@@ -54,6 +54,7 @@ class StoreCategory extends AuthController
     {
         ($is_show == '' || $id == '') && Json::fail('缺少参数');
         if (CategoryModel::setCategoryShow($id, (int)$is_show)) {
+            event('StoreCategoryEdited', ['id' => $id]);
             return Json::successful($is_show == 1 ? '显示成功' : '隐藏成功');
         } else {
             return Json::fail(CategoryModel::getErrorInfo($is_show == 1 ? '显示失败' : '隐藏失败'));
@@ -69,10 +70,12 @@ class StoreCategory extends AuthController
     public function set_category($field = '', $id = '', $value = '')
     {
         $field == '' || $id == '' || $value == '' && Json::fail('缺少参数');
-        if (CategoryModel::where('id', $id)->update([$field => $value]))
+        if (CategoryModel::where('id', $id)->update([$field => $value])) {
+            event('StoreCategoryEdited', ['id' => $id]);
             return Json::successful('保存成功');
-        else
+        } else {
             return Json::fail('保存失败');
+        }
     }
 
     /**
@@ -102,7 +105,7 @@ class StoreCategory extends AuthController
     }
 
     /**
-     * 保存新建的资源
+     * 保存新建的产品分类
      *
      * @param \think\Request $request
      * @return \think\Response
@@ -122,8 +125,10 @@ class StoreCategory extends AuthController
         if ($data['sort'] < 0) $data['sort'] = 0;
         $data['pic'] = $data['pic'][0];
         $data['add_time'] = time();
-        CategoryModel::create($data);
-        return Json::successful('添加分类成功!');
+        if (CategoryModel::create($data)){
+            event('StoreCategoryCreated', ['category' => $data]);
+            return Json::successful('添加分类成功!');
+        }
     }
 
     /**
@@ -178,8 +183,10 @@ class StoreCategory extends AuthController
         if (count($data['pic']) < 1) return Json::fail('请上传分类图标');
         if ($data['sort'] < 0) $data['sort'] = 0;
         $data['pic'] = $data['pic'][0];
-        CategoryModel::edit($data, $id);
-        return Json::successful('修改成功!');
+        if(CategoryModel::edit($data, $id)) {
+            event('StoreCategoryEdited', ['id' => $id]);
+            return Json::successful('修改成功!');
+        }
     }
 
     /**
@@ -190,9 +197,11 @@ class StoreCategory extends AuthController
      */
     public function delete($id)
     {
-        if (!CategoryModel::delCategory($id))
+        if (!CategoryModel::delCategory($id)) {
+            event('StoreCategoryDeleted', ['ids' => [$id],]);
             return Json::fail(CategoryModel::getErrorInfo('删除失败,请稍候再试!'));
-        else
+        } else {
             return Json::successful('删除成功!');
+        }
     }
 }

+ 21 - 10
app/admin/controller/store/StoreProduct.php

@@ -96,6 +96,7 @@ class StoreProduct extends AuthController
             'add_time' => time(),
         ]);
         if ($res) {
+            event('StoreProductOnOffShelf', ['is_show'=>$is_show, 'ids'=>[$id],]);
             return Json::successful($is_show == 1 ? '上架成功' : '下架成功');
         } else {
             return Json::fail($is_show == 1 ? '上架失败' : '下架失败');
@@ -110,10 +111,12 @@ class StoreProduct extends AuthController
     public function set_product($field = '', $id = '', $value = '')
     {
         $field == '' || $id == '' || $value == '' && Json::fail('缺少参数');
-        if (ProductModel::where(['id' => $id])->update([$field => $value]))
+        if (ProductModel::where(['id' => $id])->update([$field => $value])) {
+            event('StoreEditProduct', ['productId' => $id]);
             return Json::successful('保存成功');
-        else
+        } else {
             return Json::fail('保存失败');
+        }
     }
 
     /**
@@ -133,10 +136,12 @@ class StoreProduct extends AuthController
                 'is_show' => 1,
                 'add_time' => time(),
             ]);
-            if ($res)
+            if ($res) {
+                event('StoreProductOnOffShelf', ['is_show'=>1, 'ids'=>$post['ids'],]);
                 return Json::successful('上架成功');
-            else
+            } else {
                 return Json::fail('上架失败');
+            }
         }
     }
 
@@ -365,6 +370,7 @@ class StoreProduct extends AuthController
             $attr_res = StoreProductAttr::createProductAttr($attr, $detail, $id);
             if ($attr_res) {
                 ProductModel::commitTrans();
+                event('StoreEditProduct', ['productId'=>$id,]);
                 return Json::success('修改成功!');
             } else {
                 ProductModel::rollbackTrans();
@@ -406,6 +412,7 @@ class StoreProduct extends AuthController
             if ($attr_res) {
                 ProductModel::commitTrans();
                 event('AdminAddStoreProduct', ['product'=>$res, 'admin'=>$this->adminInfo]);
+                event('StoreProductCreated', ['product'=>$res,]);
                 return Json::success('添加产品成功!');
             } else {
                 ProductModel::rollbackTrans();
@@ -675,13 +682,15 @@ class StoreProduct extends AuthController
 
         if (!$id) return $this->failed('数据不存在');
         if (!ProductModel::be(['id' => $id])) return $this->failed('产品数据不存在');
-        if (ProductModel::be(['id' => $id, 'is_del' => 1])) {
+        if (ProductModel::be(['id' => $id, 'is_del' => 1])) {   // 恢復
             $data['is_del'] = 0;
-            if (!ProductModel::edit($data, $id))
+            if (!ProductModel::edit($data, $id)) {
                 return Json::fail(ProductModel::getErrorInfo('恢复失败,请稍候再试!'));
-            else
+            } else {
+                event('StoreProductOnOffShelf', ['is_show'=>1, 'ids'=>[$id],]);
                 return Json::successful('成功恢复产品!');
-        } else {
+            }
+        } else {    // 刪除
             $res1 = StoreSeckill::where('product_id', $id)->where('is_del', 0)->find();
             $res2 = StoreBargain::where('product_id', $id)->where('is_del', 0)->find();
             $res3 = StoreCombination::where('product_id', $id)->where('is_del', 0)->find();
@@ -689,10 +698,12 @@ class StoreProduct extends AuthController
                 return Json::fail(ProductModel::getErrorInfo('该商品已参加活动,无法删除!'));
             } else {
                 $data['is_del'] = 1;
-                if (!ProductModel::edit($data, $id))
+                if (!ProductModel::edit($data, $id)) {
                     return Json::fail(ProductModel::getErrorInfo('删除失败,请稍候再试!'));
-                else
+                } else {
+                    event('StoreProductOnOffShelf', ['is_show'=>0, 'ids'=>[$id],]);
                     return Json::successful('成功移到回收站!');
+                }
             }
 
         }

+ 4 - 2
app/admin/controller/widget/Images.php

@@ -258,10 +258,12 @@ SCRIPT;
         if (empty($post['name']))
             Json::fail('分类名称不能为空!');
         $res = Category::create($data);
-        if ($res)
+        if ($res) {
             Json::successful('添加成功');
-        else
+        }
+        else {
             Json::fail('添加失败!');
+        }
     }
 
     /**

+ 1 - 1
app/api/controller/store/StoreProductController.php

@@ -215,7 +215,7 @@ class StoreProductController
         $productHot = StoreProduct::getHotProductLoading('id,image,store_name,cate_id,price,unit_name,ot_price', (int)$page, (int)$limit);
         if (!empty($productHot)) {
             foreach ($productHot as $k => $v) {
-                $productHot[$k]['activity'] = StoreProduct::activity($v['id']);
+                $productHot[$k]['activity'] = []; // StoreProduct::activity($v['id']); // remove sql in foreach
             }
         }
         return app('json')->successful($productHot);

+ 4 - 0
app/common.php

@@ -71,6 +71,10 @@ define('UPLOAD_TENCENT_COS', 4);
 define('SECONDS_OF_ONEDAY', 86400);
 define('DS', DIRECTORY_SEPARATOR);
 
+// 商品规格类型
+define('SPEC_TYPE_SINGLE', 0);
+define('SPEC_TYPE_MULTI', 1);
+
 /**
  * 
  */

+ 10 - 10
app/models/store/StoreProduct.php

@@ -82,7 +82,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return $list;
@@ -95,8 +95,8 @@ class StoreProduct extends BaseModel
 
     public static function getProductList($data, $uid)
     {
-        $sId = $data['sid'];
-        $cId = $data['cid'];
+        $sId = $data['sid'];    // category id
+        $cId = $data['cid'];    // parent category id
         $keyword = $data['keyword'];
         $priceOrder = $data['priceOrder'];
         $salesOrder = $data['salesOrder'];
@@ -123,7 +123,7 @@ class StoreProduct extends BaseModel
         if ($news != 0) $model->where('is_new', 1);
         $baseOrder = '';
         if ($priceOrder) $baseOrder = $priceOrder == 'desc' ? 'price DESC' : 'price ASC';
-//        if($salesOrder) $baseOrder = $salesOrder == 'desc' ? 'sales DESC' : 'sales ASC';//真实销量
+        // if($salesOrder) $baseOrder = $salesOrder == 'desc' ? 'sales DESC' : 'sales ASC';//真实销量
         if ($salesOrder) $baseOrder = $salesOrder == 'desc' ? 'sales DESC' : 'sales ASC';//虚拟销量
         if ($baseOrder) $baseOrder .= ', ';
         $model->order($baseOrder . 'sort DESC, add_time DESC');
@@ -154,7 +154,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return self::setLevelPrice($list, $uid);
@@ -192,7 +192,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return self::setLevelPrice($list, $uid);
@@ -216,7 +216,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return self::setLevelPrice($list, $uid);
@@ -239,7 +239,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return self::setLevelPrice($list, $uid);
@@ -285,7 +285,7 @@ class StoreProduct extends BaseModel
         $list = count($list) ? $list->toArray() : [];
         if (!empty($list)) {
             foreach ($list as $k => $v) {
-                $list[$k]['activity'] = self::activity($v['id']);
+                $list[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return self::setLevelPrice($list, $uid);
@@ -348,7 +348,7 @@ class StoreProduct extends BaseModel
         $data = $model->select();
         if (count($data) > 0) {
             foreach ($data as $k => $v) {
-                $data[$k]['activity'] = self::activity($v['id']);
+                $data[$k]['activity'] = []; // self::activity($v['id']);
             }
         }
         return $data;