|
|
@@ -7,6 +7,8 @@ use biz\shop\classes\ShopClass;
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\custom\classes\CustomClass;
|
|
|
use biz\sj\classes\MerchantClass;
|
|
|
+use bizGhs\order\traits\OrderTrait;
|
|
|
+use bizGhs\product\classes\ProductClass;
|
|
|
use common\components\orderSn;
|
|
|
use common\components\stringUtil;
|
|
|
use common\components\util;
|
|
|
@@ -15,7 +17,7 @@ use bizHd\base\classes\BaseClass;
|
|
|
|
|
|
class PurchaseClass extends BaseClass
|
|
|
{
|
|
|
-
|
|
|
+ use OrderTrait;
|
|
|
public static $baseFile = '\bizHd\purchase\models\Purchase';
|
|
|
|
|
|
//订单状态 1待付款,待确认,2待配送,3配送中,4已完成
|
|
|
@@ -36,18 +38,60 @@ class PurchaseClass extends BaseClass
|
|
|
{
|
|
|
$orderSn = orderSn::getPurchaseSn();
|
|
|
$data['orderSn'] = $orderSn;
|
|
|
- $data['prePrice'] = 0.01;
|
|
|
- $data['actPrice'] = 0.01;
|
|
|
+ $prePrice = 0;
|
|
|
+ $actPrice = 0;
|
|
|
+
|
|
|
$data['sendTimeWant'] = date("Y-m-d") . ' ' . $data['sendTime'];
|
|
|
unset($data['sendTime']);
|
|
|
- $respond = self::add($data);
|
|
|
- if (isset($data['product']) == false || empty($data['product'])) {
|
|
|
- util::fail('请选择花材');
|
|
|
- }
|
|
|
+
|
|
|
$productList = $data['product'];
|
|
|
+ $productData = self::getProductMapData($productList);
|
|
|
+ //[{"productId":"113","bigNum":1,"smallNum":0,"classId":"-2"}]
|
|
|
+ //计算价格= 各个productId的price*num(bigNum,smallNum) + sendCost(配送费)
|
|
|
foreach ($productList as $key => $product) {
|
|
|
$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;//当时库存
|
|
|
+ $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']??'',//花材图片
|
|
|
+ 'bigNum'=> $product['bigNum']??0,//采购数量(大单位)
|
|
|
+ 'smallNum'=> $product['smallNum']??0,//采购数量(小单位)
|
|
|
+ 'bigNumStock'=> $stockFormat['bigNum'],// 当时库存大单位数
|
|
|
+ 'smallNumStock'=> $stockFormat['smallNum'],//当时库存 小单位数
|
|
|
+ 'itemUnit'=> $ratio?2:1,//单位
|
|
|
+ 'ratio'=>$ratio,// 比例
|
|
|
+ 'rank'=>$rank,// 花材级别
|
|
|
+ 'bigUnit'=> $productData[$productId]['bigUnit'],//大单位名称 扎
|
|
|
+ 'smallUnit'=> $productData[$productId]['smallUnit'],//小单位名称 支
|
|
|
+ ];
|
|
|
+
|
|
|
+ $productList[$key]['itemInfo'] = json_encode($itemInfo);
|
|
|
+ $productList[$key]['itemId'] = $itemId;
|
|
|
+ $productList[$key]['itemNum'] = $itemNum;
|
|
|
+ $productList[$key]['price'] = $price;
|
|
|
+ $productList[$key]['ratio'] = $ratio;
|
|
|
+ $productList[$key]['totalPrice'] = $sellPrice;
|
|
|
+ $prePrice = bcadd($prePrice,$sellPrice,2);
|
|
|
}
|
|
|
+ $prePrice = bcadd($prePrice,$data['sendCost'],2);
|
|
|
+ $actPrice = $prePrice;
|
|
|
+ $data['prePrice'] = $prePrice;
|
|
|
+ $data['actPrice'] = $actPrice;
|
|
|
+ $respond = self::add($data);
|
|
|
+ if (isset($data['product']) == false || empty($data['product'])) {
|
|
|
+ util::fail('请选择花材');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
PurchaseItemClass::batchAdd($productList);
|
|
|
|
|
|
//供货商增加订单
|
|
|
@@ -60,8 +104,8 @@ class PurchaseClass extends BaseClass
|
|
|
$shopId = $ghs['shopId'];
|
|
|
$getType = $data['getType'];
|
|
|
$orderData = [
|
|
|
- 'prePrice' => 0.01,
|
|
|
- 'actPrice' => 0.01,
|
|
|
+ 'prePrice' => $prePrice,
|
|
|
+ 'actPrice' => $actPrice,
|
|
|
'num' => 1,
|
|
|
'smallNum' => 3,
|
|
|
'product' => $productList,
|
|
|
@@ -158,4 +202,4 @@ class PurchaseClass extends BaseClass
|
|
|
|
|
|
}
|
|
|
|
|
|
-}
|
|
|
+}
|