getInfo([['order_id', '=', $order_id], ['promotion_type', '=', 'seckill'], ['order_status', '=', -1]], 'promotion_id'); if (!empty($order_info)) { $condition = [ ['order_id', '=', $order_id] ]; $order_goods_list = model('order_goods')->getList($condition, 'order_goods_id,sku_id,num,refund_status,use_point'); foreach ($order_goods_list as $k => $v) { // 返还库存 model('promotion_seckill')->setInc([['id', '=', $order_info['promotion_id']]], 'goods_stock', $v['num']); model('promotion_seckill_goods')->setInc([['sku_id', '=', $v['sku_id']], ['seckill_id', '=', $order_info['promotion_id']]], 'stock', $v['num']); // 减少销量 model('promotion_seckill')->setDec([['id', '=', $order_info['promotion_id']]], 'sale_num', $v['num']); } } return $this->success(); } /** * 获取商品已秒杀数 * @param $goods_id * @param $member_id * @return float */ public function getGoodsSeckillNum($seckill_id) { $join = [ ['order o', 'o.order_id = og.order_id', 'left'] ]; return model('order_goods')->getSum([ ['o.order_status', '<>', Order::ORDER_CLOSE], ['o.promotion_type', '=', 'seckill'], ['o.promotion_id', '=', $seckill_id], ['og.refund_status', '<>', OrderRefundDict::REFUND_COMPLETE], ], 'og.num', 'og', $join); } }