root 3 жил өмнө
parent
commit
f1b9bdc23d
100 өөрчлөгдсөн 175 нэмэгдсэн , 6 устгасан
  1. 0 0
      .gitignore
  2. 0 0
      LICENSE.md
  3. 0 0
      README.md
  4. 0 0
      REGION_insert.sql
  5. 0 0
      Vagrantfile
  6. 0 0
      ak-upload-server/ar.upload.ming.conf
  7. 0 0
      ak-upload-server/auth.dev.lua
  8. 0 0
      ak-upload-server/auth.prod.lua
  9. 0 0
      ak-upload-server/server.dev.py
  10. 0 0
      ak-upload-server/server.prod.py
  11. 0 0
      ak-upload-server/token.php
  12. 0 0
      ak-upload-server/upload.py
  13. 0 0
      ak-upload-server/upload_img_filter.conf
  14. 0 0
      ak-upload-server/upload_img_filter.dev.conf
  15. 0 0
      ak-upload-server/upload_img_filter.prod.conf
  16. 0 0
      ak-upload-server/venv/bin/activate
  17. 0 0
      ak-upload-server/venv/bin/activate.csh
  18. 0 0
      ak-upload-server/venv/bin/activate.fish
  19. 0 0
      ak-upload-server/venv/bin/easy_install
  20. 0 0
      ak-upload-server/venv/bin/easy_install-3.6
  21. 0 0
      ak-upload-server/venv/bin/pip
  22. 0 0
      ak-upload-server/venv/bin/pip3
  23. 0 0
      ak-upload-server/venv/bin/pip3.6
  24. 0 0
      ak-upload-server/venv/bin/python
  25. 0 0
      ak-upload-server/venv/bin/python3
  26. 0 0
      ak-upload-server/venv/bin/python3.6
  27. 0 0
      ak-upload-server/venv/lib/python3.6/site-packages/easy-install.pth
  28. 0 0
      ak-upload-server/venv/lib/python3.6/site-packages/setuptools-28.8.0-py3.6.egg
  29. 0 0
      ak-upload-server/venv/lib/python3.6/site-packages/setuptools.pth
  30. 0 0
      ak-upload-server/venv/pyvenv.cfg
  31. 0 0
      backend/assets/AppAsset.php
  32. 0 0
      backend/codeception.yml
  33. 0 0
      backend/config/.gitignore
  34. 0 0
      backend/config/bootstrap.php
  35. 0 0
      backend/config/main-local.php
  36. 0 0
      backend/config/main.php
  37. 0 0
      backend/config/params.php
  38. 0 0
      backend/config/test.php
  39. 0 0
      backend/controllers/SiteController.php
  40. 0 0
      backend/controllers/TestController.php
  41. 0 0
      backend/models/.gitkeep
  42. 0 0
      backend/runtime/.gitignore
  43. 0 0
      backend/tests/_bootstrap.php
  44. 0 0
      backend/tests/_data/.gitignore
  45. 0 0
      backend/tests/_data/login_data.php
  46. 0 0
      backend/tests/_output/.gitignore
  47. 0 0
      backend/tests/_support/.gitignore
  48. 0 0
      backend/tests/_support/FunctionalTester.php
  49. 0 0
      backend/tests/_support/UnitTester.php
  50. 0 0
      backend/tests/functional.suite.yml
  51. 0 0
      backend/tests/functional/LoginCest.php
  52. 0 0
      backend/tests/functional/_bootstrap.php
  53. 0 0
      backend/tests/unit.suite.yml
  54. 0 0
      backend/tests/unit/_bootstrap.php
  55. 0 0
      backend/views/layouts/main.php
  56. 0 0
      backend/views/site/addDecTest.php
  57. 0 0
      backend/views/site/error.php
  58. 0 0
      backend/views/site/index.php
  59. 0 0
      backend/views/site/login.php
  60. 0 0
      backend/web/.gitignore
  61. 0 0
      backend/web/assets/.gitignore
  62. 0 0
      backend/web/css/site.css
  63. 0 0
      backend/web/favicon.ico
  64. 0 0
      backend/web/index.php
  65. 0 0
      backend/web/robots.txt
  66. 0 0
      backend/web/test.php
  67. 1 1
      backendApi/modules/v1/controllers/ShopController.php
  68. 0 0
      backendEle/.babelrc
  69. 0 0
      backendEle/.editorconfig
  70. 0 0
      backendEle/.eslintignore
  71. 0 0
      backendEle/.eslintrc.js
  72. 0 0
      backendEle/.gitignore
  73. 0 0
      backendEle/.postcssrc.js
  74. 7 2
      backendEle/src/views/shop/package-add.vue
  75. 3 0
      backendEle/src/views/shop/package.vue
  76. 0 0
      codeception.yml
  77. 1 0
      common/models/DeclarationPackage.php
  78. 0 0
      common/models/OriginDecPv.php
  79. 1 1
      common/models/ShopGoods.php
  80. 0 0
      common/models/UpgradeType.php
  81. 6 2
      common/models/forms/DecPackageForm.php
  82. 59 0
      common/models/forms/DeclarationLoopForm.php
  83. 31 0
      common/models/forms/DeclarationUpgradeForm.php
  84. 66 0
      common/models/forms/OrderForm.php
  85. 0 0
      composer.json
  86. 0 0
      composer.lock
  87. 0 0
      console/config/.gitignore
  88. 0 0
      console/config/bootstrap.php
  89. 0 0
      console/config/main.php
  90. 0 0
      console/config/params.php
  91. 0 0
      console/controllers/.gitkeep
  92. 0 0
      console/controllers/AtlasController.php
  93. 0 0
      console/controllers/BaseController.php
  94. 0 0
      console/controllers/BonusController.php
  95. 0 0
      console/controllers/ChangeNetController.php
  96. 0 0
      console/controllers/ConfigController.php
  97. 0 0
      console/controllers/DecController.php
  98. 0 0
      console/controllers/FinanceController.php
  99. 0 0
      console/controllers/FixNetController.php
  100. 0 0
      console/controllers/ImportController.php

