|
|
@@ -22,10 +22,12 @@ use backendApi\modules\v1\models\lists\shop\PackageList;
|
|
|
use backendApi\modules\v1\models\lists\shop\RemainPvList;
|
|
|
use backendApi\modules\v1\models\lists\shop\FlowRemainPvList;
|
|
|
use common\helpers\Cache;
|
|
|
+use common\helpers\Date;
|
|
|
use common\helpers\Form;
|
|
|
use common\models\CurrencyConversions;
|
|
|
use common\models\DeclarationPackage;
|
|
|
use common\models\DecOrder;
|
|
|
+use common\models\FlowWallet;
|
|
|
use common\models\forms\DecPackageForm;
|
|
|
use common\models\forms\ExcelOrderDecForm;
|
|
|
use common\models\forms\ExcelOrderShopForm;
|
|
|
@@ -36,9 +38,12 @@ 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\ShopGoodsNature;
|
|
|
+use common\models\User;
|
|
|
+use common\models\UserInfo;
|
|
|
use Yii;
|
|
|
use yii\web\HttpException;
|
|
|
use yii\web\UploadedFile;
|
|
|
@@ -947,4 +952,63 @@ class ShopController extends BaseController {
|
|
|
|
|
|
return static::notice(['order' => $order, 'availablePeriod' => $availablePeriod]);
|
|
|
}
|
|
|
+
|
|
|
+ public function actionOrderPeriodAdjustBatch()
|
|
|
+ {
|
|
|
+ $db = \Yii::$app->db;
|
|
|
+ $transaction = $db->beginTransaction();
|
|
|
+
|
|
|
+ $orderList = [];
|
|
|
+ $orderErr = [];
|
|
|
+ try {
|
|
|
+ $modernPeriod = 150; // todo: 修改后期数
|
|
|
+ $oldPeriod = 151; // todo: 修改前期数
|
|
|
+ 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;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 写入调整记录
|
|
|
+ $orderModel = new OrderPeriodAdjust();
|
|
|
+ $orderModel->ORDER_SN = $orderSn;
|
|
|
+ $orderModel->ORIGIN_PERIOD = $oldPeriod;
|
|
|
+ $orderModel->MODERN_PERIOD = $modernPeriod;
|
|
|
+ $orderModel->ADMIN_ID = 'admin';
|
|
|
+ $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));
|
|
|
+ }
|
|
|
}
|