Delivery.Class.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <?php
  2. /**
  3. * 配送Controller
  4. * Created by PhpStorm.
  5. * User: haoren
  6. * Date: 2021/04/20
  7. * Time: 16:00
  8. */
  9. namespace JinDouYun\Controller\Delivery;
  10. use Mall\Framework\Core\ErrorCode;
  11. use Mall\Framework\Core\StatusCode;
  12. use JinDouYun\Controller\BaseController;
  13. use JinDouYun\Model\Delivery\MDelivery;
  14. class Delivery extends BaseController
  15. {
  16. private $objMDelivery;
  17. public function __construct($isCheckAcl = true, $isMustLogin = true)
  18. {
  19. parent::__construct($isCheckAcl, $isMustLogin);
  20. $this->objMDelivery = new MDelivery($this->onlineEnterpriseId, $this->onlineUserId);
  21. }
  22. /**
  23. * 获取参数
  24. * @return array
  25. */
  26. public function commonFieldFilterDeliveryRoute()
  27. {
  28. $params = $this->request->getRawJson();
  29. if (empty($params)) {
  30. $this->sendOutput('参数为空', ErrorCode::$paramError);
  31. }
  32. $data = [
  33. "name" => isset($params['name']) ? $params['name'] : '',
  34. ];
  35. foreach ($data as $key => $value) {
  36. if (empty($value) && $value !== 0) {
  37. $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
  38. }
  39. }
  40. isset($params['warehouseId']) && $data['warehouseId'] = $params['warehouseId'];
  41. isset($params['shopId']) && $data['shopId'] = $params['shopId'];
  42. isset($params['driverId']) && $data['driverId'] = trim($params['driverId'],',');
  43. isset($params['customerId']) && $data['customerId'] = $params['customerId'];
  44. isset($params['desc']) && $data['desc'] = $params['desc'];
  45. return $data;
  46. }
  47. /**
  48. * 配送线路添加
  49. */
  50. public function addDeliveryRoute()
  51. {
  52. $data = $this->commonFieldFilterDeliveryRoute();
  53. $result = $this->objMDelivery->addDeliveryRoute($data);
  54. if (!$result->isSuccess()) {
  55. parent::sendOutput($result->getData(), $result->getErrorCode());
  56. }
  57. parent::sendOutput($result->getData());
  58. }
  59. /**
  60. * 配送线路删除
  61. */
  62. public function deleteDeliveryRoute()
  63. {
  64. $id = $this->request->param('request_id');
  65. if (empty($id)) {
  66. $this->sendOutput('参数为空', ErrorCode::$paramError);
  67. }
  68. $update = [
  69. 'deleteStatus' => StatusCode::$delete
  70. ];
  71. $result = $this->objMDelivery->updateDeliveryRoute($update, ['id' => $id]);
  72. if (!$result->isSuccess()) {
  73. parent::sendOutput($result->getData(), $result->getErrorCode());
  74. }
  75. parent::sendOutput($result->getData());
  76. }
  77. /**
  78. * 配送线路修改
  79. */
  80. public function updateDeliveryRoute()
  81. {
  82. $id = $this->request->param('request_id');
  83. if (empty($id)) {
  84. parent::sendOutput('参数为空', ErrorCode::$paramError);
  85. }
  86. $update = $this->commonFieldFilterDeliveryRoute();
  87. $result = $this->objMDelivery->updateDeliveryRoute($update, ['id' => $id]);
  88. if (!$result->isSuccess()) {
  89. parent::sendOutput($result->getData(), $result->getErrorCode());
  90. }
  91. parent::sendOutput($result->getData());
  92. }
  93. /**
  94. * 配送线路启用/禁用
  95. */
  96. public function enableDeliveryRoute()
  97. {
  98. $id = $this->request->param('request_id');
  99. if (empty($id)) {
  100. $this->sendOutput('参数为空', ErrorCode::$paramError);
  101. }
  102. $params = $this->request->getRawJson();
  103. $data = [
  104. 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : '',
  105. ];
  106. foreach ($data as $key => $value) {
  107. if (empty($value) && $value !== 0) {
  108. $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
  109. }
  110. }
  111. $result = $this->objMDelivery->updateDeliveryRoute($data, ['id' => $id]);
  112. if (!$result->isSuccess()) {
  113. parent::sendOutput($result->getData(), $result->getErrorCode());
  114. }
  115. parent::sendOutput($result->getData());
  116. }
  117. /**
  118. * 配送线路列表
  119. */
  120. public function getAllDeliveryRoute()
  121. {
  122. $params = $this->request->getRawJson();
  123. $pageParams = pageToOffset(isset($params['page']) ? $params['page'] : 1, isset($params['pageSize']) ? $params['pageSize'] : 10);
  124. $selectParams['limit'] = $pageParams['limit'];
  125. $selectParams['offset'] = $pageParams['offset'];
  126. if(isset($params['start']) && !empty($params['start']) && isset($params['end']) && !empty($params['end'])){
  127. $selectParams['createTime']['start'] = $params['start'];
  128. $selectParams['createTime']['end'] = $params['end'];
  129. }
  130. $result = $this->objMDelivery->getAllDeliveryRoute($selectParams);
  131. if (!$result->isSuccess()) {
  132. parent::sendOutput($result->getData(), ErrorCode::$dberror);
  133. }
  134. $returnData = $result->getData();
  135. $pageData = [
  136. 'pageIndex' => $params['page'],
  137. 'pageSize' => $params['pageSize'],
  138. 'pageTotal' => $returnData['total'],
  139. ];
  140. parent::sendOutput($returnData['data'], 0, $pageData);
  141. }
  142. /**
  143. * 配送线路详情
  144. */
  145. public function getDeliveryRouteInfo()
  146. {
  147. $params['id'] = $this->request->param('request_id');
  148. if (empty($params['id'])) {
  149. $this->sendOutput('参数为空', ErrorCode::$paramError);
  150. }
  151. $result = $this->objMDelivery->getDeliveryRouteInfo($params);
  152. if (!$result->isSuccess()) {
  153. parent::sendOutput($result->getData(), $result->getErrorCode());
  154. }
  155. parent::sendOutput($result->getData());
  156. }
  157. /**
  158. * 配送线路客户
  159. */
  160. public function getDeliveryRouteCustomer()
  161. {
  162. $params = $this->request->getRawJson();
  163. $pageParams = pageToOffset(isset($params['page']) ? $params['page'] : 1, isset($params['pageSize']) ? $params['pageSize'] : 10);
  164. $selectParams['limit'] = $pageParams['limit'];
  165. $selectParams['offset'] = $pageParams['offset'];
  166. if(!isset($params['id']) || empty($params['id'])){
  167. parent::sendOutput('id参数错误', ErrorCode::$paramError);
  168. }
  169. $selectParams['routeId'] = $params['id'];
  170. $result = $this->objMDelivery->getDeliveryRouteCustomer($selectParams);
  171. if (!$result->isSuccess()) {
  172. parent::sendOutput($result->getData(), ErrorCode::$dberror);
  173. }
  174. $returnData = $result->getData();
  175. $pageData = [
  176. 'pageIndex' => $params['page'],
  177. 'pageSize' => $params['pageSize'],
  178. 'pageTotal' => $returnData['total'],
  179. ];
  180. parent::sendOutput($returnData['data'], 0, $pageData);
  181. }
  182. /**
  183. * 配送线路客户排序
  184. */
  185. public function updateDeliveryRouteCustomer()
  186. {
  187. $id = $this->request->param('request_id');
  188. if (empty($id)) {
  189. $this->sendOutput('参数为空', ErrorCode::$paramError);
  190. }
  191. $params = $this->request->getRawJson();
  192. $data = [
  193. 'sort' => isset($params['sort']) ? $params['sort'] : '',
  194. ];
  195. foreach ($data as $key => $value) {
  196. if (empty($value) && $value !== 0) {
  197. $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
  198. }
  199. }
  200. $result = $this->objMDelivery->updateDeliveryRouteCustomer($data, ['id' => $id]);
  201. if (!$result->isSuccess()) {
  202. parent::sendOutput($result->getData(), $result->getErrorCode());
  203. }
  204. parent::sendOutput($result->getData());
  205. }
  206. }