Просмотр исходного кода

Merge branch 'zhongqi-itemUpdate' into dev

shish 4 месяцев назад
Родитель
Сommit
5512da1b45

+ 2 - 1
.gitignore

@@ -16,4 +16,5 @@ app-mall/runtime/
 app-hd/web/assets/
 app-pt/web/assets/
 app-ghs/web/assets/
-app-mall/web/assets/
+app-mall/web/assets/
+.aider*

+ 1 - 1
app-ghs/controllers/ItemController.php

@@ -503,7 +503,6 @@ class ItemController extends BaseController
             }
         }
         $level = $custom->level ?? 1;
-        $field = '*';
 
         //只查我负责的花材
         $globalCgMyCharge = $get['globalCgMyCharge'] ?? 0;
@@ -537,6 +536,7 @@ class ItemController extends BaseController
             }
         }
 
+        $field = '*';
         $result = ProductClass::getList($field, $where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC]);
         $list = $result['list'] ?? [];
         if ($requestType == 'hasStockList') {

+ 0 - 19
app-ghs/controllers/OrderItemController.php

@@ -293,25 +293,6 @@ class OrderItemController extends BaseController
         }
     }
 
-    //重选花材 ssh 2021.3.2
-    public function actionReset()
-    {
-        $post = Yii::$app->request->post();
-        $id = $post['id'] ?? 0;
-        $product = $post['product'] ?? '[]';
-        $product = json_decode($product, true);
-        //检查花材是否都是同家门店的
-        ProductClass::valid($product, $this->mainId);
-
-        $info = OrderService::getOrderInfo($id);
-        OrderClass::valid($info, $this->shopId);
-
-        //添加修改花材
-        $orderSn = $info['orderSn'] ?? '';
-        OrderItemClass::replaceItem($orderSn, $product);
-        util::complete();
-    }
-
     //修改花材时获取订单花材和花材基本信息的组合 ssh 20210809
     public function actionGetOrderProduct()
     {

+ 55 - 67
app-ghs/controllers/ProductController.php

@@ -387,106 +387,94 @@ class ProductController extends BaseController
             $level = $custom->level ?? 1;
         }
         $itemInfoData = [];
