zhangjidong 3 일 전
부모
커밋
73931368bd
1개의 변경된 파일82개의 추가작업 그리고 44개의 파일을 삭제
  1. 82 44
      modules/client/models/v1/OrderListForm.php

+ 82 - 44
modules/client/models/v1/OrderListForm.php

@@ -1,8 +1,8 @@
 <?php
 /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
+ * 厦门云联储网络科技有限公司
+ * https://www.baokuaiyun.com
+ * Copyright (c) 2023 爆块云 All rights reserved.
  */
 namespace app\modules\client\models\v1;
 
@@ -14,8 +14,9 @@ use app\models\FoodFlag;
 use app\models\Goods;
 use app\models\GoodsBook;
 use app\models\Mch;
-use app\models\OrderGoodsCancel;
+use app\models\SaaSLeaguePriceLog;
 use app\models\Store;
+use app\models\UserStringCodeOrder;
 use app\modules\admin\models\ActivityCutPriceForm;
 use app\models\Md;
 use app\models\Option;
@@ -32,7 +33,6 @@ use yii\data\Pagination;
 use app\utils\Notice\NoticeAction;
 use yii\helpers\Json;
 use app\models\DeliveryInfo;
-use app\modules\client\models\v1\OrderDetailForm;
 
 class OrderListForm extends OrderForm
 {
@@ -61,7 +61,7 @@ class OrderListForm extends OrderForm
         ];
     }
 
