ThData.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\listener;
  4. use app\admin\model\OrderReturn;use app\admin\model\SaleReturn;class ThData
  5. {
  6. /**
  7. * 事件监听处理
  8. *
  9. * @return mixed
  10. */
  11. public function handle($event)
  12. {//
  13. \app\admin\model\ThData::create($event);
  14. $data=[];
  15. switch ($event['th_type']){
  16. case 1:
  17. $data=$this->beforeOrder($event);
  18. break;
  19. case 2:
  20. $data=$this->afterOrder($event);
  21. break;
  22. case 3:
  23. case 4:
  24. break;
  25. }
  26. if(empty($data)==false)\app\admin\model\ThStock::create($data);
  27. }
  28. //售后退货 供应商不同意退货
  29. protected function afterOrder($event){
  30. $model =new OrderReturn();
  31. $info =$model->where(["returnCode"=>$event['thCode']])->findOrEmpty();
  32. if($info->isEmpty())return[];
  33. if($info->status==5 && $info->return_tag==2){
  34. $data=[
  35. "thCode"=>$info->returnCode,
  36. "th_type"=>2,
  37. "order_type"=>$info->order_type,
  38. "supplierNo"=>$info->supplierNo,
  39. "supplierName"=>$info->supplierName,
  40. "companyNo"=>$info->companyNo,
  41. "companyName"=>$info->companyName,
  42. "customerNo"=>$info->customer_code,
  43. "customerName"=>$info->customer_name,
  44. "th_num"=>$info->error_num,
  45. "th_cgd_price"=>$event['sale_price'],
  46. "th_sale_price"=>$event['cgd_price'],
  47. "good_code"=>$info->good_code,
  48. "good_name"=>$info->good_code,
  49. "orderCode"=>$info->orderCode,
  50. "apply_id"=>$info->apply_id,
  51. "apply_name"=>$info->apply_name,
  52. ];
  53. }
  54. return $data;
  55. }
  56. //售前退货 供应商不同意退货
  57. protected function beforeOrder($event){
  58. $model =new SaleReturn();
  59. $info =$model->where(['returnCode'=>$event['thCode']])->findOrEmpty();
  60. if($info->isEmpty())return[];
  61. if($info->status==4 && $info->is_th==0){
  62. $data=[
  63. 'thCode'=>$info->returnCode,
  64. 'th_type'=>1,
  65. 'order_type'=>$info->order_type,
  66. 'supplierNo'=>$info->supplierNo,
  67. 'supplierName'=>$info->supplierName,
  68. 'companyNo'=>$info->companyNo,
  69. 'companyName'=>$info->companyName,
  70. 'customerNo'=>$info->customer_code,
  71. 'customerName'=>$info->customer_name,
  72. 'th_num'=>$info->num,
  73. 'th_cgd_price'=>$event['sale_price'],
  74. 'th_sale_price'=>$event['cgd_price'],
  75. 'good_code'=>$info->good_code,
  76. 'good_name'=>$info->good_code,
  77. 'orderCode'=>$info->orderCode,
  78. 'apply_id'=>$info->apply_id,
  79. 'apply_name'=>$info->apply_name,
  80. ];
  81. }
  82. return $data;
  83. }
  84. }