-        if ($requestType == 'hasStockList') {
-            //有库存的花材列表
-            $field = 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore';
+        $fieldMap = [
+            'hasStockList' => 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore,limitBuy',
+            'hideItem'     => 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore,limitBuy',
+            'changePrice'  => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,skMore,hjAddPrice,variety,price,stock,onStock,presell,frontHide,reachNum,reachNumDiscount,limitBuy',
+            'changeStock'  => 'id,py,cover,name,cost,itemId,status,classId,addPrice,skPrice,discountPrice,skMore,variety,price,stock,frontHide,limitBuy',
+            'kd'           => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,reachNum,reachNumDiscount,limitBuy',
+            'book'         => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,limitBuy',
+            'itemList'     => 'id,py,cover,name,cost,avCost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,addPrice,hjAddPrice,skMore,limitBuy',
+            'cgStaffList'  => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,cgStaffId,cgStaffName,limitBuy',
+            'outList'      => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
+            'stopList'     => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,delStatus,limitBuy',
+            'removeList'   => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
+            'check'        => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
+            'break'        => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
+            'part'         => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,limitBuy',
+            'stockOut'     => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,smallRatio,frontHide,limitBuy',
+            'cg'           => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,presell,ratioType,smallUnit,bigUnit,ratio,weight,frontHide,limitBuy',
+            'warning'      => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,discountPrice,stock,onStock,actualSold,presell,bigUnit,stockWarning,status,frontHide,limitBuy',
+        ];
+
+        if (!isset($fieldMap[$requestType])) {
+            util::fail('没有数据');
+        }
+        $field = $fieldMap[$requestType];
+
+        // 获取数据
+        if ($requestType == 'warning') {
+            $itemInfoData = Product::find()->where("mainId={$this->mainId}")
+                ->andWhere('`stock`+`onStock`<`stockWarning`')
+                ->andWhere("delStatus=0")
+                ->select($field)->asArray()->all();
+        } else {
+            // 处理特殊的 where 条件
+            if ($requestType == 'cgStaffList') {
+                unset($where['status']);
+                $where['delStatus'] = 0;
+            } elseif ($requestType == 'outList') {
+                $where['status'] = 2;
+                $where['delStatus'] = 0;
+                $where['removeStatus'] = 0;
+            } elseif ($requestType == 'stopList') {
+                unset($where['status']);
+                $where['delStatus'] = 1;
+                $where['removeStatus'] = 0;
+            } elseif ($requestType == 'removeList') {
+                unset($where['status']);
+                $where['delStatus'] = 1;
+                $where['removeStatus'] = 1;
+            }
+
             $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
+        }
+
+        // 数据后处理
+        if ($requestType == 'hasStockList') {
             if (!empty($itemInfoData)) {
                 foreach ($itemInfoData as $key => $val) {
-                    //以下参数主要是网页批量改价要用到
                     $shortCover = $val['cover'] ?? '';
                     $itemInfoData[$key]['cover'] = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_100,w_100";
                     $itemInfoData[$key]['shortCover'] = $shortCover;
                 }
             }
-        } elseif ($requestType == 'hideItem') {
-            //隐藏花材列表
-            $field = 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
         } elseif ($requestType == 'changePrice') {
-            $field = 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,skMore,hjAddPrice,addPrice,variety,price,hjPrice,stock,onStock,presell,frontHide,reachNum,reachNumDiscount';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::changePriceGroup($itemInfoData, $level);
         } elseif ($requestType == 'changeStock') {
-            //修改库存列表
-            $field = 'id,py,cover,name,cost,itemId,status,classId,addPrice,skPrice,discountPrice,skMore,variety,price,stock,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::changeStockGroup($itemInfoData, $level);
         } elseif ($requestType == 'kd') {
-            //开单的花材列表
-            $field = 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,reachNum,reachNumDiscount';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::kdItemGroup($itemInfoData, $level, $custom);
         } elseif ($requestType == 'book') {
-            //预订花材列表
-            $field = 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::bookItemGroup($itemInfoData, $level);
         } elseif ($requestType == 'itemList') {
-            //花材列表
-            $field = 'id,py,cover,name,cost,avCost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,addPrice,hjAddPrice,skMore';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::itemListGroup($itemInfoData, $level);
         } elseif ($requestType == 'cgStaffList') {
-            unset($where['status']);
-            $where['delStatus'] = 0;
-            $field = 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,cgStaffId,cgStaffName';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::cgStaffListGroup($itemInfoData, $level);
-        } elseif ($requestType == 'outList') {
-            //下架花材列表
-            $where['status'] = 2;
-            $where['delStatus'] = 0;
-            $where['removeStatus'] = 0;
-            $field = 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
-            $itemInfoData = ProductClass::simpleGroup($itemInfoData, $level);
-        } elseif ($requestType == 'stopList') {
-            //停用花材列表
-            unset($where['status']);
-            $where['delStatus'] = 1;
-            $where['removeStatus'] = 0;
-            $field = 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,delStatus';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
-            $itemInfoData = ProductClass::simpleGroup($itemInfoData, $level);
-        } elseif ($requestType == 'removeList') {
-            //删除花材列表
-            unset($where['status']);
-            $where['delStatus'] = 1;
-            $where['removeStatus'] = 1;
-            $field = 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
+        } elseif (in_array($requestType, ['outList', 'stopList', 'removeList'])) {
             $itemInfoData = ProductClass::simpleGroup($itemInfoData, $level);
         } elseif ($requestType == 'check') {
-            $field = 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::checkItemGroup($itemInfoData, $level);
         } elseif ($requestType == 'break') {
-            $field = 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::breakItemGroup($itemInfoData, $level);
         } elseif ($requestType == 'part') {
-            //拆散花材
-            $field = 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::partItemGroup($itemInfoData, $level);
         } elseif ($requestType == 'stockOut') {
-            $field = 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,smallRatio,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::stockOutGroup($itemInfoData, $level);
         } elseif ($requestType == 'cg') {
-            $field = 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,presell,ratioType,smallUnit,bigUnit,ratio,weight,frontHide';
-            $itemInfoData = ProductClass::getAllByCondition($where, ['inTurn' => SORT_DESC, 'actualSold' => SORT_DESC], $field);
             $itemInfoData = ProductClass::cgItemGroup($itemInfoData, $level);
         } elseif ($requestType == 'warning') {
-            $field = 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,discountPrice,stock,onStock,actualSold,presell,bigUnit,stockWarning,status,frontHide';
-            $itemInfoData = Product::find()->where("mainId={$this->mainId}")
-                ->andWhere('`stock`+`onStock`<`stockWarning`')
-                ->andWhere("delStatus=0")
-                ->select($field)->asArray()->all();
             $itemInfoData = ProductClass::warningGroup($itemInfoData, $level);
-        } else {
-            util::fail('没有数据');
         }
         $data = ProductService::assembleItemData($classInfo, $itemInfoData);
         util::success($data);

+ 0 - 7
biz-ghs/item/models/ItemClass.php

@@ -1,13 +1,7 @@
 <?php
-/**
- * User: admin
- * Date Time: 2021/1/13 14:13
- */
-
 namespace bizGhs\item\models;
 
 use bizGhs\base\models\Base;
-use bizGhs\item\classes\ItemClassClass;
 
 class ItemClass extends Base
 {
@@ -15,5 +9,4 @@ class ItemClass extends Base
     {
         return 'xhGhsItemClass';
     }
-
 }

+ 12 - 1
biz-ghs/order/classes/OrderItemClass.php

@@ -317,11 +317,22 @@ class OrderItemClass extends BaseClass
      * 5. 返回本次批量插入及处理后的汇总结果(带总重量)。
      *
      * 用于订单商品整体替换的核心业务方法。
+     * @param $orderSn
+     * @param $products
+     * @param null $post
+     * @param bool $stockMayChange
+     * @param array $moreParams
+     * @return array|void
+     * @throws \Exception
      */
     public static function replaceItem($orderSn, $products, $post = null, $stockMayChange = false, $moreParams = [])
     {
-        $customId = $post['customId'] ?? 0;
+        $customId = intval($post['customId']);
         $custom = CustomClass::getById($customId, true);
+        if (empty($custom)) {
+            return util::fail('没有找到客户');
+        }
+
         $level = $custom->level ?? 0;
         $live = isset($custom->live) ? $custom->live : 1;
         $respond = ProductClass::formatProductInfo($products, $level, $live, $moreParams);

+ 0 - 4
biz-ghs/order/services/OrderService.php

@@ -22,15 +22,12 @@ use bizGhs\order\classes\OrderSendClass;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\shop\classes\MainClass;
 use bizGhs\shop\classes\ShopMoneyChangeClass;
-use bizGhs\shop\classes\ShopMoneyClass;
 use bizGhs\stat\classes\StatYjClass;
-use bizGhs\ws\services\WsService;
 use bizHd\cg\services\CgRefundService;
 use bizHd\purchase\services\PurchaseService;
 use bizHd\stat\classes\StatIncomeClass;
 use bizHd\stat\classes\StatOrderClass;
 use common\components\dict;
-use common\components\noticeUtil;
 use common\components\util;
 use bizHd\purchase\classes\PurchaseClass;
 use common\components\stringUtil;
@@ -401,7 +398,6 @@ class OrderService extends BaseService
             }
         }
         return $returnOrder;
