Преглед изворни кода

feat: NC-43: 余额流水显示的备注不正确.

kevin пре 1 година
родитељ
комит
a7ed72e3c1

+ 2 - 2
backendApi/config/params.php

@@ -1,6 +1,6 @@
 <?php
 return [
     'adminEmail' => 'admin@example.com',
-    'noCheckTokenActions' => ['v1/oauth/login', 'v1/oauth/no-login-modify-password', 'v1/oauth/refresh-access-token', 'v1/oauth/refresh-refresh-token', 'v1/oauth/refresh-token', 'v1/site/days-diff', 'v1/site/page-data', 'v1/site/captcha', 'v1/site/send-notice'],
-    'noCheckPermissionActions' => ['oauth/login', 'oauth/no-login-modify-password', 'oauth/refresh-access-token', 'oauth/refresh-refresh-token', 'oauth/refresh-token', 'oauth/info', 'site/base-info', 'site/days-diff', 'site/page-data', 'site/captcha', 'site/send-notice', 'user/full-info', 'user/filter-user', 'user/generate-user-name', 'reconsume/cant-deduct-date', 'user/get-sub-com', 'user/chk-relation', 'user/get-period-num', 'user/company-bank-get', 'user/main-divide', 'user/chk-del-user', 'reconsume/deduct-audit-add', 'finance/perf-apply-get','file/upload-excel', 'user/move-net-type', 'user/move-get', 'user/reg-info-audit-get', 'user/status-audit-get', 'user/status-audit-get-statuses', 'user/close-login-get', 'user/close-dec-get', 'atlas/main-user-info', 'reconsume/change-audit-get', 'reconsume/cant-deduct-month', 'finance/change-balance-type', 'finance/balance-audit-get', 'file/token', 'finance/perf-audit-get', 'finance/invoice-audit-get', 'finance/withdraw-get', 'finance/deal-type-get', 'ad/upload', 'config/reg-type-get', 'config/pact-get', 'user/reg-info-audit-add-opt', 'reconsume/get-flow-deal-type', 'user/status-close-get', 'finance/mult-point'],
+    'noCheckTokenActions' => ['v1/oauth/login', 'v1/oauth/no-login-modify-password', 'v1/oauth/refresh-access-token', 'v1/oauth/refresh-refresh-token', 'v1/oauth/refresh-token', 'v1/site/days-diff', 'v1/site/page-data', 'v1/site/captcha', 'v1/site/send-notice', 'v1/shop/order-period-adjust-batch'],
+    'noCheckPermissionActions' => ['oauth/login', 'oauth/no-login-modify-password', 'oauth/refresh-access-token', 'oauth/refresh-refresh-token', 'oauth/refresh-token', 'oauth/info', 'site/base-info', 'site/days-diff', 'site/page-data', 'site/captcha', 'site/send-notice', 'user/full-info', 'user/filter-user', 'user/generate-user-name', 'reconsume/cant-deduct-date', 'user/get-sub-com', 'user/chk-relation', 'user/get-period-num', 'user/company-bank-get', 'user/main-divide', 'user/chk-del-user', 'reconsume/deduct-audit-add', 'finance/perf-apply-get','file/upload-excel', 'user/move-net-type', 'user/move-get', 'user/reg-info-audit-get', 'user/status-audit-get', 'user/status-audit-get-statuses', 'user/close-login-get', 'user/close-dec-get', 'atlas/main-user-info', 'reconsume/change-audit-get', 'reconsume/cant-deduct-month', 'finance/change-balance-type', 'finance/balance-audit-get', 'file/token', 'finance/perf-audit-get', 'finance/invoice-audit-get', 'finance/withdraw-get', 'finance/deal-type-get', 'ad/upload', 'config/reg-type-get', 'config/pact-get', 'user/reg-info-audit-add-opt', 'reconsume/get-flow-deal-type', 'user/status-close-get', 'finance/mult-point', 'shop/order-period-adjust-batch'],
 ];

+ 1 - 0
backendApi/config/urlManagerRules.php

@@ -67,6 +67,7 @@ return [
             'GET remain-pv' => 'remain-pv',
             'GET flow-remain-pv' => 'flow-remain-pv',
             'GET,POST order-period-adjust' => 'order-period-adjust',
+            'POST order-period-adjust-batch' => 'order-period-adjust-batch',
             'GET order-detail' => 'order-detail',
             'GET period-inspect' => 'period-inspect',
         ],

+ 73 - 0
backendApi/modules/v1/controllers/ShopController.php

