Kaynağa Gözat

Merge branch 'master' of http://git.huaml.com/zhh/huahuibao

shish 5 yıl önce
ebeveyn
işleme
5968f14d13

+ 4 - 0
app-ghs/controllers/OrderController.php

@@ -267,6 +267,8 @@ class OrderController extends BaseController
         $city = $get['city'] ?? '';
         $address = $get['address'] ?? '';
         $floor = $get['floor'] ?? '';
+        $customName = $get['customName']??'';
+        $customMobile = $get['customMobile']??'';
         $fullAddress = $province . $city . $address . $floor;
         $sendTime = $get['sendTime'] ?? '';
         $lat = $get['lat'] ?? '';
@@ -289,6 +291,8 @@ class OrderController extends BaseController
         $info = OrderClass::getOrderInfo($orderId);
         OrderClass::valid($info, $this->shopId);
         $expressAddInfo = [
+            'customName'=>$customName,
+            'customMobile'=>$customMobile,
             'province' => $province,
             'city' => $city,
             'address' => $address,

+ 7 - 1
app-hd/controllers/CategoryController.php

@@ -67,7 +67,13 @@ class CategoryController extends BaseController
         $categoryId = isset($get['categoryId']) ? $get['categoryId'] : 0;
         $category = CategoryService::getById($categoryId);
         CategoryService::valid($category, $this->sjId);
-        CategoryService::deleteCategory($categoryId);
+        if ($category['goodsNum'] > 0) {
+            util::fail('删除失败,该分类已被商品使用');
+        }
+        $count = CategoryService::deleteCategory($categoryId);
+        if (!$count) {
+            util::fail('删除失败');
+        }
         util::complete('删除成功');
     }
 

+ 2 - 2
app-hd/controllers/OrderController.php

@@ -529,9 +529,9 @@ class OrderController extends BaseController
         }
         if (!empty($search)) {
             if (stringUtil::isMobile($search)) {
-                $where['receiveMobile'] = $search;
+                $where['bookMobile'] = $search;
             } else {
-                $where['id'] = $search;
+                $where['orderSn'] = $search;
             }
         }
         $searchTime = $get['searchTime'] ?? '';

+ 3 - 1
app-hd/controllers/PurchaseController.php

@@ -2,6 +2,7 @@
 
 namespace hd\controllers;
 
+use biz\admin\classes\AdminClass;
 use biz\ghs\classes\GhsClass;
 use bizHd\purchase\classes\PurchaseClass;
 use bizHd\purchase\services\PurchaseService;
@@ -76,7 +77,8 @@ class PurchaseController extends BaseController
         $get = Yii::$app->request->get();
         $orderSn = $get['orderSn'] ?? 0;
         $password = $get['password'] ?? '';
-        $admin = $this->admin;
+        // 重新获取,不加密的用户数据
+        $admin = AdminClass::getById($this->adminId);
         if (password_verify($password, $admin['payPassword']) == false) {
             util::fail('密码错误');
         }

+ 20 - 1
biz-ghs/item/classes/ItemClassClass.php

@@ -115,5 +115,24 @@ class ItemClassClass extends BaseClass
         util::fail('分类不正确');
     }
 
-
+    //获取当前商家下默认分类id
+    public static function getDefaultClassId($sjId)
+    {
+        $where = [
+            'merchantId'=>$sjId,
+            'isDefault'=>1,
+        ];
+        $res = self::getByCondition($where);
+        if(!$res){
+            //没有则新增
+            $classData = [
+                'merchantId'=>$sjId,
+                'name'=>'默认分组',
+                'inTurn'=>-9999,
+                'isDefault'=>1,
+            ];
+            $res = self::add($classData);
+        }
+        return $res['id'];
+    }
 }

+ 8 - 0
biz-ghs/item/services/ItemService.php

@@ -239,5 +239,13 @@ class ItemService extends BaseService
                 ProductClass::batchAdd($productAddData);
             }
         }
+        //2021-5-7 增加默认分组
+        $classData = [
+            'merchantId'=>$sjId,
+            'name'=>'默认分组',
+            'inTurn'=>-9999,
+            'isDefault'=>1,
+        ];
+        ItemClassClass::add($classData);
     }
 }

+ 2 - 2
biz-ghs/order/traits/OrderTrait.php

