GoodSendController.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Events\ReturnGoodLog;
  4. use App\Events\SendGoodLogEvent;
  5. use App\Jobs\GoodSendJobs;
  6. use App\Models\DeviceAccount;
  7. use App\Models\Express;
  8. use App\Models\GoodSelect;
  9. use App\Models\OrderTest;
  10. use App\Models\Select;
  11. use App\Models\User;
  12. use Carbon\Carbon;
  13. use Illuminate\Http\Request;
  14. use Illuminate\Support\Facades\Auth;
  15. use Illuminate\Support\Facades\Cache;
  16. use Illuminate\Support\Facades\Crypt;
  17. use Illuminate\Support\Facades\DB;
  18. use Illuminate\Support\Facades\Log;
  19. use Illuminate\Support\Facades\Validator;
  20. class GoodSendController extends Controller
  21. {
  22. /**公司扫码快递单*/
  23. public function get_express(Request $request)
  24. {
  25. $u_id=Auth::user()->id;
  26. $users=User::find($u_id);
  27. if ($users->mobile==17333738670){
  28. return $this->error(500214,'','账号暂停使用');
  29. }
  30. Log::error($request->all());
  31. Log::error($u_id);
  32. // $re=DB::table('newexpress')->where('express_num','like',"%".$request->express_number."%")->first();
  33. // if ($re){
  34. // $data['belong_user_nickname'] = '';
  35. // $data['belong_user_mobile'] = '';
  36. // $data['address_name'] = '';
  37. // $data['belong_user_id'] = '';
  38. // $data['user_id'] = '';
  39. // $order=OrderTest::where('order_num',$re->order_num)->first();
  40. // if (!$order){
  41. //// $res=DB::table('newexpress_copy1')->where('express_num',$request->express_number)->first();
  42. //// $user=User::where('mobile',$res->mobile)->first();
  43. // if (!$order){
  44. // return $this->error(50214,'','订单号:'.$re->order_num.'不存在');
  45. // }
  46. // }
  47. // $user=User::find($order->good_user_id);
  48. // $data['user_id'] = $user->id;
  49. // $data['belong_user_nickname'] = $user->remark_name;
  50. // $data['belong_user_mobile'] = $user->mobile;
  51. // $data['belong_user_avatar'] = $user->headimgurl;
  52. // $data['belong_user_id'] = $user->id;
  53. // return $this->success($data);
  54. // }
  55. $datas = Express::where('express_number', $request->express_number)->first();
  56. if (!$datas){
  57. $nums=mb_substr($request->express_number,0,1);
  58. Log::error($nums.'sss');
  59. if ($nums==7){
  60. $num=(int)$request->express_number;
  61. $datas = Express::where('express_number','=',$num)->first();
  62. }
  63. }
  64. $data['belong_user_nickname'] = '';
  65. $data['belong_user_mobile'] = '';
  66. $data['address_name'] = '';
  67. $data['belong_user_id'] = '';
  68. $data['user_id'] = '';
  69. if ($datas) {
  70. $order = OrderTest::with(['get_good_user', 'get_address_user'])->find($datas->order_id);
  71. $data['user_id'] = $order->user_id;
  72. if ($order->get_good_user) {
  73. $data['belong_user_nickname'] = $order->get_good_user->nickname;
  74. $data['belong_user_mobile'] = $order->get_good_user->mobile;
  75. $data['belong_user_avatar'] = $order->get_good_user->headimgurl;
  76. $data['belong_user_id'] = $order->get_good_user->id;
  77. }
  78. if ($order->get_address_user) {
  79. $data['address_name'] = $order->get_address_user->username;
  80. }
  81. return $this->success($data);
  82. } else {
  83. return $this->error(50023, '', '请检查快递单号是否正确');
  84. }
  85. }
  86. /*四种商品的选择**/
  87. public function get_good()
  88. {
  89. $re = GoodSelect::select('id', 'name as good_name')->orderByDesc('rank')->where('status',0)->get();
  90. return $this->success($re);
  91. }
  92. /****/
  93. public function JudgePhone($phone){
  94. if ($phone=='15220141101'){
  95. $name='公司';
  96. }elseif ($phone=='17333738670'){
  97. $name='吴桥仓库';
  98. }else{
  99. $name=DeviceAccount::where('mobile',$phone)->orwhere('phone',$phone)->where('status',0)->value('name');
  100. }
  101. return $name;
  102. }
  103. /**公司发货**/
  104. public function send_goods(Request $request)
  105. {
  106. $input = $request->all();
  107. $u_id=Auth::user()->id;
  108. $users=User::find($u_id);
  109. if ($users->mobile==17333738670){
  110. return $this->error(500214,'','账号暂停使用');
  111. }
  112. $name=$this->JudgePhone($users->mobile);
  113. $user = User::where('id', $request->id)->first();
  114. Log::error($input['code']);
  115. Log::error($u_id);
  116. $code = json_decode($input['code']);
  117. DB::beginTransaction();
  118. try {
  119. foreach ($code as $ks => $vs) {
  120. $good=GoodSelect::where('id',$ks)->select('good_name')->first();
  121. foreach ($vs as $k=>$v){
  122. $v=trim($v);
  123. $re = Select::where('code', $v)->first();
  124. if ($re) {
  125. //小码发货
  126. if ($re->is_lowest == 1) {
  127. $re->user_id = $user->id;
  128. $re->track_status = 2;
  129. $re->com_binding = 0;
  130. $re->is_true = 0;
  131. $re->good_select_id = $ks;
  132. $num = $this->update_full($re->pid);
  133. if ($num == 300) {
  134. return $this->error(50021, '', '修改状态出错');
  135. }
  136. $data = [
  137. 'op_name' => $name,
  138. 'op_phone' => $users->mobile,
  139. 'op_id' => 0,
  140. 'good_name'=>$good->good_name,
  141. 'accept_name' => $user->nickname,
  142. 'accept_phone' => $user->mobile,
  143. 'accept_id' => $user->id,
  144. 'type' => 1,
  145. 'select_id' => $re->id
  146. ];
  147. if (!$re->save()) {
  148. throw new \Exception(1);
  149. }
  150. event(new SendGoodLogEvent($data));
  151. } else {//中码或者大码发货
  152. $num = $this->is_full($v);
  153. if ($num == 300) {
  154. return $this->error(50026, '', '小码已经部分发货,不能扫描中码或者大码进行发货');
  155. }
  156. if ($re->level != 1) {
  157. $re->user_id = $request->id;
  158. $re->com_binding = 0;
  159. $re->is_true = 0;
  160. $re->good_select_id = $ks;
  161. if (!$re->save()) {
  162. throw new \Exception('1');
  163. }
  164. $num = $this->update_full($re->pid);
  165. if ($num == 300) {
  166. throw new \Exception(1);
  167. }
  168. $data = [
  169. 'op_name' => $name,
  170. 'op_phone' => $users->mobile,
  171. 'op_id' => 0,
  172. 'good_name'=>$good->good_name,
  173. 'accept_name' => $user->nickname,
  174. 'accept_phone' => $user->mobile,
  175. 'accept_id' => $user->id,
  176. 'type' => 1,
  177. 'select_id' => $re->id
  178. ];
  179. event(new SendGoodLogEvent($data));
  180. $level_data = Select::where('pid', $re->sort)->get();
  181. foreach ($level_data as $ke => $va) {
  182. $res = Select::where('code', $va->code)->first();
  183. $res->user_id = $request->id;
  184. $res->com_binding = 0;
  185. $res->is_true = 0;
  186. $res->good_select_id = $ks;
  187. if (!$res->save()) {
  188. throw new \Exception(1);
  189. }
  190. $data = [
  191. 'op_name' => $name,
  192. 'op_phone' => $users->mobile,
  193. 'op_id' => 0,
  194. 'good_name'=>$good->good_name,
  195. 'accept_name' => $user->nickname,
  196. 'accept_phone' => $user->mobile,
  197. 'accept_id' => $user->id,
  198. 'type' => 1,
  199. 'select_id' => $va->id
  200. ];
  201. event(new SendGoodLogEvent($data));
  202. }
  203. } else {
  204. /***大码发货,并记录日志情况*/
  205. $re->user_id = $request->id;
  206. $re->com_binding = 0;
  207. $re->is_true = 0;
  208. $re->good_select_id = $ks;
  209. if (!$re->save()) {
  210. throw new \Exception('1');
  211. }
  212. $data = [
  213. 'op_name' => $name,
  214. 'op_phone' => $users->mobile,
  215. 'op_id' => 0,
  216. 'good_name'=>$good->good_name,
  217. 'accept_name' => $user->nickname,
  218. 'accept_phone' => $user->mobile,
  219. 'accept_id' => $user->id,
  220. 'type' => 1,
  221. 'select_id' => $re->id
  222. ];
  223. event(new SendGoodLogEvent($data));
  224. /**查询**/
  225. $level_data = Select::where('pid', $re->sort)->get();
  226. foreach ($level_data as $ke => $va) {
  227. /***修改所属者*/
  228. $res = Select::where('code', $va->code)->first();
  229. $res->user_id = $request->id;
  230. $res->com_binding = 0;
  231. $res->is_true = 0;
  232. $res->good_select_id = $ks;
  233. if (!$res->save()) {
  234. throw new \Exception(1);
  235. }
  236. $data = [
  237. 'op_name' => $name,
  238. 'op_phone' => $users->mobile,
  239. 'op_id' => 0,
  240. 'good_name'=>$good->good_name,
  241. 'accept_name' => $user->nickname,
  242. 'accept_phone' => $user->mobile,
  243. 'accept_id' => $user->id,
  244. 'type' => 1,
  245. 'select_id' => $va->id
  246. ];
  247. event(new SendGoodLogEvent($data));
  248. /**如果现在的等级不是最低级,则执行下面的内容**/
  249. if ($va->is_lowest != 1) {
  250. $ress = Select::where('pid', $va->sort)->get();
  251. foreach ($ress as $kes => $vas) {
  252. $resss = Select::where('code', $vas->code)->first();
  253. $resss->user_id = $request->id;
  254. $resss->com_binding = 0;
  255. $resss->is_true = 0;
  256. $resss->good_select_id = $ks;
  257. if (!$resss->save()) {
  258. throw new \Exception(1);
  259. }
  260. $data = [
  261. 'op_name' => $name,
  262. 'op_phone' => $users->mobile,
  263. 'op_id' => 0,
  264. 'accept_name' => $user->nickname,
  265. 'accept_phone' => $user->mobile,
  266. 'accept_id' => $user->id,
  267. 'type' => 1,
  268. 'good_name'=>$good->good_name,
  269. 'select_id' => $vas->id
  270. ];
  271. event(new SendGoodLogEvent($data));
  272. }
  273. }
  274. }
  275. }
  276. }
  277. }
  278. else {
  279. Log::error($k+1);
  280. if ($ks==1){
  281. $m='精装版';
  282. }elseif ($ks==2){
  283. $m='简约版';
  284. }elseif ($ks==3){
  285. $m='高腰版';
  286. }elseif ($ks==4){
  287. $m='纯棉版';
  288. }elseif ($ks==9){
  289. $m='青春版';
  290. }elseif ($ks==6){
  291. $m='精装版G';
  292. }elseif ($ks==7){
  293. $m='简约版G';
  294. }elseif ($ks==8){
  295. $m='高腰版G';
  296. }elseif ($ks==10){
  297. $m='青春版G';
  298. }elseif($ks==11){
  299. $m='纯棉赠';
  300. }elseif($ks==12){
  301. $m='青春赠';
  302. }elseif($ks==13){
  303. $m='简约赠';
  304. }
  305. else{
  306. $m='精装(赠)';
  307. }
  308. Log::info($v.'没有查到相应的信息');
  309. return $this->error(4000101, ['code'=>$v], '没有查到二维码对应的信息,请删除'.$m.'中第'.($k+1).'个数据重新提交。并将对应的货物单独取出');
  310. }
  311. }
  312. }
  313. DB::commit();
  314. return $this->success([]);
  315. } catch (\Exception $exception) {
  316. DB::rollBack();
  317. Log::error($exception);
  318. return $this->error(40023, '', '发货失败,请重新尝试');
  319. }
  320. }
  321. public function send_goods_new(Request $request)
  322. {
  323. $input = $request->all();
  324. Log::error($input);
  325. $u_id=Auth::user()->id;
  326. $users=User::find($u_id);
  327. if ($users->mobile==17333738670){
  328. return $this->error(500214,'','账号暂停使用');
  329. }
  330. $name=$this->JudgePhone($users->mobile);
  331. $user = User::where('id', $request->id)->first();
  332. Log::error($input['code']);
  333. $code = json_decode($input['code']);
  334. // $code=$input['code'];
  335. DB::beginTransaction();
  336. try {
  337. foreach ($code as $ks => $vs) {
  338. $good=GoodSelect::where('id',$ks)->select('good_name')->first();
  339. foreach ($vs as $k=>$v){
  340. $v=trim($v);
  341. $re = Select::where('code', $v)->first();
  342. if ($re) {
  343. //小码发货
  344. if ($re->is_lowest == 1) {
  345. $re->user_id = $user->id;
  346. $re->track_status = 2;
  347. $re->com_binding = 0;
  348. $re->is_true = 0;
  349. $re->good_select_id = $ks;
  350. $num = $this->update_full($re->pid);
  351. if ($num == 300) {
  352. return $this->error(50021, '', '修改状态出错');
  353. }
  354. $data = [
  355. 'op_name' => $name,
  356. 'op_phone' => $users->mobile,
  357. 'op_id' => 0,
  358. 'good_name'=>$good->good_name,
  359. 'accept_name' => $user->nickname,
  360. 'accept_phone' => $user->mobile,
  361. 'accept_id' => $user->id,
  362. 'type' => 1,
  363. 'select_id' => $re->id
  364. ];
  365. if (!$re->save()) {
  366. throw new \Exception(1);
  367. }
  368. event(new SendGoodLogEvent($data));
  369. } else {//中码或者大码发货
  370. $num = $this->is_full($v);
  371. if ($num == 300) {
  372. return $this->error(50026, '', '小码已经部分发货,不能扫描中码或者大码进行发货');
  373. }
  374. if ($re->level != 1) {
  375. $re->user_id = $request->id;
  376. $re->com_binding = 0;
  377. $re->is_true = 0;
  378. $re->good_select_id = $ks;
  379. if (!$re->save()) {
  380. throw new \Exception('1');
  381. }
  382. $num = $this->update_full($re->pid);
  383. if ($num == 300) {
  384. throw new \Exception(1);
  385. }
  386. $data = [
  387. 'op_name' => $name,
  388. 'op_phone' => $users->mobile,
  389. 'op_id' => 0,
  390. 'good_name'=>$good->good_name,
  391. 'accept_name' => $user->nickname,
  392. 'accept_phone' => $user->mobile,
  393. 'accept_id' => $user->id,
  394. 'type' => 1,
  395. 'select_id' => $re->id
  396. ];
  397. event(new SendGoodLogEvent($data));
  398. $level_data = Select::where('pid', $re->sort)->get();
  399. foreach ($level_data as $ke => $va) {
  400. $res = Select::where('code', $va->code)->first();
  401. $res->user_id = $request->id;
  402. $res->com_binding = 0;
  403. $res->is_true = 0;
  404. $res->good_select_id = $ks;
  405. if (!$res->save()) {
  406. throw new \Exception(1);
  407. }
  408. $data = [
  409. 'op_name' => $name,
  410. 'op_phone' => $users->mobile,
  411. 'op_id' => 0,
  412. 'good_name'=>$good->good_name,
  413. 'accept_name' => $user->nickname,
  414. 'accept_phone' => $user->mobile,
  415. 'accept_id' => $user->id,
  416. 'type' => 1,
  417. 'select_id' => $va->id
  418. ];
  419. event(new SendGoodLogEvent($data));
  420. }
  421. } else {
  422. /***大码发货,并记录日志情况*/
  423. $re->user_id = $request->id;
  424. $re->com_binding = 0;
  425. $re->is_true = 0;
  426. $re->good_select_id = $ks;
  427. if (!$re->save()) {
  428. throw new \Exception('1');
  429. }
  430. $data = [
  431. 'op_name' => $name,
  432. 'op_phone' => $users->mobile,
  433. 'op_id' => 0,
  434. 'good_name'=>$good->good_name,
  435. 'accept_name' => $user->nickname,
  436. 'accept_phone' => $user->mobile,
  437. 'accept_id' => $user->id,
  438. 'type' => 1,
  439. 'select_id' => $re->id
  440. ];
  441. event(new SendGoodLogEvent($data));
  442. /**查询**/
  443. $level_data = Select::where('pid', $re->sort)->get();
  444. foreach ($level_data as $ke => $va) {
  445. /***修改所有所属者*/
  446. $res = Select::where('code', $va->code)->first();
  447. $res->user_id = $request->id;
  448. $res->com_binding = 0;
  449. $res->is_true = 0;
  450. $res->good_select_id = $ks;
  451. if (!$res->save()) {
  452. throw new \Exception(1);
  453. }
  454. $data = [
  455. 'op_name' => $name,
  456. 'op_phone' => $users->mobile,
  457. 'op_id' => 0,
  458. 'good_name'=>$good->good_name,
  459. 'accept_name' => $user->nickname,
  460. 'accept_phone' => $user->mobile,
  461. 'accept_id' => $user->id,
  462. 'type' => 1,
  463. 'select_id' => $va->id
  464. ];
  465. event(new SendGoodLogEvent($data));
  466. /**如果现在的等级不是最低级,则执行下面的内容**/
  467. if ($va->is_lowest != 1) {
  468. $ress = Select::where('pid', $va->sort)->get();
  469. foreach ($ress as $kes => $vas) {
  470. $resss = Select::where('code', $vas->code)->first();
  471. $resss->user_id = $request->id;
  472. $resss->com_binding = 0;
  473. $resss->is_true = 0;
  474. $resss->good_select_id = $ks;
  475. if (!$resss->save()) {
  476. throw new \Exception(1);
  477. }
  478. $data = [
  479. 'op_name' => $name,
  480. 'op_phone' => $users->mobile,
  481. 'op_id' => 0,
  482. 'accept_name' => $user->nickname,
  483. 'accept_phone' => $user->mobile,
  484. 'accept_id' => $user->id,
  485. 'type' => 1,
  486. 'good_name'=>$good->good_name,
  487. 'select_id' => $vas->id
  488. ];
  489. event(new SendGoodLogEvent($data));
  490. }
  491. }
  492. }
  493. }
  494. }
  495. } else {
  496. Log::error($k+1);
  497. if ($ks==1){
  498. $m='精装版';
  499. }elseif ($ks==2){
  500. $m='简约版';
  501. }elseif ($ks==3){
  502. $m='高腰版';
  503. }elseif ($ks==4){
  504. $m='纯棉版';
  505. }elseif ($ks==9){
  506. $m='青春版';
  507. }elseif ($ks==6){
  508. $m='精装版G';
  509. }elseif ($ks==7){
  510. $m='简约版G';
  511. }elseif ($ks==8){
  512. $m='高腰版G';
  513. }elseif ($ks==10){
  514. $m='青春版G';
  515. }else{
  516. $m='精装(赠)';
  517. }
  518. Log::info($v.'没有查到相应的信息');
  519. return $this->error(4000101, ['code'=>$v], '没有查到二维码对应的信息,请删除'.$m.'中第'.($k+1).'个数据重新提交。并将对应的货物单独取出');
  520. }
  521. }
  522. }
  523. DB::commit();
  524. return $this->success([]);
  525. } catch (\Exception $exception) {
  526. DB::rollBack();
  527. Log::error($exception);
  528. return $this->error(40023, '', '发货失败,请重新尝试');
  529. }
  530. }
  531. /**子码同时发货**/
  532. public function send_child_good($id, $user_id, $good_select_id)
  533. {
  534. DB::beginTransaction();
  535. try {
  536. //查找下一级
  537. $data = Select::where('pid', $id)->get();
  538. //当前货物信息
  539. $re = Select::where('sort', '=', $id)->first();
  540. //中码发货时
  541. if ($re->level != 1) {
  542. //修改中码所属大码的状态
  543. $num = $this->update_full($re->pid);
  544. if ($num == 300) {
  545. throw new \Exception(1);
  546. }
  547. }
  548. foreach ($data as $k => $v) {
  549. if ($v->is_lowest != 1) {
  550. $num = $this->send_child_good($v->id, $user_id, $good_select_id);
  551. if ($num == 300) {
  552. throw new \Exception(1);
  553. }
  554. }
  555. $se = Select::find($v->id);
  556. $se->track_status = 2;
  557. $se->com_binding = 0;
  558. $se->user_id = $user_id;
  559. $se->good_select_id = $good_select_id;
  560. if (!$se->save()) {
  561. throw new \Exception('1');
  562. }
  563. $user_s = User::find($user_id);
  564. $data = [
  565. 'op_name' => '公司',
  566. 'op_phone' => '',
  567. 'op_id' => '',
  568. 'accept_name' => $user_s->nickname,
  569. 'accept_phone' => $user_s->mobile,
  570. 'accept_id' => $user_s->id,
  571. 'type' => 1,
  572. 'select_id' => $v->id
  573. ];
  574. event(new SendGoodLogEvent($data));
  575. }
  576. DB::commit();
  577. return 200;
  578. } catch (\Exception $exception) {
  579. DB::rollBack();
  580. return 300;
  581. }
  582. }
  583. public function user_send_good(Request $request)
  584. {
  585. return $this->success([]);
  586. }
  587. /**代理发货子码跟着发货(已取消)**/
  588. public function user_send_goods($pid, $user_id, $id, $type = 0)
  589. {
  590. //查找下一级
  591. $data = Select::where('pid', $pid)->get();
  592. //当前货物信息
  593. $re = Select::where('sort', '=', $pid)->first();
  594. //中码发货时
  595. if ($type == 0) {
  596. if ($re->level != 1) {
  597. //修改中码所属大码的状态
  598. $num = $this->update_full($re->pid);
  599. if ($num == 300) {
  600. throw new \Exception(1);
  601. }
  602. }
  603. }
  604. foreach ($data as $k => $v) {
  605. if ($v->is_lowest != 1) {
  606. $num = $this->user_send_goods($v->sort, $user_id, $id);
  607. if ($num == 300) {
  608. throw new \Exception(1);
  609. }
  610. }
  611. $se = Select::find($v->id);
  612. $se->track_status = 2;
  613. $se->user_id = $user_id;
  614. if (!$se->save()) {
  615. Log::error('走了这里(所属者的改变)');
  616. throw new \Exception('1');
  617. }
  618. $users = User::find($id);
  619. $user_s = User::find($user_id);
  620. $data = [
  621. 'op_name' => $users->nickname,
  622. 'op_phone' => $users->mobile,
  623. 'op_id' => $users->id,
  624. 'accept_name' => $user_s->nickname,
  625. 'accept_phone' => $user_s->mobile,
  626. 'accept_id' => $user_s->id,
  627. 'type' => 0,
  628. 'select_id' => $v->id
  629. ];
  630. event(new SendGoodLogEvent($data));
  631. }
  632. }
  633. /**小码发货时更改中码和大码**/
  634. public function update_full($pid)
  635. {
  636. DB::beginTransaction();
  637. try {
  638. $re = Select::where('sort', '=', $pid)->first();
  639. $re->is_full = 1;
  640. if (!$re->save()) {
  641. throw new \Exception('1');
  642. }
  643. if ($re->level != 1) {
  644. $this->update_full($re->pid);
  645. }
  646. DB::commit();
  647. return 200;
  648. } catch (\Exception $exception) {
  649. DB::rollBack();
  650. Log::error($exception);
  651. return 300;
  652. }
  653. }
  654. public function get_lower_user(Request $request)
  655. {
  656. return $this->success_list([]);
  657. }
  658. /**查询**/
  659. public function get_lower_users(Request $request)
  660. {
  661. Log::error($request->all());
  662. if ($request->has('type')) {
  663. if ($request->type == 0) {
  664. return $this->success_list([]);
  665. } else {
  666. $search_name = $request->search_name;
  667. $user = User::where('nickname', 'like', '%' . $search_name . '%')->orwhere('realname', 'like', '%' . $search_name . '%')->orwhere('mobile', 'like', "%$search_name");
  668. // $user = User::where('nickname', 'like', '%' . $search_name . '%')->orwhere('mobile', 'like', '%' . $search_name . '%');
  669. $count = $user->get()->count();
  670. $user = $user->select('mobile as phone','uuid', 'nickname', 'realname', 'id', 'headimgurl as avatar','level')->take(30)->skip(($request->page - 1) * 30)->get();
  671. foreach ($user as $k=>$v){
  672. try {
  673. $user[$k]->phone=Crypt::decryptString($v->uuid);
  674. }catch (\Exception $exception){
  675. }
  676. }
  677. return $this->success_list($user, '', $count);
  678. }
  679. }
  680. }
  681. /**检查是够已经发货**/
  682. public function is_full($code)
  683. {
  684. $re = Select::where('code', $code)->first();
  685. if ($re->is_full == 1) {
  686. return 300;
  687. }
  688. return 200;
  689. }
  690. /**代理退货**/
  691. public function user_return_good(Request $request)
  692. {
  693. return $this->error(40029, '', '暂未查询到相应的信息');
  694. }
  695. /**检查是否为真**/
  696. public function is_true($code)
  697. {
  698. $re = Select::where('code', $code)->first();
  699. if ($re->is_true == 1) {
  700. return 300;
  701. }
  702. return 200;
  703. }
  704. /**检查用户**/
  705. public function check_user_level($id, $user_id)
  706. {
  707. if ($id == $user_id) {
  708. return ['code' => 50026, 'message' => '你不能对自己的货物进行退货操作'];
  709. }
  710. return ['code' => 200];
  711. }
  712. public function new_send_good(Request $request)
  713. {
  714. if ($request->id) {
  715. return $this->error(50026, '', '请选择代理进行发货');
  716. }
  717. DB::beginTransaction();
  718. try {
  719. } catch (\Exception $exception) {
  720. }
  721. }
  722. /*
  723. * 新版发货
  724. * **/
  725. public function new_send(Request $request){
  726. }
  727. public function send_goodss(Request $request)
  728. {
  729. $input = $request->all();
  730. $code = json_decode($input['code']);
  731. $codes=array_merge($code[1],$code[2],$code[3],$code[4]);
  732. $r=Select::whereIn('code',$codes)->where('is_full',1)->first();
  733. if($r){
  734. return $this->error(50021, '', '小码已经部分发货,不能扫描中码或者大码进行发货');
  735. }
  736. $count=Select::whereIn('code',$codes)->count();
  737. if ($count!=count($codes)){
  738. return $this->error(40023, '', '没有查到二维码对应的信息,请重试');
  739. }
  740. GoodSendJobs::dispatch($input);
  741. return $this->success([]);
  742. }
  743. }