WxController.php 4.8 KB

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