MeasureMonitorController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\MeasuringMachine;
  4. use App\OrderPackage;
  5. use App\Services\MeasureMonitorService;
  6. use Illuminate\Http\Request;
  7. //require_once '../app/library/baidu-api-speech/AipSpeech.php';
  8. class MeasureMonitorController extends Controller
  9. {
  10. /**
  11. * Display a listing of the resource.
  12. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  13. */
  14. public function index()
  15. {
  16. $measuringMachines=MeasuringMachine::query()->select('id','name','code','status')->get();
  17. $laravelEchoPrefix = config('database.redis.options.prefix');
  18. return view('package.measureMonitor.index',compact('laravelEchoPrefix','measuringMachines'));
  19. }
  20. public function data(Request $request){
  21. $measuring_machine_id=$request->input('id');
  22. if ($measuring_machine_id){
  23. $package=OrderPackage::with(['order'=>function($query){
  24. $query->with('owner','logistic');
  25. },'paperBox','measuringMachine'])->where('measuring_machine_id',$measuring_machine_id)->orderByDesc('weighed_at')->first();
  26. if (!$package){
  27. $measuringMachine=MeasuringMachine::query()->where('id',$measuring_machine_id)->first();
  28. $package=new OrderPackage();
  29. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  30. }
  31. return $package;
  32. }
  33. return '';
  34. }
  35. /** 获取快递面单的语音播报 */
  36. public function speech(Request $request,MeasureMonitorService $service): array
  37. {
  38. if (app('WorkOrderService')->isIntercept($request['logistic_number'])){
  39. app('OrderIssueService')->intercept($request['logistic_number']);
  40. return $service->getMp3Audio('拦截订单');
  41. }
  42. if ( app('OrderIssueService')->isExists($request['logistic_number'])){
  43. app('OrderIssueService')->intercept($request['logistic_number']);
  44. return $service->getMp3Audio('拦截订单');
  45. }
  46. return $service->getMp3Audio($request->input('logistic'));
  47. }
  48. }