@@ -68,9 +68,9 @@ trait OrderTrait
 	}
 
 	//通过itemInfo 获取商品ID 对应数据(库存) linqh 2021.1.23
-	public static function getProductMapData($itemInfo)
+	public static function getProductMapData($itemInfo,$key='productId')
 	{
-		$productIds = array_column($itemInfo, 'productId');
+		$productIds = array_column($itemInfo, $key);
 		$productData = ProductClass::getProductByIds($productIds);
 		$productData = array_column($productData, NULL, 'id');
 		return $productData;

+ 39 - 0
biz-ghs/product/classes/ProductClass.php

@@ -3,6 +3,7 @@
 namespace bizGhs\product\classes;
 
 
+use biz\item\models\PtItemClass;
 use bizGhs\base\classes\BaseClass;
 use bizGhs\item\classes\ItemClass;
 use bizGhs\item\classes\ItemClassClass;
@@ -684,4 +685,42 @@ class ProductClass extends BaseClass
         return $data;
     }
 
+
+    //供货商的productId => 零售端的productId  ,不存在的补productId(放在默认分类)
+    //productList [{"productId":"113","bigNum":1,"smallNum":0,"classId":"-2","itemId":1}]
+    public static function toggleProductList($productList,$hdShopId,$hdSjId)
+    {
+        $itemIds = array_column($productList,"itemId");
+        $hdProductData = self::getProductInfoByItemIds($itemIds,$hdShopId);
+        $hdProductData = array_column($hdProductData,null,"itemId");
+        //获取默认分类ID
+        $defaultClassId = ItemClassClass::getDefaultClassId($hdSjId);
+
+        foreach ($productList as $k=>$v){
+            $itemId = $v['itemId'];
+            if(!isset($hdProductData[$itemId])){
+                //不存在,则新增
+                //获取ptItem信息,写入product
+                $ptItem = \biz\item\classes\PtItemClass::getById($itemId);
+                unset($ptItem['addTime']);
+                unset($ptItem['updateTime']);
+                $productData = $ptItem;
+                $productData['merchantId'] = $hdSjId;
+                $productData['shopId'] = $hdShopId;
+                $productData['itemId'] = $itemId;
+                $productData['classId'] = $defaultClassId;
+                unset($productData['id']);
+                $productData['rank'] = 'A';
+                //计算价格
+                $productData['price'] = bcadd($v['cost'],$v['addPrice'],2);
+                $addProduct = ProductClass::add($productData);
+                $hdProductId = $addProduct['id'];
+            }else{
+                $hdProductId = $hdProductData[$itemId]['id'];
+            }
+            $productList[$k]['hdProductId'] = $hdProductId;
+        }
+
+        return $productList;
+    }
 }

+ 7 - 1
biz-ghs/shop/services/ShopAdminService.php

@@ -77,6 +77,8 @@ class ShopAdminService extends BaseService
 
                 $update = ['name' => $name, 'mobile' => $mobile, 'password' => $password, 'remark' => $remark, 'currentShopId' => $shopId];
                 AdminClass::updateById($adminId, $update);
+                // 员工数+1
+                AdminRoleClass::counters(['num' => 1], ['id' => $roleId]);
 
                 return $shopAdmin->attributes;
             }
@@ -105,7 +107,11 @@ class ShopAdminService extends BaseService
             'name' => $name,
         ];
         ShopAdminClass::delBindAdminData($shopId, $recommendAdminId);
-        return ShopAdminClass::add($addData);
+        $result = ShopAdminClass::add($addData);
+        // 员工数+1
+        AdminRoleClass::counters(['num' => 1], ['id' => $roleId]);
+
+        return $result;
     }
 
     //获取管理员 ssh 2020.4.21

+ 5 - 3
biz-hd/goods/classes/CategoryClass.php

@@ -101,8 +101,10 @@ class CategoryClass extends BaseClass
     //删除分类 ssh 2020.3.3
     public static function deleteCategory($id)
     {
-        self::updateById($id, ['delStatus' => 1]);
+        return self::updateByCondition([
+            'id' => $id,
+            'goodsNum' => 0
+        ], ['delStatus' => 1]);
         return true;
     }
-
-}
+}

+ 36 - 0
biz-hd/goods/classes/GoodsClass.php

