| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\plugins\adopt\models\client;
- use app\models\Goods;
- use app\models\Order;
- use app\models\OrderDetail;
- use app\plugins\adopt\models\AdoptOrderInfo;
- use app\utils\Notice\NoticeSend;
- use yii\base\Model;
- class AdoptOrderSelfPickStateForm extends Model
- {
- public $store_id;
- public $user_id;
- public $order_id;
- public $state_type;
- public function rules()
- {
- return [
- [['order_id', 'state_type'], 'required'],
- ];
- }
- public function save()
- {
- if (!$this->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.pick_method' => AdoptOrderInfo::ORDER_FLOW_SELF_PICK,
- 'aoi.is_delete' => 0,
- ])
- ->select(['aoi.*', 'o.order_no', 'o.user_id'])
- ->asArray()->one();
- if (!$adopt_order) {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '订单不存在'
- ];
- }
- if ($this->state_type == 1) {
- //开始采摘
- if ($adopt_order['confirm_self_pick_book'] == AdoptOrderInfo::ORDER_FLOW_NO_CONFIRM_SELF_PICK_BOOK) {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '您还未预约成功,管理员审核通过后才能开始采摘'
- ];
- }
- if ($adopt_order['start_self_pick'] == AdoptOrderInfo::ORDER_FLOW_CONFIRM_START_SELF_PICK) {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '您已开始自采'
- ];
- }
- }else{
- //采摘结束
- // if ($adopt_order->pick_treatment_method == AdoptOrderInfo::ORDER_FLOW_NO_TREATMENT_METHOD) {
- // $t->rollBack();
- // return [
- // 'code' => 1,
- // 'msg' => '您还未选择采摘后处理方式,不能自采完成'
- // ];
- // }
- if ($adopt_order['start_self_pick'] == AdoptOrderInfo::ORDER_FLOW_NO_CONFIRM_START_SELF_PICK) {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '您还未开始自采,不能自采完成'
- ];
- }
- if ($adopt_order['end_self_pick'] == AdoptOrderInfo::ORDER_FLOW_CONFIRM_END_SELF_PICK) {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '您已自采完成'
- ];
- }
- }
- $adopt_order_info = AdoptOrderInfo::findOne(['order_id' => $this->order_id, 'store_id' => $this->store_id]);
- if ($this->state_type == 2){
- $adopt_order_info->end_self_pick = AdoptOrderInfo::ORDER_FLOW_CONFIRM_END_SELF_PICK;
- $adopt_order_info->end_self_pick_time = time();
- } else {
- $adopt_order_info->start_self_pick = AdoptOrderInfo::ORDER_FLOW_CONFIRM_START_SELF_PICK;
- $adopt_order_info->start_self_pick_time = time();
- }
- if ($adopt_order_info->save()) {
- $t->commit();
- if ($this->state_type == 2) {
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $this->order_id])->goods_id);
- NoticeSend::AdoptOrderStateChange($adopt_order['user_id'], $adopt_order->mobile, $adopt_order['order_no'], $goods->name, 6);
- 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->mobile, $adopt_order['order_no'], $goods->name, 5);
- return [
- 'code' => 0,
- 'msg' => '您的商品已开始自采,请记得来庄园采摘哦,感谢您的支持~'
- ];
- }
- } else {
- $t->rollBack();
- return [
- 'code' => 1,
- 'msg' => '操作失败'
- ];
- }
- }
- }
|