+ 0 - 0
.gitignore


+ 0 - 0
LICENSE.md


+ 0 - 0
README.md


+ 0 - 0
REGION_insert.sql


+ 0 - 0
Vagrantfile


+ 0 - 0
ak-upload-server/ar.upload.ming.conf


+ 0 - 0
ak-upload-server/auth.dev.lua


+ 0 - 0
ak-upload-server/auth.prod.lua


+ 0 - 0
ak-upload-server/server.dev.py


+ 0 - 0
ak-upload-server/server.prod.py


+ 0 - 0
ak-upload-server/token.php


+ 0 - 0
ak-upload-server/upload.py


+ 0 - 0
ak-upload-server/upload_img_filter.conf


+ 0 - 0
ak-upload-server/upload_img_filter.dev.conf


+ 0 - 0
ak-upload-server/upload_img_filter.prod.conf


+ 0 - 0
ak-upload-server/venv/bin/activate


+ 0 - 0
ak-upload-server/venv/bin/activate.csh


+ 0 - 0
ak-upload-server/venv/bin/activate.fish


+ 0 - 0
ak-upload-server/venv/bin/easy_install


+ 0 - 0
ak-upload-server/venv/bin/easy_install-3.6


+ 0 - 0
ak-upload-server/venv/bin/pip


+ 0 - 0
ak-upload-server/venv/bin/pip3


+ 0 - 0
ak-upload-server/venv/bin/pip3.6


+ 0 - 0
ak-upload-server/venv/bin/python


+ 0 - 0
ak-upload-server/venv/bin/python3


+ 0 - 0
ak-upload-server/venv/bin/python3.6


+ 0 - 0
ak-upload-server/venv/lib/python3.6/site-packages/easy-install.pth


+ 0 - 0
ak-upload-server/venv/lib/python3.6/site-packages/setuptools-28.8.0-py3.6.egg