-    public function search($arr = [])
+    public function search()
     {
         if (!$this->validate()) {
             return [
@@ -71,20 +71,19 @@ class OrderListForm extends OrderForm
         }
         $query = Order::find()->where([
             'is_delete' => 0,
-            'store_id' => $this->store_id,
+            'saas_id' =>get_saas_user_id(),
             'user_delete' => 0
         ]);
-        
-        if ($arr['is_giving_gifts'] == 1) {
-            $query->andWhere(['order_type' => Order::ORDER_TYPE_GIVING_GIFTS]);
-            if(isset($arr['self_received']) && $arr['self_received']){
-                $query->andWhere(['giving_gifts_received_user_id' => $this->user_id]);
-            }else{
-                $query->andWhere(['user_id' => $this->user_id]);
-            }
+        if($this->store_id !=226){
+            $query->andWhere([
+                'or',
+                ['store_id' => $this->store_id],
+                ['origin_store_id' => $this->store_id]
+            ]);
         }else{
-            $query->andWhere(['!=', 'order_type', Order::ORDER_TYPE_GIVING_GIFTS]);
-            $query->andWhere(['user_id' => $this->user_id]);
+            $query->andWhere([
+                'store_id' => $this->store_id,
+            ]);
         }
         $query->andWhere([
             '<>', 'order_type', Order::ORDER_TYPE_WORKER
@@ -149,6 +148,14 @@ class OrderListForm extends OrderForm
 //                }else{
 //                    $log = true;
 //                }
+                if ($order->take_price > 0){
+                    $league_order = SaaSLeaguePriceLog::findOne(['order_id' => $order->id,'type'=>36]);
+                    $league_order_d = SaaSLeaguePriceLog::findOne(['order_id' => $order->id,'type'=>4]);
+                    if (!$league_order && $league_order_d){
+                        $title = '订单取消返还:'.$order->order_no;
+                        SaaSLeaguePriceLog::addLog($order->saas_id,$order->store_id,$order->take_price, UserStringCodeOrder::TYPE_LEAGUE_PRICE[UserStringCodeOrder::TYPE_ORDER_FLOW_CANCEL],$order->id,0,0,$title);
+                    }
+                }
                 $log = true;
                 // 退还积分
                 $integral = Json::decode($order->integral);
@@ -206,7 +213,8 @@ class OrderListForm extends OrderForm
                     'attr_list' => json_decode($order_detail->attr),
                     'food_ext_goods' => (array)json_decode($order_detail['food_ext_goods'], true),
                     'integral_price' => $order_detail->integral_price,
-                    'delivery_rules' => $delivery_rules ?: null
+                    'delivery_rules' => $delivery_rules ?: null,
+                    'shop_coin_attr'=>$order_detail->shop_coin_attr,
                 ];
             }
             $qrcode = null;
@@ -224,6 +232,14 @@ class OrderListForm extends OrderForm
             if($order->order_type == 7){
                 $mch['name'] = '积分兑换';
             }
+            //新增店铺名称逻辑
+            $store_info =  \Yii::$app->db->createCommand("SELECT * FROM cyy_store WHERE id = :id")
+            ->bindValue(':id', $order->store_id)
+            ->queryOne();
+           
+            if(($order->origin_store_id >0) && ($order->origin_store_id != $order->store_id)){
+                $mch['name'] =$store_info['name'];
+            }
             $orderRefund = OrderRefund::find()->where(['store_id' => $order->store_id, 'order_id' => $order->id])->exists();
             $deliveryInfo = null;
             if ($order->is_delivery == 1) {
@@ -280,9 +296,6 @@ class OrderListForm extends OrderForm
                     if ($order->md_id > 0) {
                         $md = Md::findOne($order->md_id);
                         $food_payment = $md->food_payment;
-                    } else if($order['mch_id'] > 0){
-                        $mchModel = Mch::findOne($order['mch_id']);
-                        $food_payment = $mchModel->food_payment;
                     } else {
                         $store = Store::findOne($order->store_id);
                         $food_payment = $store->food_payment;
@@ -341,21 +354,32 @@ class OrderListForm extends OrderForm
                 }
 
             }
-
-            //获取退款的总商品金额 / 获取最新一条的状态
-            $cancel_info = [];
-            $order_cancel = OrderGoodsCancel::find()->where(['order_id' => $order->id])
-                ->orderBy('id desc')->select('status')->asArray()->one();
-            if ($order_cancel) {
-                $cancel_info['refund_price'] = OrderGoodsCancel::find()->where(['order_id' => $order->id])->sum('refund_price');
-                $cancel_info['status_text'] = OrderGoodsCancel::$status_desc[$order_cancel['status']];
-            }
-
-
-            $hideBtn = OrderDetailForm::hideBtn($order);
+             $is_get_coin =1;
+              if(($order->trade_status == 3) && $order->is_get_coin == 0){
+                   //查询商品是不是
+                  foreach ($goods_list as $k1 => $v1) {
+                      $cloud_goods_id = \Yii::$app->db->createCommand("SELECT cloud_goods_id FROM cyy_cloud_goods_bind WHERE goods_id = :goods_id")
+                          ->bindValue(':goods_id', $v1->goods_id) // 改为箭头运算符
+                          ->queryScalar();
+                      $count_crry = \Yii::$app->db->createCommand("SELECT cloud_goods_id FROM cyy_goods_wallet WHERE cloud_goods_id = :cloud_goods_id")
+                          ->bindValue(':cloud_goods_id', $cloud_goods_id)
+                          ->queryScalar();
+                      if ($count_crry) {
+                          if(($order->created_at)>1741968000){
+                               $is_get_coin = 0;
+                          }
+                      }
+                       $shop_coin_attr = json_decode($v1->shop_coin_attr);
+                        if($shop_coin_attr){
+                            $is_get_coin = 0;
+                        }
+                  }
+                 
+              }
             $new_list[] = (object)[
-                'hideBtn' => $hideBtn,
-                'givingGiftsOrderData' => \app\modules\admin\models\givingGifts\GivingGiftsForm::givingGiftsOrderData($order),
+                'store_id_first'=>$order->store_id,
+                'store_id'=>$order->origin_store_id,
+                'is_get_coin'=>$is_get_coin,
                 'is_sale' => intval($order->is_sale),
                 'is_order_refund' => $is_order_refund,
                 'order_refund_enable' => $order_refund_enable,
@@ -384,8 +408,7 @@ class OrderListForm extends OrderForm
                 'express_detail' => $express_detail,
                 'express_no' => $order->express_no,
                 'is_can_confirm' => $is_can_confirm,
-                'pay_type_list' => $food_pay_type ?: $pay_type_list,
-                'cancel_info' => $cancel_info ?: null
+                'pay_type_list' => $food_pay_type ?: $pay_type_list
             ];
         }
 
@@ -394,7 +417,6 @@ class OrderListForm extends OrderForm
             'code' => 0,
             'msg' => 'success',
             'data' => [
-                'q' => $query->createCommand()->getRawSql(),
                 'row_count' => $count,
                 'page_count' => $pagination->pageCount,
                 'list' => $new_list,
@@ -485,8 +507,7 @@ class OrderListForm extends OrderForm
                 if (empty($detail_goods)) {
                     continue;
                 }
-                $detail_goods = OrderDetail::find()->alias('od')
-                ->leftJoin(['g' => Goods::tableName()], 'od.goods_id=g.id')->where(['od.order_id' => $item['order_id']])->select('od.*, g.product_type')->asArray()->all();
+                $detail_goods = OrderDetail::find()->where(['order_id' => $item['order_id']])->asArray()->all();
                 $order_data = [
                     'order_id' => intval($item['order_id']),
                     'order_no' => $item['order_no'],
@@ -509,7 +530,6 @@ class OrderListForm extends OrderForm
                         'num' => intval($detail['num']),
                         'price' => doubleval(sprintf('%.2f', $detail['total_price'])),
                         'attr_list' => json_decode($detail['attr']),
-                        'product_type' => $detail['product_type'],
                     ];
                 }
                 $order_data['goods_list'] = $goods_list;
@@ -558,8 +578,6 @@ class OrderListForm extends OrderForm
                     $goods_list = [];
                     $price = 0;
                     foreach ($detail_goods as $detail) {
-                        $goods_info = json_decode($detail['goods_info'], true);
-                        $order_data['is_front_centralize'] = intval($goods_info['is_front_centralize']);
                         $goods_list[] = [
                             'goods_id' => intval($detail['goods_id']),
                             'goods_pic' => $detail['pic'],
@@ -634,7 +652,6 @@ class OrderListForm extends OrderForm
             'store_id' => $this->store_id,
             'user_id' => $this->user_id,
         ]);
-        $query->andWhere(['!=', 'order_type', Order::ORDER_TYPE_GIVING_GIFTS]);
         $query->andWhere(['!=', 'order_type', 6]);
 //        if (get_md_id()) {
 //            $query->andWhere(['md_id' => get_md_id()]);
@@ -662,6 +679,7 @@ class OrderListForm extends OrderForm
         if ($this->status == 3) {//已完成
             $query->andWhere([
                 'trade_status' => Order::ORDER_FLOW_CONFIRM,
+                'is_comment'=> 0,
             ]);
         }
         $query->andWhere(['is_recycle' => 0]);
@@ -696,4 +714,24 @@ class OrderListForm extends OrderForm
         ];
 
     }
+
+    public function getHashList(){
+        $store_id = $this->store_id;
+        $query = Order::find()->where([
+            'is_delete' => 0,
+            'user_delete' => 0,
+            'saas_id' => get_saas_user_id(),
+            'is_pay' => 1
+        ]);
+        $query->select(['id','order_no','tx_has',
+            'FROM_UNIXTIME(confirm_time) as confirm_time'])->andWhere('tx_has IS NOT NULL')->orderBy('confirm_time DESC');
+        $pagination = pagination_make($query);
+        $list = $pagination['list'];
+        return [
+            'code' => 0,
+            'msg' => 'success',
+            'data' => $list
+        ];
+
+    }
 }