<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                文件路徑: shop/controllers/Buyer/Service/ReturnCtl.php 方法: addReturn() 參數: order_id:“退款/退貨”的訂單號 goods_id:“退款/退貨”的訂單商品id return_message:“退款/退貨”說明 return_reason_id:“退款/退貨”原因id nums:“退款/退貨”商品數量 # 1.根據goods_id查找訂單信息,將查找出的訂單id與傳遞參數訂單id進行比較。兩者不一致,報錯。 if($goods['order_id'] !== $order_id) { $flag2 = false; } # 2.判斷訂單狀態,只有已付款訂單才可進去“退款/退貨” if ($order['order_status'] < Order_StateModel::ORDER_PAYED) { $flag2 = false; } # 3.確定return_type的值,判斷此次的“退款/退貨”究竟是退款,還是退貨。 if ($order['order_is_virtual']) { $field['return_type'] = Order_ReturnModel::RETURN_TYPE_VIRTUAL; } else { switch ($order['order_status']) { case Order_StateModel::ORDER_PAYED:$field['return_type'] = Order_ReturnModel::RETURN_TYPE_ORDER ; //退款 break; case Order_StateModel::ORDER_FINISH:$field['return_type'] = Order_ReturnModel::RETURN_TYPE_GOODS ; //退貨 break; } } # 4.如果是貨到付款,確認收貨(付款)后才能退款 if($order['payment_id'] == PaymentChannlModel::PAY_CONFIRM){ if($order['order_status'] < Order_StateModel::ORDER_RECEIVED) { $flag2 = false; } } # 5.根據訂單狀態,確定return_goods_return值。 退款(貨到付款只支持退貨,不支持退款) if($goods['order_goods_status'] == Order_StateModel::ORDER_PAYED && $order['payment_id'] !== PaymentChannlModel::PAY_CONFIRM) { //白條支付不支持退款和退貨 if(strstr($order['payment_name'],'白條支付')){ $flag2 = false; } $field['return_goods_return'] = 0; //是否需要退貨 0-不需要 1-需要 $return = $this->orderReturnModel->getByWhere(array( 'order_goods_id' => $goods_id, 'return_type' => Order_ReturnModel::RETURN_TYPE_ORDER, 'return_state:!=' => Order_ReturnModel::RETURN_SELLER_UNPASS )); } 退貨 if ($goods['order_goods_status'] == Order_StateModel::ORDER_FINISH) { if(strstr($order['payment_name'],'白條支付')){ $flag2 = false; } $field['return_goods_return'] = 1; //需要退貨 //查詢是否存在該訂單商品的退貨申請信息,且該申請未被賣家拒絕,以此判斷是否重新提交退貨申請 //只有以前沒有提交過該商品的退貨申請,且未被賣家拒絕的情況下,才可以提交退貨申請 $return = $this->orderReturnModel->getByWhere(array( 'order_goods_id' => $goods_id, 'return_type' => Order_ReturnModel::RETURN_TYPE_GOODS, 'return_state:!=' => Order_ReturnModel::RETURN_SELLER_UNPASS )); } # 6.計算生成“退款/退貨”訂單所需要的各種金額 //判斷這件“退款/退貨”商品是否還有可退數量(退款,退貨都會退還商品數量) $this_goods_return = $this->orderReturnModel->getByWhere(array( 'order_goods_id' => $goods_id, 'return_state:!=' => Order_ReturnModel::RETURN_SELLER_UNPASS )); * $this_goods_return_num :“退款/退貨”商品總的已退還件數 * $this_goods_return_cash :“退款/退貨”商品總的已退金額(包含正在審核中的金額) //查找該筆訂單已經進行過或正進行中的的退款,退貨 $order_return = $this->orderReturnModel->getByWhere(array( 'order_number' => $order['order_id'], 'return_state:!=' => Order_ReturnModel::RETURN_SELLER_UNPASS )); //訂單已經退款退貨的金額(包括與同意的退款和正在審核中的退款) $order_return_cash = array_sum(array_column($order_return, 'return_cash')); //訂單已經退還的商品數量 $order_return_num = array_sum(array_column($order_return, 'order_goods_num')); //訂單還可退還的金額 = 訂單實付金額 - 訂單已退金額 //如果沒有發貨,可以退運費 if (Order_StateModel::ORDER_PAYED == $order['order_status']) { $order_can_return_cash = $order['order_payment_amount'] - $order_return_cash; } else { $order_can_return_cash = $order['order_payment_amount'] - $order_return_cash - $order['order_shipping_fee']; } /* * $data['order']['order_refund_amount'] 與 $order_return_cash 的區別 * $data['order']['order_refund_amount']:表示商家已經同意的退款金額 * $order_return_cash:表示買家已經申請的退款,除被商家拒絕的退款外,正在審核的退款也包含在內 */ //訂單已退還的金額 $return_limit = $order['order_refund_amount']; //訂單可退金額 $cash_limit = $order_can_return_cash; //訂單可退商品數量 $goods_can_return_nums = $order_all_goods_num - $order_return_num; //該件商品可退的總金額 $return_goods_cash = $goods['order_goods_amount'] - $this_goods_return_cash; //該件商品還可退還商品數量 $return_goods_nums = $goods['order_goods_num'] - $this_goods_return_num; //實際該件商品可退還的金額(有時可能包含運費) //該件商品全部“退款/退貨” //return_goods_nums if($goods_can_return_nums == $nums && Order_StateModel::ORDER_PAYED == $order['order_status']) { //加上運費(未發貨) $return_cash = $return_goods_cash + $order['order_shipping_fee']; } else { $return_cash = floor($nums * $goods['order_goods_payment_amount'] * 100) / 100; } //如果訂單為已付款狀態,并且所有商品都退款,則將運費退還 if(Order_StateModel::ORDER_PAYED == $order['order_status'] && $nums == $goods_can_return_nums) { $return_cash = $cash_limit; } /*退款退貨走同樣的流程。區別是:退款時可能會退還運費,退貨不可能退還運費。*/ # 7.訂單商品表中插入訂單商品的“退款/退貨”狀態 if($field['return_goods_return'] == 0) { //退款 $goods_field['goods_return_status'] = Order_GoodsModel::REFUND_IN; $edit_flag = $this->orderGoodsModel->editGoods($goods_id, $goods_field); check_rs($edit_flag, $rs_row); } else { //退貨 $goods_field['goods_refund_status'] = Order_GoodsModel::REFUND_IN; $edit_flag = $this->orderGoodsModel->editGoods($goods_id, $goods_field); check_rs($edit_flag, $rs_row); }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看