|
|
@@ -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
|
|
|
+ ];
|
|
|
+
|
|
|
+ }
|
|
|
}
|