12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- // 接口公共方法
- use think\Db;
- // 更新商品库存
- function update_goods_stock($goods_id,$goods_no,$num){
- $goods_info = Db::table('store_goods')
- ->field('id,spec,stock')
- ->where(['id'=>$goods_id])
- ->find();
- $spec = json_decode($goods_info['spec'],true);
- foreach ($spec as $gk=>&$gv) {
- if($gv['goods_no'] == $goods_no) {
- $spec[$gk]['store_num'] = bcsub($gv['store_num'],$num) > 0 ? bcsub($gv['store_num'],$num) : 0;
- }
- }
- $stock = $goods_info['stock']-$num >0 ? $goods_info['stock']-$num:0;
- return Db::table('store_goods')->where(['id'=>$goods_id])->update(['spec'=>json_encode($spec),'stock'=>$stock]);
- }
|