@@ -137,6 +137,12 @@ class GoodsClass extends BaseClass
             $addCategory[] = ['gId' => $id, 'goodsName' => $goodsName, 'cId' => $categoryId, 'cName' => $cName, 'merchantId' => $data['merchantId'], 'py' => $py];
         }
         GoodsCategoryClass::batchAdd($addCategory);
+        // 分类商品数+1
+        CategoryClass::counters([
+            'goodsNum' => 1
+        ], [
+            'id' => $categoryIdList
+        ]);
         //处理款式
         if (!empty($goodsStyleList) && $data['goodsStyle'] == 1) {
             $addStyle = [];
@@ -169,12 +175,26 @@ class GoodsClass extends BaseClass
         }
         //先删除再添加分类
         GoodsCategoryClass::delGoodsCategory($id);
+        // 当前商品的分类
+        $goodsHasCategoryIds = GoodsCategoryService::getGoodsHasCategoryIds($id);
+        // 分类商品数-1
+        CategoryClass::counters([
+            'goodsNum' => -1
+        ], [
+            'id' => $goodsHasCategoryIds
+        ]);
         $addCategory = [];
         foreach ($categoryIdList as $categoryId) {
             $cName = $categoryData[$categoryId]['categoryName'];
             $addCategory[] = ['gId' => $id, 'goodsName' => $data['goodsName'], 'py' => $py, 'cId' => $categoryId, 'cName' => $cName, 'merchantId' => $data['merchantId']];
         }
         GoodsCategoryClass::batchAdd($addCategory);
+        // 分类商品数+1
+        CategoryClass::counters([
+            'goodsNum' => -1
+        ], [
+            'id' => $categoryIdList
+        ]);
 
         //处理款式
         if (!empty($goodsStyleList) && $data['goodsStyle'] == 1) {
@@ -189,6 +209,22 @@ class GoodsClass extends BaseClass
         self::updateById($id, $data);
     }
 
