|
@@ -4,6 +4,7 @@ namespace app\admin\service\order;
|
|
|
|
|
|
use app\model\CouponDetail;
|
|
|
use app\model\CouponGoods;
|
|
|
+use app\model\Goods;
|
|
|
use app\model\GoodsRunning;
|
|
|
use app\model\GoodsSku;
|
|
|
use app\model\Member;
|
|
@@ -992,6 +993,39 @@ class OrderService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 检查产品限额
|
|
|
+ */
|
|
|
+ public static function checkGoodsLimit($goods,$memberId)
|
|
|
+ {
|
|
|
+ foreach($goods as $good){
|
|
|
+ $goodsLimit = 'no';
|
|
|
+ $goodsModel = Goods::where('goods_id',$good['goods_id'])->select('goods_attribute_json')->first();
|
|
|
+ if (!empty($goodsModel) && !empty($goodsModel->goods_attribute_json)){
|
|
|
+ $goodsAttributeJson = json_decode($goodsModel->goods_attribute_json,true);
|
|
|
+ if (!empty($goodsAttributeJson['max-limit'])){
|
|
|
+ $goodsLimit = $goodsAttributeJson['max-limit'];
|
|
|
+ if ($goodsLimit != 0 && $goodsLimit != '' && $good['nbr'] > $goodsLimit){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $sheetNbr = 0;
|
|
|
+ if ($goodsLimit != 'no'){
|
|
|
+ $sheetNbr = OrderSheet::where('join_sheet_member_id',$memberId)
|
|
|
+ ->where('join_sheet_goods_id',$good['goods_id'])
|
|
|
+ ->where('order_sheet_status','<>','CANCEL')
|
|
|
+ ->sum('order_sheet_num');
|
|
|
+ if ($goodsLimit != 0 && $goodsLimit != '' && $good['nbr'] + $sheetNbr > $goodsLimit){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public static $couponClassify = [
|
|
|
'wipe' => '抹零',
|