RefundItemController.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. StatItemClass::replace($itemInfo, $date);
  73. }
  74. }
  75. }
  76. }
  77. }
  78. }