-
     }
 
     //自取免配送流程处理 ssh 2021.1.24

+ 11 - 3
biz-ghs/product/classes/ProductClass.php

@@ -2812,7 +2812,12 @@ class ProductClass extends BaseClass
         return true;
     }
 
-    // 限购处理
+    /**
+     * 限购处理
+     * @param $product
+     * @param $customId
+     * @param $num
+     */
     public static function handleLimitBuy($product, $customId, $num)
     {
         $limitBuy = $product['limitBuy'];
@@ -2913,7 +2918,7 @@ class ProductClass extends BaseClass
     public static function getHasLimitBuyList($product)
     {
         $productId = $product->id;
-        $limitBuy = $product->limitBuy ?? 0;
+        $limitBuy = $product->limitBuy;
         $limitKey = self::LIMIT_BUY_KEY . $productId;
         $arr = Yii::$app->redis->executeCommand('HKEYS', [$limitKey]);
         $customList = [];
@@ -2925,15 +2930,18 @@ class ProductClass extends BaseClass
                 $numMap[$customId] = $num;
                 $ids[] = $customId;
             }
+
+            $specialPrice = ($product['hjDiscountPrice'] > 0 && $product['discountPrice'] > 0 && $product['skDiscountPrice'] > 0); // 销售花材是否开启特价
             $customList = CustomClass::getAllByCondition(['id' => ['in', $ids]], null, '*');
             foreach ($customList as $key => $val) {
                 $customId = $val['id'];
                 $num = $numMap[$customId] ?? 0;
                 $customList[$key]['hasLimitBuyNum'] = $num;
-                $customList[$key]['hasReachLimitBuyNum'] = $num >= $limitBuy ? 1 : 0;
+                $customList[$key]['reachLimitBuyNum'] = $num >= $limitBuy ? 1 : 0;
                 $avatar = $val['avatar'] ?? '';
                 $smallAvatar = imgUtil::groupImg($avatar);
                 $customList[$key]['smallAvatar'] = $smallAvatar . "?x-oss-process=image/resize,m_fill,h_80,w_80";
+                $customList[$key]['specialPrice'] = $specialPrice;
             }
         }
         return $customList;

