OrderIssueTypeService.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\OrderIssueType;
  5. use Illuminate\Database\Eloquent\Builder;
  6. use Illuminate\Database\Eloquent\Collection;
  7. use Illuminate\Database\Eloquent\Collections;
  8. use Illuminate\Support\Facades\Gate;
  9. class OrderIssueTypeService
  10. {
  11. use ServiceAppAop;
  12. protected $modelClass = OrderIssueType::class;
  13. /**
  14. * 订单管理 问题件类型
  15. * @return Builder[]|Collection
  16. */
  17. public function getOrderIssueType()
  18. {
  19. return OrderIssueType::query()->whereIn('name',[
  20. '联系不上','其他','仓库问题','撤销丢件','二次加工','全检问题','系统问题','延迟发货','仓库丢件','快递方式更改','无记录','双面单','无异常'
  21. ])->get();
  22. }
  23. /**
  24. * @return Builder[]|Collection
  25. */
  26. public function getOwnerOrderIssueType(){
  27. return OrderIssueType::query()->whereIn('name', ['拦截','取消拦截', '信息更改', '快递异常', '错漏发', '破损'])->get();
  28. }
  29. /**
  30. * 生成工单问题
  31. * @return Builder[]|Collections
  32. */
  33. public function getWorkOrderIssueType(){
  34. if (Gate::allows('订单管理-工单处理-客服编辑')) {
  35. return OrderIssueType::query()->whereIn('name', ['拦截','取消拦截', '信息更改', '快递异常', '错漏发', '破损', '快递丢件'])->get();
  36. } else if (Gate::allows('订单管理-工单处理-货主编辑')) {
  37. return OrderIssueType::query()->whereIn('name', ['拦截','取消拦截', '信息更改', '快递异常', '错漏发', '破损',])->get();
  38. } else if (Gate::allows('订单管理-工单处理-承运商编辑')) {
  39. return OrderIssueType::query()->whereIn('name', ['拦截','取消拦截', '信息更改', '破损', '快递异常'])->get();
  40. }
  41. return OrderIssueType::query()->whereIn('name', ['拦截', '信息更改', '快递异常', '错漏发', '破损', '快递丢件'])->get();
  42. }
  43. /**
  44. * 所有问题件类型
  45. * @return Builder[]|Collection
  46. */
  47. public function getAllOrderIssueTypes(){
  48. return OrderIssueType::query()->whereIn('name',[
  49. '拦截', '信息更改', '快递异常', '错漏发', '破损', '快递丢件',
  50. '联系不上','其他','仓库问题','撤销丢件','二次加工','全检问题','系统问题','延迟发货','仓库丢件','快递方式更改','无记录','双面单','取消拦截','无异常'
  51. ])->get();
  52. }
  53. }