OrderRefundFinish.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace app\event;
  11. use app\model\member\Member;
  12. use app\model\member\MemberAccount;
  13. use app\model\member\MemberLevel;
  14. use app\model\order\OrderCommon;
  15. use app\model\verify\Verify;
  16. /**
  17. * 订单项退款完成后
  18. */
  19. class OrderRefundFinish
  20. {
  21. // 行为扩展的执行入口必须是run
  22. public function handle($data)
  23. {
  24. //减去核销商品
  25. $order_model = new OrderCommon();
  26. $order_info_result = $order_model->getOrderInfo([['order_id', '=', $data['order_id']], ['order_type', 'in', [2, 4]]]);
  27. $order_info = $order_info_result['data'];
  28. if (!empty($order_info)) {
  29. if ($order_info['order_type'] == "2") {//自提订单
  30. $verify_code = $order_info['delivery_code'];
  31. } else if ($order_info['order_type'] == "4") {//虚拟订单
  32. $verify_code = $order_info['virtual_code'];
  33. }
  34. $verify_model = new Verify();
  35. $verify_condition = array(
  36. ['verify_code', '=', $verify_code]
  37. );
  38. $verify_info_result = $verify_model->getVerifyInfo($verify_condition);
  39. $verify_info = $verify_info_result['data'];
  40. if (!empty($verify_info)) {
  41. $json_data = $verify_info['data'];
  42. $item_array = $json_data['item_array'];
  43. foreach ($item_array as $k => $v) {
  44. if ($v['order_goods_id'] == $data['order_goods_id']) {
  45. unset($item_array[$k]);
  46. }
  47. }
  48. sort($item_array);
  49. $json_data['item_array'] = $item_array;
  50. $json_string = json_encode($json_data, JSON_UNESCAPED_UNICODE);
  51. $verify_data = array(
  52. 'verify_content_json' => $json_string
  53. );
  54. $verify_result = $verify_model->editVerify($verify_data, $verify_condition);
  55. if ($verify_result['code'] < 0) {
  56. return $verify_result;
  57. }
  58. }
  59. }
  60. }
  61. }