'integer', 'user_id' => 'integer', 'order_type' => 'integer', 'order_id' => 'integer', 'pay_id' => 'integer', 'refund_status' => 'integer', 'refund_type' => 'integer', 'admin_id' => 'integer']; const string CREATED_AT = 'create_time'; const string UPDATED_AT = 'update_time'; /** * @param int $orderId * @param int $type * @return int|mixed|string */ public function getAllMoneyByOrderId(int $orderId, int $type): mixed { return $this ->where('order_id', $orderId) ->where('order_type', $type) ->whereIn('refund_status',[ RefundCode::WAIT_BY_PAY_TOOL, RefundCode::REFUND_SUCCESS ])->sum('refund_money') ?? 0; } /** * @param int $orderId * @param int $type * @return float|int|string */ public function getSuccessMoneyByOrderId(int $orderId, int $type): float|int|string { return $this ->where('order_id', $orderId) ->where('order_type', $type) ->where('refund_status',RefundCode::REFUND_SUCCESS) // ->whereIn('refund_status',[ // RefundCode::WAIT_BY_PAY_TOOL, // RefundCode::REFUND_SUCCESS // ]) ->sum('refund_money') ?? 0; } /** * @param int $id * @param int $type * @return \Hyperf\Database\Model\Model|null */ public function getInfoByOrderIdAndTypeWaitRefund(int $id,int $type): \Hyperf\Database\Model\Model|null { return $this->where('order_id',$id)->where('order_type',$type)->where('refund_status',RefundCode::WAIT_REFUND)->first(); } /** * @param string $orderSno * @param int $type * @return \Hyperf\Database\Model\Model|RefundOrder|null */ public function getInfoByOrderSnoAndType(string $orderSno, int $type): \Hyperf\Database\Model\Model|null|RefundOrder { return $this->where('refund_order_sno',$orderSno)->where('refund_type',$type)->first(); } }