validate()) { return $this->getErrorSummary(false)[0]; } $t = \Yii::$app->db->beginTransaction(); $adopt_order = Order::find()->alias('o') ->where([ 'o.store_id' => $this->store_id, 'o.user_id' => $this->user_id, 'o.id' => $this->order_id, 'o.is_delete' => 0, ]) ->leftJoin(AdoptOrderInfo::tableName() . ' aoi', "aoi.order_id = o.id ") ->andWhere([ 'aoi.is_mature' => AdoptOrderInfo::ORDER_FLOW_MATURE, 'aoi.is_delete' => 0, ]) ->select(['aoi.*', 'o.order_no', 'o.user_id']) ->asArray()->one(); if (!$adopt_order) { $t->rollBack(); return [ 'code' => 1, 'msg' => '订单不存在' ]; } if ($adopt_order['pick_method'] != AdoptOrderInfo::ORDER_FLOW_NO_PICK) { $t->rollBack(); return [ 'code' => 1, 'msg' => '您已选择采摘方式' ]; } $adopt_order_info = AdoptOrderInfo::findOne(['order_id' => $this->order_id, 'store_id' => $this->store_id]); if ($this->pick_type == 1){ $adopt_order_info->pick_method = AdoptOrderInfo::ORDER_FLOW_SELF_PICK; $adopt_order_info->book_self_pick_date = $this->book_self_pick_date; $adopt_order_info->book_self_pick_time = $this->book_self_pick_time; } else { $adopt_order_info->pick_method = AdoptOrderInfo::ORDER_FLOW_OTHER_PICK; $adopt_order_info->pick_treatment_method = AdoptOrderInfo::ORDER_FLOW_PICK_STORAGE; $adopt_order_info->pick_treatment_method_time = time(); } $adopt_order_info->pick_time = time(); if ($adopt_order_info->save()) { $t->commit(); if ($this->pick_type == 1){ $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $this->order_id])->goods_id); NoticeSend::AdoptOrderStateChange($adopt_order['user_id'], $adopt_order_info->mobile, $adopt_order['order_no'], $goods->name, 2); return [ 'code' => 0, 'msg' => '您已选择自己收取,请记得来收取哦,感谢您的支持~' ]; }else{ $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $this->order_id])->goods_id); NoticeSend::AdoptOrderStateChange($adopt_order['user_id'], $adopt_order_info->mobile, $adopt_order['order_no'], $goods->name, 3); return [ 'code' => 0, 'msg' => '您已选择农场收取,请尽快支付代采费用哦,感谢您的支持~' ]; } } else { $t->rollBack(); return [ 'code' => 1, 'msg' => '操作失败' ]; } } }