| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- namespace console\controllers;
- use bizGhs\cg\models\CgRefund;
- use bizGhs\order\classes\OrderClass;
- use bizGhs\order\classes\PurchaseOrderClass;
- use bizGhs\order\classes\RefundOrderClass;
- use bizGhs\order\classes\RefundOrderItemClass;
- use bizGhs\order\models\RefundOrder;
- use bizHd\cg\classes\CgRefundClass;
- use bizHd\cg\classes\CgRefundItemClass;
- use common\components\noticeUtil;
- use yii\console\Controller;
- use Yii;
- class RefundController extends Controller
- {
- public function actionStatus()
- {
- ini_set('memory_limit', '2045M');
- set_time_limit(0);
- $query = new \yii\db\Query();
- $query->from(RefundOrder::tableName());
- $query->where(['>', 'id', 0]);
- $query->orderBy('addTime ASC');
- $arr = ['开错', '多开', '重新补开', '重复开单', '客户自购'];
- foreach ($query->batch() as $batchOrder) {
- foreach ($batchOrder as $refund) {
- $connection = Yii::$app->db;
- $transaction = $connection->beginTransaction();
- $orderSn = $refund['orderSn'] ?? '';
- try {
- $status = $refund['status'] ?? 0;
- $addTime = $refund['addTime'] ?? '';
- $remark = $refund['remark'] ?? '';
- $cause = 0;
- if (!empty($remark)) {
- foreach ($arr as $son) {
- $res = strstr($remark, $son);
- if (!empty($res)) {
- $cause = 1;
- }
- }
- }
- RefundOrderClass::updateByCondition(['orderSn' => $orderSn], ['cause' => $cause]);
- $updateTime = $refund['updateTime'] ?? '';
- RefundOrderItemClass::updateByCondition(['orderSn' => $orderSn], ['status' => $status, 'addTime' => $addTime, 'updateTime' => $updateTime, 'cause' => $cause]);
- $cgRefundId = $refund['cgRefundId'] ?? 0;
- $cgRefund = CgRefundClass::getById($cgRefundId, true);
- if (empty($cgRefund)) {
- echo "{$orderSn} 没有找到采购的退款信息\n";
- continue;
- }
- $cgRefund->cause = $cause;
- $cgRefund->save();
- $cgRefundStatus = $cgRefund->status;
- $cgOrderSn = $cgRefund->orderSn ?? '';
- $addTime = $cgRefund->addTime;
- $updateTime = $cgRefund->updateTime;
- CgRefundItemClass::updateByCondition(['orderSn' => $cgOrderSn], ['status' => $cgRefundStatus, 'addTime' => $addTime, 'updateTime' => $updateTime, 'cause' => $cause]);
- $transaction->commit();
- } catch (\Exception $e) {
- $transaction->rollBack();
- $msg = $e->getMessage();
- noticeUtil::push("{$orderSn} 报错了:{$msg}", '15280215347');
- }
- }
- }
- }
- //退款数据更新 ./yii refund/update
- public function actionUpdate()
- {
- ini_set('memory_limit', '2045M');
- set_time_limit(0);
- $query = new \yii\db\Query();
- $query->from(CgRefund::tableName());
- foreach ($query->batch() as $batch) {
- foreach ($batch as $refund) {
- $id = $refund['id'] ?? 0;
- $relateOrderSn = $refund['relateOrderSn'] ?? '';
- if (empty($relateOrderSn)) {
- continue;
- }
- $order = PurchaseOrderClass::getByCondition(['orderSn' => $relateOrderSn], true);
- if (empty($order)) {
- continue;
- }
- $ghsId = $order->ghsId ?? 0;
- $ghsName = $order->ghsName ?? '';
- $entryTime = $order->entryTime ?? '';
- $passTime = $refund['addTime'] ?? '';
- $status = $refund['status'] ?? 0;
- $update = [
- 'ghsId' => $ghsId,
- 'ghsName' => $ghsName,
- 'orderTime' => $entryTime,
- ];
- if ($status == 1) {
- $update['passTime'] = $passTime;
- }
- \bizGhs\cg\classes\CgRefundClass::updateById($id, $update);
- }
- }
- }
- }
|