vendor/codeages/biz-order-pay/src/Order/Status/Refund/AuditingStatus.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Codeages\Biz\Order\Status\Refund;
use Codeages\Biz\Framework\Service\Exception\AccessDeniedException;
use Codeages\Biz\Framework\Service\Exception\NotFoundException;
class AuditingStatus extends AbstractRefundStatus
{
const NAME = 'auditing';
public function getName()
{
return self::NAME;
}
public function process($data = array())
{
$orderRefund = $this->createOrderRefund($data['orderId'], $data);
return $this->createOrderRefundItems($data['orderItemIds'], $orderRefund);
}
protected function createOrderRefund($orderId, $data)
{
$order = $this->getOrderDao()->get($orderId);
if (empty($order)) {
throw new NotFoundException("order #{$orderId} is not found.");
}
if ($this->biz['user']['id'] != $order['user_id']) {
throw new AccessDeniedException("order #{$orderId} can not refund.");
}
$orderRefund = $this->getOrderRefundDao()->create(array(
'order_id' => $order['id'],
'title' => $order['title'],
'order_item_id' => 0,
'sn' => $this->generateSn(),
'user_id' => $order['user_id'],
'created_user_id' => $this->biz['user']['id'],
'reason' => empty($data['reason']) ? '' : $data['reason'],
'amount' => $order['pay_amount'],
'status' => self::NAME,
'refund_cash_amount' => $order['paid_cash_amount'],
'refund_coin_amount' => $order['paid_coin_amount'],
));
return $orderRefund;
}
protected function generateSn()
{
return date('YmdHis', time()).mt_rand(10000, 99999);
}
protected function createOrderRefundItems($orderItemIds, $orderRefund)
{
$totalAmount = 0;
$orderItemRefunds = array();
foreach ($orderItemIds as $orderItemId) {
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。