ReserveOrderController.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. namespace addons\ReservationService\backend\controllers;
  3. use addons\ReservationService\common\enums\ReservationServiceEnum;
  4. use addons\ReservationService\common\services\BackendService;
  5. use addons\ReservationService\common\services\OrderService;
  6. use addons\ReservationService\common\services\ReservationServiceOrderService;
  7. /**
  8. * 数据概况
  9. *
  10. * Class SettingController
  11. * @package addons\ReservationService\backend\controllers
  12. */
  13. class ReserveOrderController extends BaseController
  14. {
  15. public $enableCsrfValidation = false;
  16. /**
  17. * 首页
  18. *
  19. * @return string
  20. */
  21. public function actionIndex()
  22. {
  23. $request = \Yii::$app->request;
  24. if ($request->isAjax && $request->isGet) {
  25. $data = \Yii::$app->request->get();
  26. $res = \Yii::$app->services->validate->validate($data, [
  27. [['page', 'limit', 'service_status'],'integer'],
  28. [['keyword', 'order_no', 'date_start', 'date_end', 'date_c_start', 'date_c_end'],'string'],
  29. ]);
  30. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  31. $data['from'] = 'platform';
  32. $data['from_type'] = 'store_reserve_order';
  33. $ret = (new OrderService)->page($this->mall_id, $data);
  34. if (is_array($ret)) $ret['service_status_map'] = ReservationServiceEnum::RESERVE_ORDER_STATUS_MAP;
  35. $ret['custom_text'] = BackendService::getCustomText($this->mall_id);
  36. foreach ($ret['list'] as &$item) {
  37. $item['remark'] = BackendService::replaceTextToCustomText($item['remark'], $ret['custom_text']);
  38. }
  39. return is_string($ret) ? $this->error($res) : $this->success('获取成功', $ret);
  40. }
  41. return $this->render($this->action->id);
  42. }
  43. /**
  44. * 完成订单
  45. * @return mixed|void|null
  46. */
  47. public function actionFinish()
  48. {
  49. $request = \Yii::$app->request;
  50. if ($request->isAjax && $request->isPost) {
  51. $data = \Yii::$app->request->post();
  52. $res = \Yii::$app->services->validate->validate($data, [
  53. [['id'], 'required'],
  54. [['id'],'integer'],
  55. ]);
  56. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  57. $ret = (new OrderService)->acceptance($this->mall_id, $data['id'], 0, 0, $this->admin);
  58. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', []);
  59. }
  60. }
  61. public function actionEdit()
  62. {
  63. try {
  64. if (\Yii::$app->request->isAjax) {
  65. if(\Yii::$app->request->isGet){
  66. $params = \Yii::$app->request->get();
  67. $ret = ReservationServiceOrderService::getEditData($this->mall_id, $params);
  68. $ret['store_name'] = $this->store['store_name']??'';
  69. return $this->success('获取成功', $ret);
  70. }elseif(\Yii::$app->request->isPost){
  71. $params = \Yii::$app->request->post();
  72. $params = $params['form'];
  73. if (empty($params['id'])) {
  74. if (!isset($params['service_type'])) {
  75. $params['service_type'] = 1;
  76. }
  77. if (!isset($params['reservation_model'])) {
  78. $params['reservation_model'] = 2;
  79. }
  80. if (!isset($params['create_type'])) {
  81. $params['create_type'] = 1;
  82. }
  83. }
  84. $ret = ReservationServiceOrderService::setEditData($this->mall_id, $params);
  85. return $this->success('获取成功', $ret);
  86. }
  87. }
  88. return $this->render('edit');
  89. }catch (\Exception $e){
  90. return $this->error($e->getMessage());
  91. }
  92. }
  93. public function actionGetUser()
  94. {
  95. if (\Yii::$app->request->isAjax) {
  96. if (\Yii::$app->request->isGet) {
  97. $params = \Yii::$app->request->get();
  98. $ret = ReservationServiceOrderService::getUser($this->mall_id, $params);
  99. return $this->success('获取成功', $ret);
  100. }
  101. }
  102. }
  103. public function actionGetStaffUserList()
  104. {
  105. if (\Yii::$app->request->isAjax) {
  106. if(\Yii::$app->request->isGet){
  107. $params = \Yii::$app->request->get();
  108. try {
  109. $ret = ReservationServiceOrderService::getStaffUserList($this->mall_id, $params);
  110. return $this->success('获取成功', $ret);
  111. } catch (\Exception $e) {
  112. return $this->error($e->getMessage());
  113. }
  114. }
  115. }
  116. }
  117. public function actionGetReserveTime()
  118. {
  119. if (\Yii::$app->request->isAjax) {
  120. if(\Yii::$app->request->isGet){
  121. $params = \Yii::$app->request->get();
  122. $ret = ReservationServiceOrderService::getReserveTime($this->mall_id);
  123. return $this->success('获取成功', $ret);
  124. }
  125. }
  126. }
  127. public function actionGetReserveTimes()
  128. {
  129. if (\Yii::$app->request->isAjax) {
  130. if (\Yii::$app->request->isGet) {
  131. $params = \Yii::$app->request->get();
  132. $ret = (new ReserveOrderService(['store_id' => $this->store_id, 'mall_id' => $this->mall_id]))->getReserveTimes($params);
  133. return $this->success('获取成功', $ret);
  134. }
  135. }
  136. }
  137. //http://admin.qimall.test/index.php?r=store%2Fclient%2Freserve-order%2Fget-reserve-times&sku_id=170&staff_user_id=0&date=2024-11-09T16:00:00.000Z
  138. //http://admin.qimall.test/index.php?r=store%2Fclient%2Freserve-order%2Fget-reserve-times&sku_id=&staff_user_id=553295&date=2024-11-10T16:00:00.000Z
  139. public function actionGetReserveDay()
  140. {
  141. if (\Yii::$app->request->isAjax) {
  142. if (\Yii::$app->request->isGet) {
  143. $params = \Yii::$app->request->get();
  144. $ret = ReservationServiceOrderService::getReserveDay($this->mall_id);
  145. return $this->success('获取成功', $ret);
  146. }
  147. }
  148. }
  149. public function actionGetSkuList()
  150. {
  151. if (\Yii::$app->request->isAjax && \Yii::$app->request->isGet) {
  152. $data = ReservationServiceOrderService::getSkuList($this->mall_id);
  153. $this->success('获取成功', $data);
  154. return $this->success('获取成功', []);
  155. }
  156. return $this->render($this->action->id);
  157. }
  158. }