+ 0 - 0
ak-upload-server/venv/lib/python3.6/site-packages/setuptools.pth


+ 0 - 0
ak-upload-server/venv/pyvenv.cfg


+ 0 - 0
backend/assets/AppAsset.php


+ 0 - 0
backend/codeception.yml


+ 0 - 0
backend/config/.gitignore


+ 0 - 0
backend/config/bootstrap.php


+ 0 - 0
backend/config/main-local.php


+ 0 - 0
backend/config/main.php


+ 0 - 0
backend/config/params.php


+ 0 - 0
backend/config/test.php


+ 0 - 0
backend/controllers/SiteController.php


+ 0 - 0
backend/controllers/TestController.php


+ 0 - 0
backend/models/.gitkeep


+ 0 - 0
backend/runtime/.gitignore


+ 0 - 0
backend/tests/_bootstrap.php


+ 0 - 0
backend/tests/_data/.gitignore


+ 0 - 0
backend/tests/_data/login_data.php


+ 0 - 0
backend/tests/_output/.gitignore


+ 0 - 0
backend/tests/_support/.gitignore


+ 0 - 0
backend/tests/_support/FunctionalTester.php


+ 0 - 0
backend/tests/_support/UnitTester.php


+ 0 - 0
backend/tests/functional.suite.yml


+ 0 - 0
backend/tests/functional/LoginCest.php


+ 0 - 0
backend/tests/functional/_bootstrap.php


+ 0 - 0
backend/tests/unit.suite.yml


+ 0 - 0
backend/tests/unit/_bootstrap.php


+ 0 - 0
backend/views/layouts/main.php


+ 0 - 0
backend/views/site/addDecTest.php


+ 0 - 0
backend/views/site/error.php


+ 0 - 0
backend/views/site/index.php


+ 0 - 0
backend/views/site/login.php


+ 0 - 0
backend/web/.gitignore


+ 0 - 0
backend/web/assets/.gitignore


+ 0 - 0
backend/web/css/site.css


+ 0 - 0
backend/web/favicon.ico


+ 0 - 0
backend/web/index.php


+ 0 - 0
backend/web/robots.txt


+ 0 - 0
backend/web/test.php


+ 1 - 1
backendApi/modules/v1/controllers/ShopController.php

@@ -263,7 +263,7 @@ class ShopController extends BaseController {
             });
         }
         $package = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $id]);