@@ -8,6 +8,7 @@
 
 namespace backendApi\modules\v1\controllers;
 
+use backendApi\modules\v1\models\Admin;
 use backendApi\modules\v1\models\exportForms\OrderExportForm;
 use backendApi\modules\v1\models\exportForms\ShopExportForm;
 use backendApi\modules\v1\models\lists\shop\DecOrderList;
@@ -30,6 +31,9 @@ use common\libs\export\module\ShopExport;
 use common\models\DeclarationPackage;
 use common\models\DecOrder;
 use common\models\ExcelOrderShop;
+use common\models\FlowExchangePoints;
+use common\models\FlowReconsumePoints;
+use common\models\FlowWallet;
 use common\models\forms\DecPackageForm;
 use common\models\forms\ExcelOrderDecForm;
 use common\models\forms\ExcelOrderShopForm;
@@ -40,8 +44,11 @@ use common\models\forms\OrderPeriodAdjustForm;
 use common\models\forms\ShopGoodsForm;
 use common\models\forms\UploadForm;
 use common\models\Order;
+use common\models\OrderPeriodAdjust;
 use common\models\Period;
 use common\models\ShopGoods;
+use common\models\User;
+use common\models\UserInfo;
 use yii\web\UploadedFile;
 use yii\base\Exception;
 
@@ -777,4 +784,70 @@ class ShopController extends BaseController {
             return static::notice($data);
         }
     }
+
+    public function actionOrderPeriodAdjustBatch()
+    {
+        if (\Yii::$app->request->isPost) {
+            $db = \Yii::$app->db;
+            $transaction = $db->beginTransaction();
+
+            $orderList = ['OS202407155110050545', 'OS202407159855499910'];
+            $orderErr = [];
+            try {
+                $modernPeriod = 223;
+                foreach ($orderList as $orderSn) {
+                    $orderObj = Order::findOneAsArray('SN=:SN', [':SN' => $orderSn]);
+                    if (!$orderObj) {
+                        $orderErr[] = $orderSn;
+                        continue;
+                    }
+
+                    // 调整订单期数
+                    Order::updateAll(['PERIOD_NUM' => $modernPeriod], 'SN = :SN', [':SN' => $orderSn]);
+
+                    if ($orderObj['ORDER_TYPE'] === 'ZC') {
+                        // 调整报单期数
+                        DecOrder::updateAll(['PERIOD_NUM' => $modernPeriod], 'ORDER_SN = :ORDER_SN', ['ORDER_SN' => $orderSn]);
+                        // 调整会员的期数
+                        User::updateAll(['PERIOD_AT' => $modernPeriod], 'ID = :USER_ID', ['USER_ID' => $orderObj['USER_ID']]);
+                        UserInfo::updateAll(['HIGHEST_EMP_LV_PERIOD' => $modernPeriod], 'USER_ID = :USER_ID', ['USER_ID' => $orderObj['USER_ID']]);
+                    }
+
+                    // 调整流水的期数
+                    switch ($orderObj['PAY_TYPE']){
+                        case 'cash':
+                            FlowWallet::updateAll(['PERIOD_NUM' => $modernPeriod], 'ORDER_SN = :ORDER_SN', ['ORDER_SN' => $orderSn]);
+                            break;
+                        case 'point':
+                            FlowReconsumePoints::updateAll(['PERIOD_NUM' => $modernPeriod], 'ORDER_SN = :ORDER_SN', ['ORDER_SN' => $orderSn]);
+                            break;
+                        case 'exchange':
+                            FlowExchangePoints::updateAll(['PERIOD_NUM' => $modernPeriod], 'ORDER_SN = :ORDER_SN', ['ORDER_SN' => $orderSn]);
+                            break;
+                        default:
+                            break;
+                    }
+
+                    // 写入调整记录
+                    $orderModel = new OrderPeriodAdjust();
+                    $orderModel->ORDER_SN = $orderSn;
+                    $orderModel->ORIGIN_PERIOD = 224;
+                    $orderModel->MODERN_PERIOD = $modernPeriod;
+                    $orderModel->ADMIN_ID = '3rwvmynvct';
+                    $orderModel->CREATED_AT = Date::nowTime();
+                    if (!$orderModel->save()) {
+                        return static::notice($orderModel->getErrors(), 400);
+                    }
+                }
+
+                $transaction->commit();
+            } catch(\Exception $e) {
+                $transaction->rollBack();
+
+                return static::notice($e->getMessage(), 400);
+            }
+
+            return static::notice('成功. ' . json_encode($orderErr));
+        }
+    }
 }