RefundItemController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 bizGhs\order\models\Order;
  10. use yii\console\Controller;
  11. class RefundItemController extends Controller
  12. {
  13. // ./yii refund-item/complete
  14. public function actionComplete()
  15. {
  16. $list = RefundOrderItemClass::getAllByCondition([], null, '*', null, true);
  17. if (empty($list)) {
  18. return false;
  19. }
  20. foreach ($list as $key => $item) {
  21. $orderSn = $item->orderSn ?? '';
  22. if (empty($orderSn)) {
  23. continue;
  24. }
  25. $refund = RefundOrderClass::getByCondition(['orderSn' => $orderSn], true);
  26. if (empty($refund)) {
  27. continue;
  28. }
  29. $sjId = $refund->sjId ?? 0;
  30. $shopId = $refund->shopId ?? 0;
  31. $item->sjId = $sjId;
  32. $item->shopId = $shopId;
  33. $item->save();
  34. $date = date('Ymd', strtotime($refund->addTime));
  35. StatItemClass::refundReplace($item, $date);
  36. }
  37. }
  38. // ./yii refund-item/order
  39. public function actionOrder()
  40. {
  41. ini_set('memory_limit', '2045M');
  42. set_time_limit(0);
  43. $query = new \yii\db\Query();
  44. $query->from(Order::tableName());
  45. $query->where(['>', 'status', 1]);
  46. foreach ($query->batch() as $purchases) {
  47. foreach ($purchases as $order) {
  48. $status = $order['status'] ?? 0;
  49. if (in_array($status, [1, 5])) {
  50. continue;
  51. }
  52. $orderSn = $order['orderSn'] ?? '';
  53. if (empty($orderSn)) {
  54. continue;
  55. }
  56. $itemList = OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  57. if (!empty($itemList)) {
  58. foreach ($itemList as $itemInfo) {
  59. $sjId = $itemInfo->sjId ?? 0;
  60. $shopId = $itemInfo->shopId ?? 0;
  61. $productId = $itemInfo->productId ?? 0;
  62. if (empty($sjId) || empty($shopId)) {
  63. $p = ProductClass::getById($productId, true);
  64. $sjId = $p->sjId ?? 0;
  65. $shopId = $p->shopId ?? 0;
  66. $itemInfo->sjId = $sjId;
  67. $itemInfo->shopId = $shopId;
  68. $itemInfo->save();
  69. echo "发现没有sjId shopId 已经补充 orderItemId:{$itemInfo->id} sjId:{$sjId} shopId:{$shopId} 如果是0表示没有补到 \n";
  70. }
  71. $date = date('Ymd', strtotime($order['addTime']));
  72. $mainId = $itemInfo->mainId ?? 0;
  73. $itemId = $itemInfo->productId ?? 0;
  74. $num = $itemInfo->num ?? 0;
  75. $price = $itemInfo->price ?? 0;
  76. $params = [
  77. 'mainId' => $mainId,
  78. 'itemId' => $itemId,
  79. 'price' => $price,
  80. 'num' => $num,
  81. ];
  82. StatItemClass::replace($params, $date);
  83. }
  84. }
  85. }
  86. }
  87. }
  88. }