+ 11 - 4
biz-hd/product/classes/ProductClass.php

@@ -435,7 +435,7 @@ class ProductClass extends BaseClass
      * @param $customId 零售xhCustom表的id
      * @param $num
      */
-    public static function handleLimitBuy($product, $customId, $num)
+    public static function handleLimitBuy($product, $customId, $num, $doCache = true)
     {
         $limitBuy = $product['limitBuy'];
         if ($limitBuy <= 0) {
@@ -458,7 +458,9 @@ class ProductClass extends BaseClass
 
                 util::error(-1, '累计已超出限购数', ['productId'=>$productId, 'limitBuy'=>$limitBuy, 'exceed'=>$lastNum - $limitBuy]);
             }
-            Yii::$app->redis->executeCommand('HSET', [$limitKey, $customId, $lastNum]);
+            if ($doCache) {
+                Yii::$app->redis->executeCommand('HSET', [$limitKey, $customId, $lastNum]);
+            }
         } else {
             self::recordLimitBuyRollbackSnapshot($productId, $customId, false, 0);
             if ($num > $limitBuy) {
@@ -469,7 +471,9 @@ class ProductClass extends BaseClass
                 }
                 util::error(-1, '超出限购数', ['productId'=>$productId, 'limitBuy'=>$limitBuy, 'exceed'=>$num - $limitBuy]);
             }
-            Yii::$app->redis->executeCommand('HSET', [$limitKey, $customId, $num]);
+            if ($doCache) {
+                Yii::$app->redis->executeCommand('HSET', [$limitKey, $customId, $num]);
+            }
         }
     }
 
@@ -501,15 +505,18 @@ class ProductClass extends BaseClass
                 $numMap[$customId] = $num;
                 $ids[] = $customId;
             }
+
+            $specialPrice = ($product['hjDiscountPrice'] > 0 && $product['discountPrice'] > 0 && $product['skDiscountPrice'] > 0); // 销售花材是否开启特价
             $customList = CustomClass::getAllByCondition(['id' => ['in', $ids]], null, '*');
             foreach ($customList as $key => $val) {
                 $customId = $val['id'];
                 $num = $numMap[$customId] ?? 0;
                 $customList[$key]['hasLimitBuyNum'] = $num;
-                $customList[$key]['hasReachLimitBuyNum'] = $num >= $limitBuy ? 1 : 0;
+                $customList[$key]['reachLimitBuyNum'] = $num >= $limitBuy ? 1 : 0;
                 $avatar = $val['avatar'] ?? '';
                 $smallAvatar = imgUtil::groupImg($avatar);
                 $customList[$key]['smallAvatar'] = $smallAvatar . "?x-oss-process=image/resize,m_fill,h_80,w_80";
+                $customList[$key]['specialPrice'] = $specialPrice;
             }
         }
         return $customList;

+ 0 - 2
biz-hd/purchase/services/PurchaseService.php

@@ -11,9 +11,7 @@ use biz\stat\classes\StatCgGhsClass;
 use biz\stat\classes\StatOutClass;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\order\classes\OrderClass;
-use bizGhs\order\classes\OrderItemClass;
 use bizGhs\order\services\OrderService;
-use bizGhs\product\classes\ProductClass;
 use bizHd\base\services\BaseService;
 use bizHd\cg\classes\CgRefundClass;
 use bizHd\purchase\classes\PurchaseClass;

+ 0 - 1
biz/product/classes/ProductClass.php

@@ -3,7 +3,6 @@
 namespace biz\product\classes;
 
 use biz\base\classes\BaseClass;
-use bizGhs\item\classes\ItemClassClass;
 
 class ProductClass extends BaseClass
 {