getOrderListByDelivery($storeId, $deadlineTime); // 售后单ID集 $orderRefundIds = helper::getArrayColumn($list, 'order_refund_id'); // 批量更新售后单状态 if (!empty($orderRefundIds)) { $model->onUpdateDelivery($orderRefundIds); foreach($orderRefundIds as $orderRefundId){ $json_str = json_encode(["买家超时未退货,退款已关闭"]); (new RefundHisModel())->add($orderRefundId,'系统',7,$json_str,'','系统','用户超时未退货,系统自动关闭售后单'); } } // 订单商品ID集 $orderGoodsIds = helper::getArrayColumn($list, 'order_goods_id'); // 批量解冻订单商品冻结状态 if (!empty($orderGoodsIds)) { (new OrderGoodsModel)->onUpdateFrozen($orderGoodsIds); } // 记录日志 Tools::taskLogs('OrderRefund', 'deliveryEvent', [ 'storeId' => $storeId, 'deliveryDays' => $deliveryDays, 'deadlineTime' => $deadlineTime, 'orderIds' => helper::jsonEncode($orderRefundIds), ]); } /** * 合计订单退款金额 (实付金额+米卡抵扣)*退款数量/购买总数量 * @param $orderGoodsId * @return mixed */ public static function sumRefundPriceNew($orderGoodsId){ $lists = OrderRefundModel::alias('order_refund') ->join('order_goods','order_refund.order_goods_id=order_goods.order_goods_id','left') ->whereIn('order_refund.order_goods_id',$orderGoodsId) ->where('finance_refund',10) ->field('order_refund.order_goods_id,order_refund.goods_num,order_goods.goods_price,status,type,audit_status,audit_status_zg,is_user_send,order_goods.total_pay_price,order_goods.rice_card_money,order_goods.total_num') ->select(); $sum = 0; if (count($lists)){ foreach ($lists as $list){ $a = helper::bcadd($list->total_pay_price ,$list->rice_card_money,4); $b = helper::bcmul($a,$list->goods_num,4); $c = helper::bcdiv($b,$list->total_num,4); $sum = helper::bcadd($sum,$c); } } return $sum; } }