RefundItemController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace console\controllers;
  3. use biz\product\classes\ProductClass;
  4. use biz\stat\classes\StatItemClass;
  5. use bizGhs\order\classes\OrderClass;
  6. use bizGhs\order\classes\OrderItemClass;
  7. use bizGhs\order\classes\RefundOrderClass;
  8. use bizGhs\order\classes\RefundOrderItemClass;
  9. use yii\console\Controller;
  10. class RefundItemController extends Controller
  11. {
  12. // ./yii refund-item/complete
  13. public function actionComplete()
  14. {
  15. $list = RefundOrderItemClass::getAllByCondition([], null, '*', null, true);
  16. if (empty($list)) {
  17. return false;
  18. }
  19. foreach ($list as $key => $item) {
  20. $orderSn = $item->orderSn ?? '';
  21. if (empty($orderSn)) {
  22. continue;
  23. }
  24. $refund = RefundOrderClass::getByCondition(['orderSn' => $orderSn], true);
  25. if (empty($refund)) {
  26. continue;
  27. }
  28. $sjId = $refund->sjId ?? 0;
  29. $shopId = $refund->shopId ?? 0;
  30. $item->sjId = $sjId;
  31. $item->shopId = $shopId;
  32. $item->save();
  33. $date = date('Ymd', strtotime($refund->addTime));
  34. StatItemClass::refundReplace($item, $date);
  35. }
  36. }
  37. // ./yii refund-item/order
  38. public function actionOrder()
  39. {
  40. $list = OrderClass::getAllByCondition([], null, '*', null, true);
  41. if (empty($list)) {
  42. return false;
  43. }
  44. foreach ($list as $key => $order) {
  45. $status = $order->status ?? 0;
  46. if (in_array($status, [1, 5])) {
  47. continue;
  48. }
  49. $orderSn = $order->orderSn ?? '';
  50. if (empty($orderSn)) {
  51. continue;
  52. }
  53. $itemList = OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  54. if (empty($itemList)) {
  55. foreach ($itemList as $itemInfo) {
  56. $sjId = $itemInfo->sjId ?? 0;
  57. $shopId = $itemInfo->shopId ?? 0;
  58. $productId = $itemInfo->productId ?? 0;
  59. if (empty($sjId) || empty($shopId)) {
  60. $p = ProductClass::getById($productId, true);
  61. $sjId = $p->sjId ?? 0;
  62. $shopId = $p->shopId ?? 0;
  63. $itemInfo->sjId = $sjId;
  64. $itemInfo->shopId = $shopId;
  65. $itemInfo->save();
  66. echo "发现没有sjId shopId 已经补充 orderItemId:{$itemInfo->id} sjId:{$sjId} shopId:{$shopId} 如果是0表示没有补到 \n";
  67. }
  68. $date = date('Ymd', strtotime($order->addTime));
  69. StatItemClass::replace($itemInfo, $date);
  70. }
  71. }
  72. }
  73. }
  74. }