WxController.php 4.8 KB

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