-        return static::notice(['id' => $package['ID'], 'packageName' => $package['PACKAGE_NAME'],'packageNo' => $package['PACKAGE_NO'], 'amount' => $package['AMOUNT'], 'amountPv' => $package['PV'], 'levelId' => $package['LEVEL_ID'], 'packageContent' => $package['PACKAGE_CONTENT']]);
+        return static::notice(['id' => $package['ID'], 'packageName' => $package['PACKAGE_NAME'],'packageNo' => $package['PACKAGE_NO'], 'amount' => $package['AMOUNT'], 'amountPv' => $package['PV'], 'levelId' => $package['LEVEL_ID'], 'packageContent' => $package['PACKAGE_CONTENT'],'storenums' => $package['STORE_NUMS']]);
     }
 
     /**

+ 0 - 0
backendEle/.babelrc


+ 0 - 0
backendEle/.editorconfig


+ 0 - 0
backendEle/.eslintignore


+ 0 - 0
backendEle/.eslintrc.js


+ 0 - 0
backendEle/.gitignore


+ 0 - 0
backendEle/.postcssrc.js


+ 7 - 2
backendEle/src/views/shop/package-add.vue

@@ -24,6 +24,9 @@
                 <el-form-item label="套餐内容">
                     <el-input v-model="form.packageContent"></el-input>
                 </el-form-item>
+              <el-form-item label="套餐库存">
+                <el-input oninput="value=value.replace(/[^\d]/g,'')" v-model="form.storenums"></el-input>
+              </el-form-item>
 
 
                 <el-form-item>
@@ -52,7 +55,8 @@
                     amount:'',
                     amountPv:'',
                     levelId:'',
-                    packageContent:''
+                    packageContent:'',
+					storenums:''
                 },
                 submitButtonStat: false,
                 allDecLevel: baseInfo.decLevels(),
@@ -69,7 +73,8 @@
                     amount: this.form.amount,
                     amountPv: this.form.amountPv,
                     levelId: this.form.levelId,
-                    packageContent: this.form.packageContent,
+                    packageContent: this.form.packageContent,
+					storenums:this.form.storenums,
 
                 }
 

+ 3 - 0
backendEle/src/views/shop/package.vue

@@ -70,6 +70,9 @@
                 <el-form-item label="套餐内容">
                     <el-input v-model="form.packageContent"></el-input>
                 </el-form-item>
+              <el-form-item label="套餐库存">
+                <el-input oninput="value=value.replace(/[^\d]/g,'')" v-model="form.storenums"></el-input>
+              </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogEditFormVisible = false">取 消</el-button>

+ 0 - 0
codeception.yml


+ 1 - 0
common/models/DeclarationPackage.php

@@ -71,6 +71,7 @@ class DeclarationPackage extends \common\components\ActiveRecord
             'IS_DEL' => '是否删除',
             'STATUS' => '是否上架',
             'DELETED_AT' => '删除时间',
+            'STORE_NUMS' => '套餐库存',
         ];
     }
 

+ 0 - 0
common/models/OriginDecPv.php


+ 1 - 1
common/models/ShopGoods.php

@@ -143,7 +143,7 @@ class ShopGoods extends \common\components\ActiveRecord
         return [
             [['SELL_DISCOUNT','GOODS_NAME', 'CATE_ID','GIFT_TYPE', 'GOODS_NO', 'SELL_PRICE','MARKET_PRICE','PRICE_PV','STORE_NUMS', 'SELL_TYPE', 'CATEGORY_TYPE'], 'required'],
             [['STORE_NUMS'], 'integer'],
-            [['SELL_PRICE','MARKET_PRICE','PRICE_PV','POINT', 'SELL_TYPE', 'CATEGORY_TYPE'], 'number'],
+            [['SELL_PRICE','MARKET_PRICE','PRICE_PV','POINT', 'CATEGORY_TYPE'], 'number'],
             [['ID','CATE_ID', 'GOODS_NO','GIFT_TYPE'], 'string', 'max' => 32],
             [['UNIT'], 'string', 'max' => 16],
             [['COVER', 'GOODS_NAME'], 'string', 'max' => 255],

+ 0 - 0
common/models/UpgradeType.php


+ 6 - 2
common/models/forms/DecPackageForm.php

@@ -21,6 +21,7 @@ class DecPackageForm extends Model
     public $levelId;
     public $packageContent;
     public $status;
+    public $storenums;
 
     /**
      * @inheritdoc
@@ -34,6 +35,7 @@ class DecPackageForm extends Model
             [['id'], 'exist', 'targetClass'=>DeclarationPackage::class, 'targetAttribute'=>'ID'],
             [['amount','amountPv'], 'price'],
             [['selectedIds'], 'isSelected'],
+            [['storenums'],'number'],
         ];
     }
 
@@ -48,6 +50,7 @@ class DecPackageForm extends Model
             'amountPv' => '套餐BV',
             'levelId' => '所属报单级别',
             'packageContent' => '套餐详情',
+            'storenums' => '套餐库存',
         ];
     }
 
@@ -59,8 +62,8 @@ class DecPackageForm extends Model
     {
         $parentScenarios =  parent::scenarios();
         $customScenarios = [
-            'add' => ['packageName','packageNo','amount','amountPv','levelId', 'packageContent'],
-            'edit' => ['id','packageName','packageNo','amount','amountPv', 'levelId', 'packageContent'],
+            'add' => ['packageName','packageNo','amount','amountPv','levelId', 'packageContent','storenums'],
+            'edit' => ['id','packageName','packageNo','amount','amountPv', 'levelId', 'packageContent','storenums'],
             'changeStatus' => ['selectedIds', 'status'],
         ];
         return array_merge($parentScenarios, $customScenarios);
@@ -105,6 +108,7 @@ class DecPackageForm extends Model
         $model->PV = $this->amountPv;
         $model->LEVEL_ID = $this->levelId;
         $model->PACKAGE_CONTENT = $this->packageContent;
+        $model->STORE_NUMS = $this->storenums;
         if($model->save()){
             return $model;
         } else {

+ 59 - 0
common/models/forms/DeclarationLoopForm.php

@@ -112,6 +112,65 @@ class DeclarationLoopForm extends Model
             $model->scenario = $this->scenario;
             $model->allData = $this->data;
             foreach ($this->data as $value){
+
+                /**
+                 * 2022-04-29
+                 * York
+                 * 获取商品套餐信息
+                 */
+                if (isset($value['packageId']) && $value['packageId']){
+
+
+                    $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
+                    //var_dump($packagedata['ID']);
+                    if($packagedata['STORE_NUMS']>0){
+                        $data =  DeclarationPackage::find()->where(['ID'=> $packagedata['ID'] ])->one();
+                        $goods_store_nums = $data->STORE_NUMS - 1;
+                        $data->STORE_NUMS = $goods_store_nums;
+                        $data->update();
+//                        var_dump('输出一下数量');
+//                        var_dump($goods_store_nums);
+                        //库存为0下架套餐
+                        if ($goods_store_nums <= 0){
+                            $data->STATUS = 0;
+                            $data->UPDATED_AT = Date::nowTime();
+//                            var_dump('购买后套餐库存为0 下架拉');
+                        }
+
+                    }else{
+                        throw new Exception($packagedata['PACKAGE_NAME'].'库存不足');
+                    }
+
+
+                }
+
+                if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))){
+                    for ($i=0;$i<count($value['goodsId']);$i++){
+                        $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
+                        if ($goods['STATUS'] == 1 ){
+                            if($goods['STORE_NUMS'] >= $value['goodsNum'][$i]){
+                                $data = ShopGoods::find()->where(['ID' => $value['goodsId'][$i]])->one();
+                                $goods_store_nums = $data->STORE_NUMS - $value['goodsNum'][$i];
+                                $data->STORE_NUMS = $goods_store_nums;
+                                $data->update();
+                                if($goods_store_nums <= 0){
+                                    $data->STATUS = 0;
+                                    $data->UPDATED_AT = Date::nowTime();
+                                    $data->update();
+                                }
+                            }else{
+                                throw new Exception($goods['GOODS_NAME'].'商品库存不足');
+                            }
+
+                        }else{
+                            throw new Exception($goods['GOODS_NAME'].'商品已下架');
+                        }
+
+                    }
+
+                }
+
+
                 if(is_array($value)){
                     foreach($value as $key=>$decFormData){
                         $model->$key = $decFormData;

+ 31 - 0
common/models/forms/DeclarationUpgradeForm.php

@@ -275,6 +275,37 @@ class DeclarationUpgradeForm extends Model
                 throw new Exception(Form::formatErrorsForApi($orderModel->getErrors()));
             }
 
+
+            /**
+             * 2022-05-10
+             * York
+             */
+            foreach ($this->goodsNum as $k => $v) {
+                if ($v) {
+                    $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $this->goodsId[$k]]);
+
+                    $storenums = $goods['STORE_NUMS'] - $this->goodsNum[$k];
+                    if($goods['STATUS']==1){
+                        if($goods['STORE_NUMS'] >=$this->goodsNum[$k]){
+                            $data = ShopGoods::find()->where(['ID' => $this->goodsId[$k]])->one();
+                            $data->STORE_NUMS = $storenums;
+                            $data->update();
+                            if ($storenums==0){
+                                $data->STATUS = 0;
+                                $data->UPDATED_AT = Date::nowTime();
+                                $data->update();
+                            }
+                        }else{
+                            throw new Exception("商品".$goods['GOODS_NAME']."库存不足");
+                        }
+                    }else{
+                        throw new Exception("商品".$goods['GOODS_NAME']."已下架");
+                    }
+                }
+            }
+            // exit();
+
+
             // 加入商品到订单商品表
             foreach($this->_orderGoods as $key=>$value){
                 $this->_orderGoods[$key]['ORDER_SN'] = $orderModel->SN;

+ 66 - 0
common/models/forms/OrderForm.php

@@ -489,6 +489,39 @@ class OrderForm extends Model
                 throw new Exception($result['message']);
             }
 
