MeasureMonitorController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Events\WeighedEvent;
  4. use App\MeasuringMachine;
  5. use App\Package;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\DB;
  8. use Illuminate\Support\Facades\Gate;
  9. require_once '../app/library/baidu-api-speech/AipSpeech.php';
  10. class MeasureMonitorController extends Controller
  11. {
  12. const APP_ID='18433903';
  13. const API_KEY='3pfojF55BI9LFfXdaI8wRyV2';
  14. const SECRET_KEY='ZRSZWUPNgRNrdm4gBQ5Gf0c1oANN4mnd';
  15. /**
  16. * Display a listing of the resource.
  17. *
  18. * @return \Illuminate\Http\Response
  19. */
  20. public function index(Request $request)
  21. {
  22. if(!Gate::allows('称重管理-查询')){ return redirect(url('/')); }
  23. $measuringMachines=MeasuringMachine::select('id','name','code','status')->get();
  24. return view('weight.measureMonitor.index',['measuringMachines'=>$measuringMachines]);
  25. }
  26. public function data(Request $request){
  27. if(!Gate::allows('称重管理-查询')){ return redirect(url('/')); }
  28. $measuring_machine_id=$request->input('id');
  29. if ($measuring_machine_id){
  30. /*$package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuringMachines[0]->id)->orderBy('id','DESC')->first();*/
  31. $package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  32. if (!$package){
  33. $measuringMachine=MeasuringMachine::where('id',$measuring_machine_id)->first();
  34. $package=new Package();
  35. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  36. }
  37. return $package;
  38. }
  39. /*else{
  40. $package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  41. if (!$package){
  42. $measuringMachine=MeasuringMachine::where('id',$measuring_machine_id)->first();
  43. $package=new Package();
  44. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  45. }*/
  46. return '';
  47. }
  48. public function speech(Request $request){
  49. $logistic=$request->input('logistic');
  50. if (!$logistic)return '';
  51. if (file_exists("storage/".$logistic.'.mp3')){
  52. return "/storage/".$logistic.'.mp3';
  53. }
  54. $client=new \AipSpeech(self::APP_ID,self::API_KEY,self::SECRET_KEY);
  55. $client->setConnectionTimeoutInMillis('180000');
  56. $client->setSocketTimeoutInMillis('180000');
  57. $result = $client->synthesis($logistic, 'zh', 1, array(
  58. 'vol' => 10,
  59. ));
  60. // 识别正确返回语音二进制 错误则返回json 参照下面错误码
  61. if(!is_array($result)){
  62. file_put_contents('storage/'.$logistic.'.mp3', $result);
  63. }
  64. return "/storage/".$logistic.'.mp3';
  65. }
  66. /**
  67. * Store a newly created resource in storage.
  68. *
  69. * @param \Illuminate\Http\Request $request
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function store(Request $request)
  73. {
  74. //
  75. }
  76. /**
  77. * Display the specified resource.
  78. *
  79. * @param int $id
  80. * @return \Illuminate\Http\Response
  81. */
  82. public function show($id)
  83. {
  84. //
  85. }
  86. /**
  87. * Show the form for editing the specified resource.
  88. *
  89. * @param int $id
  90. * @return \Illuminate\Http\Response
  91. */
  92. public function edit($id)
  93. {
  94. //
  95. }
  96. /**
  97. * Update the specified resource in storage.
  98. *
  99. * @param \Illuminate\Http\Request $request
  100. * @param int $id
  101. * @return \Illuminate\Http\Response
  102. */
  103. public function update(Request $request, $id)
  104. {
  105. //
  106. }
  107. /**
  108. * Remove the specified resource from storage.
  109. *
  110. * @param int $id
  111. * @return \Illuminate\Http\Response
  112. */
  113. public function destroy($id)
  114. {
  115. //
  116. }
  117. }