作者 jinglong
1 个管道 的构建 通过 耗费 1 秒

修改结算判断购物车库存

... ... @@ -320,7 +320,7 @@ class Cars extends Api
$key = ['goods_id','price','goods_number','style'];
$res_goods = Common::array_merge_more($key,$goods_id_s,$price_s,$goods_number_s,$style_s);
//查询商品
$res = Common::selectSoftWhereData('goods',['id'=>['in',$goods_id_s]],'id,name,image,expense_price,stock,introduce');
$res = Common::selectSoftWhereData('goods',['id'=>['in',$goods_id_s]],'id,name,image,expense_price,stock,style g_style,introduce');
$total_price = 0;//总商品费用(不含运费)
$total_expense_price = 0;//总运费
foreach ($res as &$value){
... ... @@ -328,8 +328,17 @@ class Cars extends Api
foreach($res_goods as $g_value){
if($value['id'] == $g_value['goods_id']){
$value['price'] = $g_value['price'];//商品价格
if(($value['stock'] <=> $g_value['goods_number']) == -1){
$this->error('商品名称为'.$value['name'].'的库存不足');
//检测库存
//查看规格所属索引
$s_index = array_search($g_value['style'],Common::salePrice($value['g_style']));
if($s_index){
$stock = Common::salePrice($value['stock'])[$s_index];
if(($stock <=> $g_value['goods_number']) == -1){
$this->error('库存不足');
}
}else{
$this->error('出错了');
}
$value['goods_number'] = $g_value['goods_number'];//商品数量
$value['style'] = $g_value['style'];//商品款式
... ... @@ -339,6 +348,7 @@ class Cars extends Api
}
$total_expense_price += $value['expense_price'];
unset($value['expense_price']);
unset($value['stock']);
}
$arr['data'] = $res;
$arr['total_goods_price'] = $total_price;
... ...