| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\admin\controllers\adopt;
- use app\models\common\admin\order\CommonUpdateAddress;
- use app\models\Goods;
- use app\models\Order;
- use app\models\OrderComment;
- use app\models\OrderDetail;
- use app\models\Shop;
- use app\modules\admin\controllers\BaseController;
- use app\modules\admin\models\adopt\AdoptOrderListForm;
- use app\modules\admin\models\OrderClerkForm;
- use app\modules\admin\models\OrderPriceForm;
- use app\modules\admin\models\OrderSendForm;
- use app\plugins\adopt\models\AdoptOrderInfo;
- use app\utils\PrintOrder;
- use yii\helpers\Html;
- use app\models\User;
- use app\modules\admin\models\ExpressDetailForm;
- use app\modules\admin\models\OrderCommentForm;
- use app\modules\admin\models\OrderListForm;
- use app\modules\admin\models\OrderRefundListForm;
- use app\modules\admin\models\OrderRevokeForm;
- use app\modules\admin\models\OrderRefundForm;
- use app\modules\admin\models\OrderShopForm;
- use app\utils\Notice\NoticeSend;
- use app\utils\PrintExpress;
- class AdoptOrderController extends BaseController
- {
- /**
- * 平台商品订单列表
- * @return \yii\web\Response
- */
- public function actionList() {
- $store_id = get_store_id();
- $form = new AdoptOrderListForm();
- $form->attributes = get_params();
- if (!empty(get_params('is_offline')) && get_params('is_offline') == Order::IS_OFFLINE_TRUE) {
- $form->is_offline = Order::IS_OFFLINE_TRUE;
- } else {
- $form->is_offline = Order::IS_OFFLINE_FALSE;
- }
- $form->store_id = $store_id;
- $form->order_id = get_params('order_id');
- return $this->asJson($form->search());
- }
- /**
- * 平台商品订单取消
- */
- public function actionApplyOrderDelete()
- {
- $store_id = get_store_id();
- $where = [
- 'id' => post_params('id'),
- 'is_delete' => Order::IS_DELETE_FALSE,
- 'store_id' => $store_id,
- 'mch_id' => 0,
- ];
- // type=1 后台主要取消订单, type=0 用户发起订单取消申请
- if (post_params('type') == Order::CANCEL_USER_TYPE) {
- $where['apply_delete'] = Order::ORDER_APPLY_DELETE;
- }
- $order = Order::findOne($where);
- if (!$order || $order->mch_id > 0) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新页面后重试'
- ]);
- }
- // 发送备注消息
- $order->remark = post_params('remark', '');
- // 同意
- if (post_params('status') == 1) {
- $form = new OrderRevokeForm();
- $form->order_id = $order->id;
- $form->delete_pass = true;
- $form->user_id = $order->user_id;
- $form->store_id = $order->store_id;
- $res = $form->save();
- if ($res['code'] == 0) {
- $order->save();
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $order->id])->goods_id);
- NoticeSend::OrderCancel($order->user_id, $order->mobile, $order->order_no, $order->pay_price, $goods->name, 1);
- // 订单打印
- if ((int)$order->md_id === -1 || (int)$order->md_id === 0 || !isset($order->md_id)) {
- $order->md_id = 0;
- }
- $printer_order = new PrintOrder($order->store_id, $order->id, 'confirm', 0, $order->md_id);
- $printer_order->is_refund = true;
- $printer_order->print_order();
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- } else {
- return $this->asJson($res);
- }
- } else { //拒绝
- $order->apply_delete = Order::ORDER_APPLY_DELETE_DEFAULT;
- $order->save();
- // TODO :推送订单取消拒绝消息
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- }
- }
- /**
- * 添加备注
- */
- public function actionSellerComments()
- {
- $store_id = get_store_id();
- $order_id = get_params('order_id');
- $seller_comments = get_params('seller_comments');
- $form = Order::find()->where(['store_id' => $store_id, 'id' => $order_id, 'mch_id' => get_mch_id()])->one();
- $form->seller_comments = $seller_comments;
- if ($form->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '操作失败',
- ]);
- }
- }
- /**
- * 添加商家留言
- */
- public function actionSetWords()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $words = post_params('words');
- $form = Order::find()->where(['store_id' => $store_id, 'id' => $order_id, 'mch_id' => get_mch_id()])->one();
- $form->words = $words;
- if ($form->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '操作失败',
- ]);
- }
- }
- /**
- * 更新订单地址
- * @return \yii\web\Response
- */
- public function actionSetOrderAddress()
- {
- $commonUpdateAddress = new CommonUpdateAddress();
- $commonUpdateAddress->data = post_params();
- $updateAddress = $commonUpdateAddress->updateAddress();
- return $this->asJson($updateAddress);
- }
- /**
- * 售后订单列表
- */
- public function actionRefund()
- {
- $form = new OrderRefundListForm();
- $form->attributes = \Yii::$app->request->get();
- $form->attributes = \Yii::$app->request->post();
- $form->store_id = get_store_id();
- return $this->asJson($form->search());
- }
- /**
- * 处理售后订单
- */
- public function actionRefundHandle()
- {
- $form = new OrderRefundForm();
- $form->attributes = post_params();
- $form->store_id = get_store_id();
- return $this->asJson($form->save());
- }
- /**
- * 商品评论列表
- */
- public function actionCommentList() {
- $form = new OrderCommentForm();
- $form->store_id = get_store_id();
- return $this->asJson($form->getComment());
- }
- /**
- * 评论回复
- */
- public function actionCommentReply() {
- $form = new OrderCommentForm();
- $form->id = post_params('id');
- $form->reply_content = post_params('reply_content');
- $form->store_id = get_store_id();
- return $this->asJson($form->reply());
- }
- /**
- * 评论显示隐藏
- */
- public function actionCommentHide() {
- $form = new OrderCommentForm();
- $form->id = post_params('id');
- $form->status = post_params('status');
- $form->store_id = get_store_id();
- return $this->asJson($form->hideStatus());
- }
- /**
- * 评论删除
- */
- public function actionCommentDelete() {
- $form = new OrderCommentForm();
- $form->id = post_params('id');
- $form->status = post_params('status');
- $form->store_id = get_store_id();
- return $this->asJson($form->deleteStatus());
- }
- /**
- * @return array|string
- */
- public function actionCommentEdit()
- {
- $store_id = get_store_id();
- $form = new OrderCommentForm();
- $pic_list = array();
- if (!empty(post_params('pic_list'))) {
- if (count(post_params('pic_list')) > 6) {
- return $this->asJson(
- [
- 'code' => 1,
- 'msg' => '图片最多为6张'
- ]
- );
- }
- foreach (post_params('pic_list') as $item) {
- $pic_list[] = Html::encode($item);
- }
- }
- $form->pic_list = json_encode($pic_list);
- if (json_encode($pic_list) === '[""]') {
- $form->pic_list = '[]';
- }
- $form->store_id = $store_id;
- $form->attributes = post_params();
- $created_at = post_params('created_at');
- $form->created_at = $created_at ? strtotime($created_at) : time();
- return $this->asJson($form->save());
- }
- /**
- * 订单发货
- * @return mixed
- */
- public function actionSend()
- {
- $form = new OrderSendForm();
- $post = post_params();
- if ($post['is_express'] == OrderSendForm::EXPRESS_TYPE_EXPRESS) {
- $form->scenario = 'EXPRESS';
- }elseif ($post['is_express'] == OrderSendForm::EXPRESS_TYPE_DADA){
- $form->scenario = 'DADA';
- }elseif ($post['is_express'] == OrderSendForm::EXPRESS_TYPE_UU){
- $form->scenario = 'UU';
- }elseif ($post['is_express'] == OrderSendForm::EXPRESS_TYPE_PEISONG){
- $form->scenario = 'PEISONG';
- }
- $form->attributes = $post;
- $form->store_id = get_store_id();
- return $this->asJson($form->cost_order_save());
- }
- /**
- * 货到付款 确认收货
- * @return \yii\web\Response
- */
- public function actionConfirm()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $order = Order::findOne([
- 'id' => $order_id,
- 'mch_id' => 0,
- 'store_id' => $store_id
- ]);
- if (!$order) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新重试',
- ]);
- }
- if ($order->pay_type != 2) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单支付方式不是货到付款,无法确认收货',
- ]);
- }
- if ($order->trade_status != Order::ORDER_FLOW_SEND) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单未发货',
- ]);
- }
- $order->trade_status = Order::ORDER_FLOW_CONFIRM;
- $order->confirm_time = time();
- $order->is_pay = Order::IS_PAY_TRUE;
- $order->pay_time = time();
- if ($order->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => $order->errors[0],
- ]);
- }
- }
- /**
- * 小票打印
- * @return mixed
- */
- public function actionPrintOrder()
- {
- $data = post_params();
- $store_id = get_store_id();
- $md_id = get_md_id();
- // 订单打印
- if ((int)$md_id === -1 || (int)$md_id === 0 || !isset($order->md_id)) {
- $md_id = 0;
- }
- $print = new PrintOrder($store_id, $data['order_id'], 'reprint', $data['order_type'],
- $md_id );
- return $this->asJson($print->print_order());
- }
- /**
- * 订单打印
- */
- public function actionPrint()
- {
- $id = \Yii::$app->request->get('id');
- $express = \Yii::$app->request->get('express');
- $post_code = \Yii::$app->request->get('code');
- $form = new PrintExpress();
- $form->store_id = get_store_id();
- $form->order_id = $id;
- $form->express = $express;
- $form->post_code = $post_code;
- return $this->asJson($form->send());
- }
- /**
- * 核销订单
- * @return mixed
- */
- public function actionClerk()
- {
- $form = new OrderClerkForm();
- $form->attributes = post_params();
- $form->order_model = 'app\models\Order';
- $form->store_id = get_store_id();
- return $this->asJson($form->clerk());
- }
- /**
- * 修改价格
- * @return mixed
- */
- public function actionModifyPrice()
- {
- $form = new OrderPriceForm();
- $form->attributes = post_params();
- $form->store_id = get_store_id();
- return $this->asJson($form->save());
- }
- /**
- * 移入回收站
- */
- public function actionEdit()
- {
- $order_id = get_params('order_id');
- $is_recycle = get_params('is_recycle');
- if ($is_recycle == 0 || $is_recycle == 1) {
- $form = Order::find()->where(['store_id' => get_store_id(), 'mch_id' => 0])
- ->andWhere('id = :order_id', [':order_id' => $order_id])->one();
- $form->is_recycle = $is_recycle;
- if ($form && $form->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- }
- };
- return $this->asJson([
- 'code' => 1,
- 'msg' => '操作失败',
- ]);
- }
- /**
- * 订单物流信息
- */
- public function actionExpressDetail()
- {
- $form = new ExpressDetailForm();
- $form->attributes = get_params();
- $form->store_id = get_store_id();
- $form->user_id = get_user_id();
- return $this->asJson($form->search());
- }
- /**
- * 修改自提点
- */
- public function actionUpdateShop()
- {
- $form = new OrderShopForm();
- $form->order_id = get_params('order_id');
- $form->shop_id = get_params('shop_id');
- $form->goods_id = get_params('goods_id');
- return $this->asJson($form->save());
- }
- /**
- * 是否认养成熟
- * @return \yii\web\Response
- */
- public function actionOrderMature()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $order = Order::findOne([
- 'id' => $order_id,
- 'mch_id' => 0,
- 'store_id' => $store_id
- ]);
- $adopt_order = AdoptOrderInfo::findOne([
- 'order_id' => $order_id,
- 'store_id' => $store_id,
- ]);
- if (!$order || !$adopt_order) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新重试',
- ]);
- }
- // if ($order->trade_status != Order::ORDER_FLOW_SEND) {
- // return $this->asJson([
- // 'code' => 1,
- // 'msg' => '订单未发货',
- // ]);
- // }
- // $order->trade_status = Order::ORDER_FLOW_CONFIRM;
- $adopt_order->is_mature = 1;
- $adopt_order->mature_time = time();
- if ($adopt_order->save()) {
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $order_id])->goods_id);
- NoticeSend::AdoptOrderStateChange($order->user_id, $adopt_order->mobile, $order->order_no, $goods->name, 1);
- return $this->asJson([
- 'code' => 0,
- 'msg' => '修改成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => $adopt_order->errors[0],
- ]);
- }
- }
- /**
- * 是否入库
- * @return \yii\web\Response
- */
- public function actionOrderStorage()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $harvest_weight = post_params('harvest_weight');
- $harvest_storage_pic_url = post_params('harvest_storage_pic_url');
- $order = Order::findOne([
- 'id' => $order_id,
- 'mch_id' => 0,
- 'store_id' => $store_id
- ]);
- $adopt_order = AdoptOrderInfo::findOne([
- 'order_id' => $order_id,
- 'store_id' => $store_id,
- ]);
- if (!$order || !$adopt_order) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新重试',
- ]);
- }
- if ($adopt_order->is_mature == 0) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '认养未成熟,不能入库',
- ]);
- }
- // if ($order->trade_status != Order::ORDER_FLOW_SEND) {
- // return $this->asJson([
- // 'code' => 1,
- // 'msg' => '订单未发货',
- // ]);
- // }
- // $order->trade_status = Order::ORDER_FLOW_CONFIRM;
- $adopt_order->is_storage = 1;
- $adopt_order->storage_time = time();
- $adopt_order->harvest_weight = $harvest_weight;
- $adopt_order->harvest_storage_pic_url = $harvest_storage_pic_url;
- if ($adopt_order->save()) {
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $order_id])->goods_id);
- NoticeSend::AdoptOrderStateChange($order->user_id, $adopt_order->mobile, $order->order_no, $goods->name, 10);
- return $this->asJson([
- 'code' => 0,
- 'msg' => '成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => $adopt_order->errors[0],
- ]);
- }
- }
- /**
- * 订单额外费用
- */
- public function actionOrderExtraFee()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $other_pick_fee = post_params('other_pick_fee');
- $preserve_fee = post_params('preserve_fee');
- $form = AdoptOrderInfo::find()->where(['store_id' => $store_id, 'order_id' => $order_id])->one();
- $form->other_pick_fee = $other_pick_fee ? $other_pick_fee : [];
- $form->preserve_fee = $preserve_fee ? $preserve_fee : [];
- if ($form->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '操作成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '操作失败',
- ]);
- }
- }
- /**
- * 是否确认自采完成
- * @return \yii\web\Response
- */
- public function actionOrderConfirmSelfPick()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $order = Order::findOne([
- 'id' => $order_id,
- 'mch_id' => 0,
- 'store_id' => $store_id
- ]);
- $adopt_order = AdoptOrderInfo::findOne([
- 'order_id' => $order_id,
- 'store_id' => $store_id,
- ]);
- if (!$order || !$adopt_order) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新重试',
- ]);
- }
- if($adopt_order->end_self_pick == 0) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '用户未确认自采完成,您还不能确认自采完成',
- ]);
- }
- $adopt_order->confirm_self_pick = 1;
- $adopt_order->confirm_self_pick_time = time();
- if ($adopt_order->save()) {
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $order_id])->goods_id);
- NoticeSend::AdoptOrderStateChange($order->user_id, $adopt_order->mobile, $order->order_no, $goods->name, 7);
- // $order->trade_status = Order::ORDER_FLOW_CONFIRM;
- //
- // if ($order->save()) {
- // return $this->asJson([
- // 'code' => 0,
- // 'msg' => '修改成功',
- // ]);
- // }else {
- // return $this->asJson([
- // 'code' => 1,
- // 'msg' => $order->errors[0],
- // ]);
- // }
- return $this->asJson([
- 'code' => 0,
- 'msg' => '修改成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => $adopt_order->errors[0],
- ]);
- }
- }
- /**
- * 是否确认自采预约
- * @return \yii\web\Response
- */
- public function actionOrderConfirmSelfPickBook()
- {
- $store_id = get_store_id();
- $order_id = post_params('order_id');
- $order = Order::findOne([
- 'id' => $order_id,
- 'mch_id' => 0,
- 'store_id' => $store_id
- ]);
- $adopt_order = AdoptOrderInfo::findOne([
- 'order_id' => $order_id,
- 'store_id' => $store_id,
- ]);
- if (!$order || !$adopt_order) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '订单不存在,请刷新重试',
- ]);
- }
- $adopt_order->confirm_self_pick_book = 1;
- $adopt_order->confirm_self_pick_book_time = time();
- if ($adopt_order->save()) {
- $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $order_id])->goods_id);
- NoticeSend::AdoptOrderStateChange($order->user_id, $adopt_order->mobile, $order->order_no, $goods->name, 4);
- return $this->asJson([
- 'code' => 0,
- 'msg' => '修改成功',
- ]);
- } else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => $adopt_order->errors[0],
- ]);
- }
- }
- }
|