OrderShopForm.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\client\models\v1\admin;
  8. use app\models\Order;
  9. use app\models\Shop;
  10. use app\models\ShopShare;
  11. use app\models\User;
  12. use Yii;
  13. use yii\base\Model;
  14. /**
  15. * 订单切换社区
  16. */
  17. class OrderShopForm extends Model
  18. {
  19. public $order_id;
  20. public $shop_id;
  21. public function save()
  22. {
  23. $order = Order::findOne(['store_id' => get_store_id(), 'id' => $this->order_id]);
  24. if (empty($order)) {
  25. return [
  26. 'code' => 1,
  27. 'msg' => '订单查询失败,参数错误'
  28. ];
  29. }
  30. if ($order->is_offline != 1) {
  31. return [
  32. 'code' => 1,
  33. 'msg' => '当前订单配送方式不是到店自提'
  34. ];
  35. }
  36. $shop = Shop::findOne(['store_id' => get_store_id(), 'id' => $this->shop_id, 'is_delete' => 0]);
  37. if (empty($shop)) {
  38. return [
  39. 'code' => 1,
  40. 'msg' => '当前社区为空'
  41. ];
  42. }
  43. $cler = User::findOne(['store_id' => get_store_id(), 'shop_id' => $shop->id]);
  44. if (empty($cler)) {
  45. return [
  46. 'code' => 1,
  47. 'msg' => '该门店没有绑定核销员,不能使用'
  48. ];
  49. }
  50. $t = Yii::$app->db->beginTransaction();
  51. $order->shop_id = $this->shop_id;
  52. if ($order->save()) {
  53. $shopShare = ShopShare::findOne(['order_id' => $order->id, 'type' => 0]);
  54. if (empty($shopShare)) {
  55. $t->commit();
  56. return [
  57. 'code' => 0,
  58. 'msg' => '修改成功'
  59. ];
  60. }
  61. $shopShare->shop_id = $shop->id;
  62. if ($shopShare->save()) {
  63. $t->commit();
  64. return [
  65. 'code' => 0,
  66. 'msg' => '修改成功'
  67. ];
  68. } else {
  69. $t->rollBack();
  70. return [
  71. 'code' => 1,
  72. 'msg' => '修改失败'
  73. ];
  74. }
  75. } else {
  76. $t->rollBack();
  77. return [
  78. 'code' => 1,
  79. 'msg' => '保存失败'
  80. ];
  81. }
  82. }
  83. }