+            /**
+             * 2022-04-28
+             * York
+             * 支付后减少库存
+             */
+
+            foreach ($this->goodsNum as $k => $v){
+                if ($v){
+                    $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+
+
+                    if ($goods['STORE_NUMS'] >= $this->goodsNum[$k]){
+                        $data = ShopGoods::find()->where(['ID' => $ids[$k]])->one();
+                        $goods_store_nums = $data->STORE_NUMS - $this->goodsNum[$k];
+                        $data->STORE_NUMS = $goods_store_nums;
+                        $data->update();
+                        //下单后库存小于等于0 商品下架
+                        if($goods_store_nums <= 0){
+                            $data->STATUS = 0;
+                            $data->UPDATED_AT = Date::nowTime();
+                            $data->update();
+
+
+                        }
+                    }else{
+                        throw new Exception($goods['GOODS_NAME'].'库存不足,无法购买商品');
+
+                    }
+
+
+                }
+            }
+
             //写入订单
             if (!$orderResult = $this->addOrder()) {
                 throw new Exception(Form::formatErrorsForApi($orderResult->getErrors()));
@@ -707,6 +740,39 @@ class OrderForm extends Model
                     throw new Exception('复消积分不足,无法购买商品');
                 }
             }
+
+
+            /**
+             * 2022-04-28
+             * York
+             * 支付后减少库存
+             */
+            foreach ($this->goodsNum as $k => $v){
+                if ($v){
+                    $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                    if ($goods['STORE_NUMS'] >= $this->goodsNum[$k]){
+                        $data = ShopGoods::find()->where(['ID' => $ids[$k]])->one();
+                        $goods_store_nums = $data->STORE_NUMS - $this->goodsNum[$k];
+                        $data->STORE_NUMS = $goods_store_nums;
+                        $data->update();
+                        //下单后库存小于等于0 商品下架
+                        if($goods_store_nums <= 0){
+                            $data->STATUS = 0;
+                            $data->UPDATED_AT = Date::nowTime();
+                            $data->update();
+
+                        }
+                    }else{
+                        throw new Exception($goods['GOODS_NAME'].'库存不足,无法购买商品');
+
+                    }
+
+
+                }
+            }
+//                exit();
+
+
             //写入订单
             if (!$orderResult = $this->addUserOrder()) {
                 throw new Exception(Form::formatErrorsForApi($orderResult->getErrors()));

+ 0 - 0
composer.json


+ 0 - 0
composer.lock


+ 0 - 0
console/config/.gitignore


+ 0 - 0
console/config/bootstrap.php


+ 0 - 0
console/config/main.php


+ 0 - 0
console/config/params.php


+ 0 - 0
console/controllers/.gitkeep


+ 0 - 0
console/controllers/AtlasController.php


+ 0 - 0
console/controllers/BaseController.php


+ 0 - 0
console/controllers/BonusController.php


+ 0 - 0
console/controllers/ChangeNetController.php


+ 0 - 0
console/controllers/ConfigController.php


+ 0 - 0
console/controllers/DecController.php


+ 0 - 0
console/controllers/FinanceController.php


+ 0 - 0
console/controllers/FixNetController.php


+ 0 - 0
console/controllers/ImportController.php


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно