common.php 711 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. // 接口公共方法
  3. use think\Db;
  4. // 更新商品库存
  5. function update_goods_stock($goods_id,$goods_no,$num){
  6. $goods_info = Db::table('store_goods')
  7. ->field('id,spec,stock')
  8. ->where(['id'=>$goods_id])
  9. ->find();
  10. $spec = json_decode($goods_info['spec'],true);
  11. foreach ($spec as $gk=>&$gv) {
  12. if($gv['goods_no'] == $goods_no) {
  13. $spec[$gk]['store_num'] = bcsub($gv['store_num'],$num) > 0 ? bcsub($gv['store_num'],$num) : 0;
  14. }
  15. }
  16. $stock = $goods_info['stock']-$num >0 ? $goods_info['stock']-$num:0;
  17. return Db::table('store_goods')->where(['id'=>$goods_id])->update(['spec'=>json_encode($spec),'stock'=>$stock]);
  18. }