DriverController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <?php
  2. namespace App\Http\Controllers\Api\stock;
  3. use App\Http\Controllers\Api\driverApp;
  4. use App\Http\Validator\DriverValidator;
  5. use App\Http\Validator\MemberValidator;
  6. use App\Services\Api\DriverLevelService;
  7. use App\Services\Api\DriverService;
  8. use App\Services\Api\MemberService;
  9. use Illuminate\Http\Request;
  10. /**
  11. * 司机管理
  12. * Class DriverController
  13. * @package App\Http\Controllers\Api
  14. */
  15. class DriverController extends driverApp
  16. {
  17. /**
  18. * 信息
  19. * @return array
  20. */
  21. public function info()
  22. {
  23. $params = request()->all();
  24. $driverId = isset($params['id'])? intval($params['id']) : 0;
  25. $info = DriverService::make()->getInfo($driverId ? $driverId : $this->driverId);
  26. if ($info) {
  27. return showJson(1010, true, $info);
  28. } else {
  29. return showJson(1004, false, [], '403');
  30. }
  31. }
  32. /**
  33. * 更新修改头像
  34. * @return array
  35. */
  36. public function setAvatar(Request $request)
  37. {
  38. // 上传单图统一调取方法
  39. $result = upload_image($request, 'file', 'avatar');
  40. if (!$result['success']) {
  41. return showJson($result['msg'], false, ['url' => '']);
  42. }
  43. // 文件路径
  44. $file_path = $result['data']['img_path'];
  45. if (!$file_path) {
  46. return showJson('上传失败', false, ['url' => '']);
  47. }
  48. // 网络域名拼接
  49. if ($file_path && strpos($file_path, IMG_URL) === false) {
  50. $file_path = get_image_url($file_path);
  51. }
  52. $avatar = $result['data']['img_path'];
  53. if (DriverService::make()->saveAvatar($this->driverId, $avatar)) {
  54. return showJson(1013, true, ['url' => $file_path, 'path' => $avatar]);
  55. } else {
  56. return showJson(1014, false, ['url' => '']);
  57. }
  58. }
  59. /**
  60. * 修改账号信息
  61. * @return array
  62. */
  63. public function modify()
  64. {
  65. $params = request()->all();
  66. if (!DriverService::make()->modify($this->driverId, $params)) {
  67. return showJson(DriverService::make()->getError(), false);
  68. } else {
  69. return showJson(1013, true);
  70. }
  71. }
  72. /**
  73. * 修改/绑定收款账号
  74. * @return array
  75. */
  76. public function bindAccount()
  77. {
  78. $params = request()->all();
  79. if (!DriverService::make()->bindAccount($this->driverId, $params)) {
  80. return showJson(DriverService::make()->getError(), false);
  81. } else {
  82. return showJson(DriverService::make()->getError(), true);
  83. }
  84. }
  85. /**
  86. * 收款账号
  87. * @return array
  88. */
  89. public function getAccount()
  90. {
  91. $params = request()->all();
  92. if (!$result = DriverService::make()->getAccount($this->driverId, $params)) {
  93. return showJson(DriverService::make()->getError(), false);
  94. } else {
  95. return showJson(DriverService::make()->getError(), true, $result);
  96. }
  97. }
  98. /**
  99. * 线路查询
  100. * @return array
  101. */
  102. public function lines()
  103. {
  104. $params = request()->all();
  105. $pageSize = request()->post('pagSize', 12);
  106. $params['driver_id'] = $this->driverId;
  107. if (!$datas = DriverService::make()->lines($params, $pageSize)) {
  108. return showJson(1009, false);
  109. } else {
  110. return showJson(1010, true, $datas);
  111. }
  112. }
  113. /**
  114. * 线路发布
  115. * @return array
  116. */
  117. public function lineSubmit(DriverValidator $validator)
  118. {
  119. $params = request()->all();
  120. $params = $validator->check($params, 'line');
  121. if (!is_array($params)) {
  122. return showJson($params, false);
  123. }
  124. if (!DriverService::make()->lineSubmit($this->driverId, $params)) {
  125. return showJson(DriverService::make()->getError(), false);
  126. } else {
  127. return showJson(DriverService::make()->getError(), true);
  128. }
  129. }
  130. /**
  131. * 提现
  132. * @param DriverValidator $validator
  133. * @return array
  134. */
  135. public function withdraw(DriverValidator $validator)
  136. {
  137. $params = request()->all();
  138. $scene = isset($params['scene']) ? $params['scene'] : 'withdraw';
  139. $params = $validator->check($params, $scene);
  140. if (!is_array($params)) {
  141. return showJson($params, false);
  142. }
  143. if (!$result = DriverService::make()->withdraw($this->driverId, $params)) {
  144. return showJson(DriverService::make()->getError(), false);
  145. } else {
  146. return showJson(DriverService::make()->getError(), true, $result);
  147. }
  148. }
  149. /**
  150. * VIP等级选项
  151. * @return array
  152. */
  153. public function getVipLevel()
  154. {
  155. if (!$datas = DriverLevelService::make()->getOptions($this->driverId)) {
  156. return showJson(1009, false);
  157. } else {
  158. return showJson(1010, true, $datas);
  159. }
  160. }
  161. /**
  162. * 购买VIP等级
  163. * @param DriverValidator $validator
  164. * @return array
  165. */
  166. public function buyVip(DriverValidator $validator)
  167. {
  168. $params = request()->all();
  169. $params = $validator->check($params, 'buyVip');
  170. if (!is_array($params)) {
  171. return showJson($params, false);
  172. }
  173. if (!$result = DriverService::make()->buyVIP($this->driverId, $params)) {
  174. return showJson(DriverService::make()->getError(), false);
  175. } else {
  176. return showJson(DriverService::make()->getError(), true, $result);
  177. }
  178. }
  179. /**
  180. * 在线奖励提现到余额
  181. * @param DriverValidator $validator
  182. * @return array
  183. */
  184. public function onlineWithdraw(DriverValidator $validator)
  185. {
  186. $params = request()->all();
  187. if (!DriverService::make()->onlineWithdraw($this->driverId, $params)) {
  188. return showJson(DriverService::make()->getError(), false);
  189. } else {
  190. return showJson(DriverService::make()->getError(), true);
  191. }
  192. }
  193. }