shish 1 год назад
Родитель
Сommit
f36a2fa937
1 измененных файлов с 137 добавлено и 5 удалено
  1. 137 5
      app-hd/controllers/PurchaseController.php

+ 137 - 5
app-hd/controllers/PurchaseController.php

@@ -330,21 +330,153 @@ class PurchaseController extends BaseController
             $ghsInfo['miniKilo'] = $ghsShopInfo->miniKilo ?? 0;
 
             //旭海银柳的临时解决办法
-            print_r($productList);
-            die;
             if (getenv('YII_ENV') == 'production') {
                 if($ghsShopInfo->mainId == 41121){
-                    $smallSet = [1903841,1903855,1903859,1903860,1903864];
                     $bigSet = [1903693,1903712,1903789,1903796,1903816];
+                    $smallSet = [1903841,1903855,1903859,1903860,1903864];
                     $getIds = array_column($productList, 'productId');
                     $bigIntersection = array_intersect($getIds, $bigSet);
                     $smallIntersection = array_intersect($getIds, $smallSet);
                     if(count($getIds)==5){
+                        $myInfoList = ProductClass::getAllByCondition(['id'=>['in',$getIds]],null,'*','id');
                         if(count($bigIntersection)==5){
-
+                            $mul = 0;
+                            $currentMap = [1903693=>220,1903712=>150,1903789=>100,1903796=>60,1903816=>45];
+                            foreach($productList as $ylKey => $ylValue){
+                                $ylProductId = $ylValue['productId'];
+                                $num = $ylValue['bigNum']??0;
+                                if(!isset($currentMap[$ylProductId])){
+                                    util::fail('花材有问题');
+                                }
+                                $mustBeNum = $currentMap[$ylProductId];
+                                $myInfo = $myInfoList[$ylProductId]??[];
+                                if(empty($myInfo)){
+                                    util::fail('花材有问题哦');
+                                }
+                                $myName = $myInfo['name']??'';
+                                if($num>=$mustBeNum){
+                                    $curVal = $num/$mustBeNum;
+                                    if($curVal != intval($curVal)){
+                                        util::fail($myName.' 要'.$mustBeNum.'捆或'.$mustBeNum.'的倍数');
+                                    }
+                                    if($mul == 0){
+                                        $mul = $curVal;
+                                    }else{
+                                        if($mul != $curVal){
+                                            util::fail($myName.' 要'.$mustBeNum*$mul.'捆');
+                                        }
+                                    }
+                                }else{
+                                    util::fail($myName.' 数量要'.$mustBeNum.'捆');
+                                }
+                            }
                         }
                         if(count($smallIntersection)==5){
-
+                            $mul = 0;
+                            $currentMap = [1903841=>80,1903855=>55,1903859=>40,1903860=>25,1903864=>20];
+                            foreach($productList as $ylKey => $ylValue){
+                                $ylProductId = $ylValue['productId'];
+                                $num = $ylValue['bigNum']??0;
+                                if(!isset($currentMap[$ylProductId])){
+                                    util::fail('花材有问题');
+                                }
+                                $mustBeNum = $currentMap[$ylProductId];
+                                $myInfo = $myInfoList[$ylProductId]??[];
+                                if(empty($myInfo)){
+                                    util::fail('花材有问题哦');
+                                }
+                                $myName = $myInfo['name']??'';
+                                if($num>=$mustBeNum){
+                                    $curVal = $num/$mustBeNum;
+                                    if($curVal != intval($curVal)){
+                                        util::fail($myName.' 要'.$mustBeNum.'捆或'.$mustBeNum.'的倍数');
+                                    }
+                                    if($mul == 0){
+                                        $mul = $curVal;
+                                    }else{
+                                        if($mul != $curVal){
+                                            util::fail($myName.' 要'.$mustBeNum*$mul.'捆');
+                                        }
+                                    }
+                                }else{
+                                    util::fail($myName.' 数量要'.$mustBeNum.'捆');
+                                }
+                            }
+                        }
+                    }
+                }
+            }else{
+                if($ghsShopInfo->mainId == 41121){
+                    $bigSet = [85378,85956];
+                    $smallSet = [86036,86062];
+                    $getIds = array_column($productList, 'productId');
+                    $bigIntersection = array_intersect($getIds, $bigSet);
+                    $smallIntersection = array_intersect($getIds, $smallSet);
+                    if(count($getIds)==5){
+                        $myInfoList = ProductClass::getAllByCondition(['id'=>['in',$getIds]],null,'*','id');
+                        if(count($bigIntersection)==5){
+                            $mul = 0;
+                            $currentMap = [85378=>5,85956=>6];
+                            foreach($productList as $ylKey => $ylValue){
+                                $ylProductId = $ylValue['productId'];
+                                $num = $ylValue['bigNum']??0;
+                                if(!isset($currentMap[$ylProductId])){
+                                    util::fail('花材有问题');
+                                }
+                                $mustBeNum = $currentMap[$ylProductId];
+                                $myInfo = $myInfoList[$ylProductId]??[];
+                                if(empty($myInfo)){
+                                    util::fail('花材有问题哦');
+                                }
+                                $myName = $myInfo['name']??'';
+                                if($num>=$mustBeNum){
+                                    $curVal = $num/$mustBeNum;
+                                    if($curVal != intval($curVal)){
+                                        util::fail($myName.' 要'.$mustBeNum.'捆或'.$mustBeNum.'的倍数');
+                                    }
+                                    if($mul == 0){
+                                        $mul = $curVal;
+                                    }else{
+                                        if($mul != $curVal){
+                                            util::fail($myName.' 要'.$mustBeNum*$mul.'捆');
+                                        }
+                                    }
+                                }else{
+                                    util::fail($myName.' 数量要'.$mustBeNum.'捆');
+                                }
+                            }
+                        }
+                        if(count($smallIntersection)==5){
+                            $mul = 0;
+                            $currentMap = [86036=>5,86062=>6];
+                            foreach($productList as $ylKey => $ylValue){
+                                $ylProductId = $ylValue['productId'];
+                                $num = $ylValue['bigNum']??0;
+                                if(!isset($currentMap[$ylProductId])){
+                                    util::fail('花材有问题');
+                                }
+                                $mustBeNum = $currentMap[$ylProductId];
+                                $myInfo = $myInfoList[$ylProductId]??[];
+                                if(empty($myInfo)){
+                                    util::fail('花材有问题哦');
+                                }
+                                $myName = $myInfo['name']??'';
+                                if($num>=$mustBeNum){
+                                    $curVal = $num/$mustBeNum;
+                                    if($curVal != intval($curVal)){
+                                        util::fail($myName.' 要'.$mustBeNum.'捆或'.$mustBeNum.'的倍数');
+                                    }
+                                    if($mul == 0){
+                                        $mul = $curVal;
+                                    }else{
+                                        if($mul != $curVal){
+                                            util::fail($myName.' 要'.$mustBeNum*$mul.'捆');
+                                        }
+                                    }
+                                }else{
+                                    util::fail($myName.' 数量要'.$mustBeNum.'捆');
+                                }
+                            }
                         }
                     }
                 }