| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- /*
- * @Author: your name
- * @Date: 2021-03-02 09:50:20
- * @LastEditTime: 2021-04-29 16:34:55
- * @LastEditors: Please set LastEditors
- * @Description: In User Settings Edit
- * @FilePath: \admin_php\modules\client\models\v1\OrderRefundDetailForm.php
- */
- namespace app\modules\client\models\v1;
- use app\models\Express;
- use app\models\Goods;
- use app\models\OrderDetail;
- use app\models\OrderRefund;
- use app\models\RefundAddress;
- use app\models\Order;
- use app\models\SupplierRefundAddress;
- use app\models\SupplierSetting;
- use yii\base\Model;
- use yii\helpers\Json;
- class OrderRefundDetailForm extends Model
- {
- public $store_id;
- public $user_id;
- public $order_refund_id;
- public function rules()
- {
- return [
- [['order_refund_id'], 'required'],
- ];
- }
- public function search()
- {
- if (!$this->validate()) {
- return [
- 'code' => 1,
- 'msg' => $this->getErrorSummary(false)[0],
- ];
- }
- $order_refund = OrderRefund::find()->alias('or')
- // ->leftJoin(['od' => OrderDetail::tableName()], 'or.order_detail_id=od.id')
- // ->leftJoin(['g' => Goods::tableName()], 'od.goods_id=g.id')
- ->where([
- 'or.id' => $this->order_refund_id,
- 'or.is_delete' => 0,
- ])
- // od.goods_id,od.goods_name as name,od.num,od.total_price,od.attr, od.pic
- ->select('or.is_user_cancel,or.order_detail_id,or.id order_refund_id,or.order_id,or.desc refund_desc,or.type refund_type,or.status refund_status,or.refuse_desc,or.pic_list refund_pic_list,or.refund_price,or.is_agree,or.is_user_send,or.user_send_express,or.user_send_express_no, or.address_id, or.refund_address')
- ->asArray()->one();
- if (!$order_refund) {
- return [
- 'code' => 1,
- 'msg' => '售后单不存在'
- ];
- }
- $refundAddress = RefundAddress::findOne($order_refund['address_id']);
- if ($refundAddress) {
- $order_refund['re_name'] = $refundAddress->name;
- $order_refund['re_address'] = $refundAddress->address;
- $order_refund['re_mobile'] = $refundAddress->mobile;
- }
- if ($order_refund['refund_address']) {
- $refund_address = json_decode($order_refund['refund_address'], true);
- if (!empty($refund_address)) {
- $order_refund['re_name'] = $refund_address['name'];
- $order_refund['re_address'] = $refund_address['address'];
- $order_refund['re_mobile'] = $refund_address['mobile'];
- }
- }
- $order_refund['is_front_centralize'] = 0;
- // $order_refund['goods_pic'] = $order_refund['pic'] ?: Goods::getGoodsPicStatic($order_refund['goods_id']);
- // $order_refund['attr'] = json_decode($order_refund['attr']);
- $order_refund['goods_list'] = OrderDetail::find()->where(['order_id' => $order_refund['order_id']])->andWhere(['in', 'id', Json::decode($order_refund['order_detail_id'])])
- ->select('goods_id,goods_name as name,num,total_price,attr,pic as goods_pic, goods_info')->asArray()->all();
- foreach ($order_refund['goods_list'] as &$goods) {
- $goods['attr'] = Json::decode($goods['attr']);
- $goods_info = json_decode($goods['goods_info'], true);
- $order_refund['is_front_centralize'] = intval($goods_info['is_front_centralize']);
- }
- $order_refund['refund_pic_list'] = json_decode($order_refund['refund_pic_list']);
- $order_refund['express_list'] = Express::getExpressList();
- $order_refund['order_refund_status_bg'] = \Yii::$app->request->hostInfo . \Yii::$app->request->baseUrl . '/statics/images/order-refund-status-bg.png';
-
- // $rmSum = \app\models\OrderRefundMoney::find()->where(['is_delete' => 0, 'status' => 1, 'order_id' => $order_refund['order_id']])->sum('refund_price');
- // $order_refund['refund_price'] += $rmSum;
-
-
-
- $orderTransit = \app\models\OrderTransit::findOne(['order_id' => $order_refund['order_id'], 'is_delete' => 0]);
- $order_refund['$orderTransit'] = $orderTransit;
- if($orderTransit){
- $supplier = \app\models\Supplier::findOne(['cloud_supplier_id' => $orderTransit->cloud_supplier_id]);
- }
- if($orderTransit && $supplier['is_stbz']){
- $form = new \app\modules\admin\models\SupplierForm();
- $form->order_id = (string)$orderTransit['cloud_order_id'];
- $res = $form->supplierPurchaseOrderList($orderTransit['cloud_supplier_id']);
- $order_refund['$res'] = $res;
- if ($res['code'] == 0) {
- $stbz_refund_id = $res['data']['list'][0]['stbz_refund_id'];
- if($stbz_refund_id){
- $logistic = \stbz_client()->getApiResponse('get', '/v2/logistic/firms');
- $order_refund['$logistic'] = $logistic;
- // \debug_log($logistic);
- // $logistic = '{"id":"51OO7sen5LIgT4c7S9FX","code":1,"msg":"操作成功","data":{"list":null,"info":{"name":"皇家物流","no":"hj413132163413","remark":""}}}';
- $returnData = \json_decode($logistic, true);
- if ($returnData['code'] == 1) {
- if($returnData['data']){
- $order_refund['express_list'] = $returnData['data'];
- }
- $order_refund['express_list1'] = $returnData;
- }
- }
- }
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => $order_refund,
- ];
- }
- }
|