WxController.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Unit;
  4. use App\User;
  5. use App\Waybill;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Controller;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\Hash;
  10. use Illuminate\Support\Facades\Validator;
  11. class WxController extends Controller
  12. {
  13. public function index(Request $request){
  14. $carrierArr=[];
  15. $carriersName=[];
  16. $api_token=$request->input('api_token');
  17. $user=User::with('carriers')->where('api_token',$api_token)->first();
  18. if ($user){
  19. foreach ($user->carriers as $carrier){
  20. array_push($carrierArr, $carrier->id);
  21. array_push($carriersName, $carrier->name);
  22. }
  23. $count=Waybill::select('id')->whereIn('carrier_id',$carrierArr)->whereDate('created_at',date("Y-m-d "))->count();
  24. $waybill=Waybill::orderBy('created_at','DESC')->select('created_at','waybill_number','wms_bill_number','carrier_bill')
  25. ->whereIn('carrier_id',$carrierArr)->where('status','!=','已完结')->where('status','!=','无模型')->get();
  26. return ['waybill'=>$waybill,'carriersName'=>$carriersName,'count'=>$count];
  27. }
  28. return ['exception'=>'出错了!'];
  29. }
  30. public function show(Request $request){
  31. $units_name=[];
  32. $waybill_number=$request->input('waybill_number');
  33. $waybill=Waybill::select('id','waybill_number','wms_bill_number','owner_id','origination','destination','recipient','recipient_mobile',
  34. 'carrier_weight','carrier_weight_unit_id','carrier_weight_other','carrier_weight_unit_id_other','pick_up_fee','carrier_bill')
  35. ->where('waybill_number',$waybill_number)->first();
  36. $units=Unit::select('name')->get();
  37. foreach ($units as $unit){
  38. array_push($units_name, $unit->name);
  39. }
  40. return ['waybill'=>$waybill,'units_name'=>$units_name];
  41. }
  42. public function update(Request $request){
  43. $id=$request->input('id');
  44. $validator=Validator::make($request->input(),[
  45. 'carrier_bill'=>"required|max:50|unique:waybills,carrier_bill,$id",
  46. 'pick_up_fee'=>'nullable|min:0|numeric|max:999999',
  47. 'carrier_weight'=>'required|min:0|numeric|max:999999',
  48. 'carrier_weight_unit_name'=>'required_with:carrier_weight',
  49. 'carrier_weight_other'=>'nullable|min:0|numeric|max:999999',
  50. 'carrier_weight_unit_other_name'=>'required_with:carrier_weight_other',
  51. ],[
  52. 'required'=>':attribute 为必填项',
  53. 'alpha_num'=>':attribute 应为字母或数字',
  54. 'max'=>':attribute 字符过多或输入值过大',
  55. 'min'=>':attribute 不得为负',
  56. 'numeric'=>':attribute 应为数字',
  57. 'unique'=>':attribute 已存在',
  58. 'required_with'=>':attribute 未填',
  59. ],[
  60. 'carrier_bill'=>'承运商单号',
  61. 'pick_up_fee'=>'提货费',
  62. 'carrier_weight'=>'计数一',
  63. 'carrier_weight_unit_id'=>'计数单位一',
  64. 'carrier_weight_other'=>'计数二',
  65. 'carrier_weight_unit_other_name'=>'计数单位二',
  66. ]);
  67. if ($validator->fails()) {
  68. //将返回错误循环组装成字符串
  69. $arr = [];
  70. foreach ($validator->getMessageBag()->toArray() as $k=>$error){
  71. array_push($arr, $error[0]);
  72. }
  73. return [
  74. 'success' => false,
  75. 'errors' => $arr
  76. ];
  77. }
  78. $unit=Unit::where('name',$request->input('carrier_weight_unit_name'))->first();
  79. $unit_other=Unit::where('name',$request->input('carrier_weight_unit_other_name'))->first();
  80. $waybill=Waybill::find($id);
  81. $carrier_bill=$request->input('carrier_bill');
  82. $pick_up_fee=$request->input('pick_up_fee');
  83. $carrier_weight=$request->input('carrier_weight');
  84. $carrier_weight_unit_id=$unit->id;
  85. $carrier_weight_other=$request->input('carrier_weight_other');
  86. if ($unit_other){
  87. $carrier_weight_unit_id_other=$unit_other->id;
  88. $waybill->carrier_weight_unit_id_other=$carrier_weight_unit_id_other;
  89. }
  90. $waybill->carrier_bill=$carrier_bill;
  91. if($pick_up_fee)$waybill->pick_up_fee=$pick_up_fee;
  92. $waybill->carrier_weight=$carrier_weight;
  93. $waybill->carrier_weight_unit_id=$carrier_weight_unit_id;
  94. $waybill->carrier_weight_other=$carrier_weight_other;
  95. if ($waybill->save()){
  96. $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
  97. return ['success'=>true];
  98. }
  99. else return ['success'=>false];
  100. }
  101. }