+
+    // 删除商品 ruidian 2021.5.7
+    public static function deleteGoods($id)
+    {
+        // 当前商品的分类
+        $goodsHasCategoryIds = GoodsCategoryService::getGoodsHasCategoryIds($id);
+        // 分类商品数-1
+        CategoryClass::counters([
+            'goodsNum' => -1
+        ], [
+            'id' => $goodsHasCategoryIds
+        ]);
+        GoodsClass::updateById($id, ['delStatus' => 1]);
+        GoodsCategoryClass::updateByCondition(['gId' => $id], ['delStatus' => 1]);
+    }
+
     //产品上下架 ssh 2019.12.8
     public static function changeStatus($id, $status)
     {

+ 1 - 3
biz-hd/goods/services/GoodsService.php

@@ -49,9 +49,7 @@ class GoodsService extends BaseService
     //删除商品 ssh 2019.12.7
     public static function deleteGoods($goods)
     {
-        $id = $goods['id'];
-        GoodsClass::updateById($id, ['delStatus' => 1]);
-        GoodsCategoryClass::updateByCondition(['gId' => $id], ['delStatus' => 1]);
+        GoodsClass::deleteGoods($goods['id']);
     }
 
     //添加商品 ssh 2019.12.7

+ 22 - 10
biz-hd/purchase/classes/PurchaseClass.php

@@ -51,8 +51,14 @@ class PurchaseClass extends BaseClass
         $productList = self::mergeItemInfo($productList);
         $data['kindNum'] = count($productList); //多少种花材
 
-        $productData = self::getProductMapData($productList);
-        //[{"productId":"113","bigNum":1,"smallNum":0,"classId":"-2"}]
+        //传过滤的productId 是供货商的,需要转换为零售端(hd)的productId
+        //补充了hdProductId
+        //[{"productId":"113","bigNum":1,"smallNum":0,"classId":"-2","hdProductId":1}]
+        $productList = ProductClass::toggleProductList($productList,$hdShopId,$hdSjId);
+
+        $productData = self::getProductMapData($productList,"productId");
+        $hdProductData = self::getProductMapData($productList,"hdProductId");
+
         //计算价格= 各个productId的price*num(bigNum,smallNum) + sendCost(配送费)
         $bigNum = 0; //总共多少扎
         $smallNum = 0; //总共多少支
@@ -62,18 +68,20 @@ class PurchaseClass extends BaseClass
             $smallNum += $product['smallNum'] ?? 0;
             $productList[$key]['orderSn'] = $orderSn;
             $productId = $product['productId'];
-            $ratio = $productData[$productId]['ratio'] ?? 0;
-            $itemId = $productData[$productId]['itemId'] ?? 0;
-            $rank = $productData[$productId]['rank'] ?? 'B';// 花材级别
-            $stock = $productData[$productId]['stock'] ?? 0;//当时库存
+            $hdProductId = $product['hdProductId'];
+
+            $ratio = $hdProductData[$hdProductId]['ratio'] ?? 0; //比例必须一致
+            $itemId = $hdProductData[$hdProductId]['itemId'] ?? 0;
+            $rank = $hdProductData[$hdProductId]['rank'] ?? 'B';// 花材级别
+            $stock = $hdProductData[$hdProductId]['stock'] ?? 0;//当时库存
             $stockFormat = ProductClass::formatStock($stock, $ratio);
 
             $itemNum = ProductClass::mergeItemNum($product['bigNum'], $product['smallNum'], $ratio);//采购数量
             $price = $productData[$productId]['price']; //卖的单价
             $sellPrice = bcmul($itemNum, $price, 2); //采购总价
             $itemInfo = [
-                'itemName' => $productData[$productId]['name'] ?? '',//花材名称
-                'itemCover' => $productData[$productId]['cover'] ?? '',//花材图片
+                'itemName' => $hdProductData[$hdProductId]['name'] ?? '',//花材名称
+                'itemCover' => $hdProductData[$hdProductId]['cover'] ?? '',//花材图片
                 'bigNum' => $product['bigNum'] ?? 0,//采购数量(大单位)
                 'smallNum' => $product['smallNum'] ?? 0,//采购数量(小单位)
                 'bigNumStock' => $stockFormat['bigNum'],// 当时库存大单位数
@@ -81,8 +89,8 @@ class PurchaseClass extends BaseClass
                 'itemUnit' => $ratio ? 2 : 1,//单位
                 'ratio' => $ratio,// 比例
                 'rank' => $rank,// 花材级别
-                'bigUnit' => $productData[$productId]['bigUnit'],//大单位名称 扎
-                'smallUnit' => $productData[$productId]['smallUnit'],//小单位名称 支
+                'bigUnit' => $hdProductData[$hdProductId]['bigUnit'],//大单位名称 扎
+                'smallUnit' => $hdProductData[$hdProductId]['smallUnit'],//小单位名称 支
             ];
 
             $productList[$key]['itemInfo'] = json_encode($itemInfo);
@@ -92,6 +100,10 @@ class PurchaseClass extends BaseClass
             $productList[$key]['ratio'] = $ratio;
             $productList[$key]['totalPrice'] = $sellPrice;
             $prePrice = bcadd($prePrice, $sellPrice, 2);
+
+            //加库存
+            ProductClass::addStockByItemNum($hdProductId,$itemNum);
+
         }
         $sendCost = $data['sendCost'] ?? 0.00;
         $prePrice = bcadd($prePrice, $sendCost, 2);

+ 3 - 0
biz/shop/classes/ShopAdminClass.php

@@ -206,6 +206,9 @@ class ShopAdminClass extends BaseClass
             }
             $admin->save();
         }
+
+        // 员工数-1
+        AdminRoleClass::counters(['num' => -1], ['id' => $relation->roleId]);
     }
 
 }

+ 8 - 2
sql.sql

@@ -2355,5 +2355,11 @@ ALTER TABLE `xhPurchase` ADD ghsShopAdminId INT NOT NULL DEFAULT 0 COMMENT '' AF
 ALTER TABLE `xhPurchase` ADD ghsShopAdminName VARCHAR(50) NOT NULL DEFAULT '' COMMENT '员工姓名' AFTER `ghsShopAdminId`;
 
 -------- ruidian 20210505
-ALTER TABLE `xhGoods` 
-MODIFY COLUMN `stock` int(11) NOT NULL DEFAULT -10000 COMMENT '库存 -100000充足,正常不会超卖太多' AFTER `shopImg`;
+ALTER TABLE `xhGoods`
+MODIFY COLUMN `stock` int(11) NOT NULL DEFAULT -10000 COMMENT '库存 -100000充足,正常不会超卖太多' AFTER `shopImg`;
+
+=======linqh 2021-05-07
+===
+ALTER TABLE `xhGhsItemClass`
+ADD COLUMN `isDefault`  tinyint(2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否默认分类 1是0否' AFTER `adminId`;
+