alias('r') ->where('r.create_time', '<=', $endTime) ->where('r.create_time', '>', $startTime) ->where('r.order_goods_id', '>', 0) ->leftJoin('order_goods og', 'og.order_goods_id=r.order_goods_id') ->field('og.goods_id,sum(r.refund_money) as total_amount,sum(r.goods_num) as total_num') ->group('og.goods_id') ->select(); if (!empty($data)) { foreach ($data as $v) { $insert[] = [ 'start_time' => $startTime, 'end_time' => $endTime, 'goods_id' => $v['goods_id'], 'refund_amount' => $v['total_amount'], 'refund_num' => $v['total_num'], 'create_time' => $now, 'update_time' => $now, ]; } } // 整单退款 $data = Db::name('order_refund')->alias('r') ->where('r.create_time', '<=', $endTime) ->where('r.create_time', '>', $startTime) ->where('r.order_goods_id', '=', 0) ->leftJoin('order_goods og', 'og.order_id=r.order_id') ->field('og.goods_id,sum(r.refund_money) as total_amount,sum(r.goods_num) as total_num') ->group('og.goods_id') ->select(); if (!empty($data)) { foreach ($data as $v) { $insert[] = [ 'start_time' => $startTime, 'end_time' => $endTime, 'goods_id' => $v['goods_id'], 'refund_amount' => $v['total_amount'], 'refund_num' => $v['total_num'], 'create_time' => $now, 'update_time' => $now, ]; } } self::insertAll($insert); } }