Przeglądaj źródła

Merge branch 'new-version' into feature/york-1377_1347-hebing

York 3 lat temu
rodzic
commit
dcb46ca57b

+ 1 - 0
backendApi/config/urlManagerRules.php

@@ -260,6 +260,7 @@ return [
             'POST,GET other' => 'other',
             'GET dec-level' => 'dec-level',
             'GET,POST month-limit' => 'month-limit',
+            'POST open-upgrade' => 'open-upgrade',
             'POST dec-level-add' => 'dec-level-add',
             'POST,GET dec-level-edit/<id>' => 'dec-level-edit',
             'GET dec-level-delete/<selected>' => 'dec-level-delete',

+ 30 - 2
backendApi/modules/v1/controllers/ConfigController.php

@@ -475,8 +475,36 @@ class ConfigController extends BaseController {
                 return static::notice('更新观察期失败,请重试');
             }
         }
-        $data = Config::find()->where("CONFIG_NAME='observePeriodLimit'")->asArray()->one();
-        return static::notice($data);
+        $data = Config::find()
+        ->where("CONFIG_NAME='observePeriodLimit'")
+        ->asArray()
+        ->one();
+        $isSwitchUpgrade = Config::find()
+        ->where("CONFIG_NAME='isOpenUpgrade'")
+        ->asArray()
+        ->one();
+
+        return static::notice([
+            'observe' => $data,
+            'isOpenUpgrade' => $isSwitchUpgrade
+        ]);
+    }
+
+    // 开关会员升级单功能
+    public function actionOpenUpgrade() {
+        if (Yii::$app->request->isPost) {
+            $postData = Yii::$app->request->post();
+            $isOpen = $postData['isOpen'];
+            $ret = Config::updateAll(['VALUE' => $isOpen, 'UPDATED_AT' => Date::nowTime()], "CONFIG_NAME=:CONFIG_NAME", [':CONFIG_NAME' => 'isOpenUpgrade']);
+            if ($ret) {
+                Cache::updateSystemConfig();
+                $msg = $isOpen == 1 ? '开启' : '关闭';
+                return static::notice("$msg,操作成功");
+            } else {
+                return static::notice('操作失败,请重试');
+            }
+        }
+        return static::notice('非法请求');
     }
 
     /**

+ 31 - 2
backendEle/src/views/config/dec-level.vue

@@ -75,6 +75,12 @@
           <el-button type="primary" @click="onSubmit" :loading="submitButtonStat">更新观察期</el-button>
         </div></el-form-item>
       </el-form>
+      <el-switch
+        v-model="value1"
+        :active-text="value1Text"
+        @change="switchUpgrade"
+      >
+      </el-switch>
     </div>
 
   </div>
@@ -96,12 +102,17 @@ export default {
       this.loading = false
     })
     network.getData('config/month-limit').then(response => {
-      this.form.monthLimitTITLE = response.TITLE
-      this.form.monthLimitVALUE = response.VALUE
+      this.form.monthLimitTITLE = response.observe.TITLE
+      this.form.monthLimitVALUE = response.observe.VALUE
+      // 是否开启会员升级功能
+      this.value1 = response.isOpenUpgrade.VALUE == 0 ? false : true
+      this.value1Text = response.isOpenUpgrade.TITLE
     })
   },
   data () {
     return {
+      value1:true,
+      value1Text: '',
       submitButtonStat: false,
       form:{
         monthLimitTITLE:'',
@@ -114,6 +125,24 @@ export default {
     }
   },
   methods: {
+    // 切换开关
+    switchUpgrade() {
+      network.postData('config/open-upgrade', {
+          isOpen: this.value1 === true ? 1 : 0, // 0关闭 1开启
+        }).then(response => {
+          this.$message({
+            message: response,
+            type: 'success'
+          })
+          this.submitButtonStat = false
+        
+        }).catch(response => {
+          this.submitButtonStat = false
+  
+      })
+      
+      console.log('sss',this.value1)
+    },
     onSubmit() {
         this.submitButtonStat = true
         network.postData('config/month-limit', {

+ 4 - 2
common/helpers/bonus/BonusCalc.php

@@ -3296,9 +3296,11 @@ class BonusCalc extends BaseObject {
                 $realBonusBs = $blueStartAmount; // 蓝星奖直接取数据库中算好的值PRODUCT_POINT
                 $bonusReal += $realBonusGx + $realBonusBs + $realBonusGl;
                 $exchangePoints = isset($userBS['PRODUCT_POINT']) && !empty($userBS['PRODUCT_POINT']) ? $userBS['PRODUCT_POINT'] : 0; // 兑换积分
-
-                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] + $buleStartOriBonus; // 管理奖在存储过程计算,这里单独加上管理奖(即蓝星奖)
                 unset($monthSumData, $bonusGxSum, $bonusGlSum);
+            } else {
+                // 蓝星奖原奖金在扣管理费的时候被加入到了BONUS_TOTAL,需要再减去原奖金
+                $oriBonusBs = isset($bonus['ORI_BONUS_BS']) && $bonus['ORI_BONUS_BS'] > 0 ? $bonus['ORI_BONUS_BS'] : 0;
+                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $oriBonusBs;
             }
         }
         // if( $this->_isCalcMonth ) {

+ 5 - 7
common/helpers/bonus/PreparePerfCalc.php

@@ -807,11 +807,6 @@ class PreparePerfCalc {
         if (!$this->_isCalcMonth) {
             return true;
         }
-        file_put_contents('ccctxt.txt',var_export([
-            'offset' => $offset,
-            'CALC_MONTH' => $this->_calcYearMonth,
-            'PERIOD_NUM' => $this->_periodNum
-        ],true), FILE_APPEND);
         // AR_PERF_ORDER_PREPARE\AR_PERF_PERIOD_PREPARE\AR_PERIOD_PREPARE\AR_PERF_MONTH_PREPARE
         // AR_PERIOD_PREPARE 表只需要是结算月的数据
         // AR_PERF_PERIOD_PREPARE 表特殊,需要增加一个字段,是否存在于前三期中  已被第一次算月业绩使用过了
@@ -955,14 +950,14 @@ class PreparePerfCalc {
         echo sprintf("时间:[%s]预计月业绩,结算月新添加的用户,当前offset为:【%s】" . PHP_EOL, date('Y-m-d H:i:s', time()) , $offset);
         // 从缓存列表里面从底层往上倒序获取会员      IS_HAS_USER 0 代表是此结算周期新增的业绩 
         $allData = PerfPeriodPrepare::findUseDbCalc()
-        ->select('USER_ID, SUM(FX_AMOUNT_CASH) AS FX_AMOUNT_CASH_SUM,SUM(PV_PCS) AS PV_PCS_SUM,
+        ->select('IS_HAS_USER,USER_ID, SUM(FX_AMOUNT_CASH) AS FX_AMOUNT_CASH_SUM,SUM(PV_PCS) AS PV_PCS_SUM,
         SUM(PV_PCS_FX) AS PV_PCS_FX_SUM,SUM(PV_PSS) AS PV_PSS_SUM,
         SUM(PV_1L) AS PV_1L_SUM,SUM(PV_2L) AS PV_2L_SUM,
         SUM(PV_3L) AS PV_3L_SUM,SUM(PV_4L) AS PV_4L_SUM,
         SUM(PV_5L) AS PV_5L_SUM,SUM(PV_1L_ZC) AS PV_1L_ZC_SUM,
         SUM(PV_2L_ZC) AS PV_2L_ZC_SUM,SUM(PV_3L_ZC) AS PV_3L_ZC_SUM,
         SUM(PV_4L_ZC) AS PV_4L_ZC_SUM,SUM(PV_5L_ZC) AS PV_5L_ZC_SUM')
-        ->where('CALC_MONTH=:CALC_MONTH AND IS_HAS_USER=0', [':CALC_MONTH' => $this->_calcYearMonth])
+        ->where('CALC_MONTH=:CALC_MONTH', [':CALC_MONTH' => $this->_calcYearMonth])
         ->groupBy('USER_ID')
         ->orderBy('USER_ID DESC')
         ->offset($offset)
@@ -972,6 +967,9 @@ class PreparePerfCalc {
         if ($allData) {
             // 月度业绩表
             foreach ($allData as $everyData) {
+                if ($everyData['IS_HAS_USER'] != 0) {
+                    continue;
+                }
                 $userId = $everyData['USER_ID'];
                 //往期业绩
                 $userLastPerf = PrepareCalcCache::userPerf($userId, $this->_periodNum);

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

@@ -236,6 +236,8 @@ class DeclarationUpgradeForm extends Model
             $decOrderModel->CREATED_AT = Date::nowTime();
             $decOrderModel->UPGRADE_TYPE = $upgradeType;
             $decOrderModel->REMARK = $remark;
+            $decOrderModel->ORI_LV = $oriDecLv; // 变更前的级别
+            $decOrderModel->UPGRADE_LV = $this->decLv; // 变更后的级别
             if(!$decOrderModel->save()){
                 $transaction->rollBack();
                 throw new Exception(Form::formatErrorsForApi($decOrderModel->getErrors()));

+ 1 - 1
frontendApi/config/menu.php

@@ -48,7 +48,7 @@ return [
 //            ['name'=>'点位绑定列表', 'class'=>'', 'icon'=>'', 'controller'=>'user', 'action'=>'bind', 'routePath'=>'user/bind', 'show'=>1,],
 //            ['name'=>'点位绑定编辑', 'class'=>'', 'icon'=>'', 'controller'=>'user', 'action'=>'bind-edit', 'routePath'=>'user/bind-edit', 'show'=>0,],
             ['name'=>'重置密码', 'class'=>'', 'icon'=>'', 'controller'=>'user', 'action'=>'password', 'routePath'=>'user/password', 'show'=>1],
-            ['name'=>'升级管理', 'class'=>'', 'icon'=>'', 'controller'=>'upgrade', 'action'=>'dec', 'routePath'=>'user/upgrade', 'show'=>1,'allow'=>'declarer',],
+            ['name'=>'升级管理', 'class'=>'', 'icon'=>'', 'controller'=>'upgrade', 'action'=>'dec', 'routePath'=>'user/upgrade', 'show'=>1,'allow'=>'declarer-upgrade',],
             ['name'=>'报单管理', 'class'=>'', 'icon'=>'', 'controller'=>'user', 'action'=>'dec', 'routePath'=>'user/dec', 'show'=>1,'allow'=>'declarer',],
         ]
     ],

+ 1 - 0
frontendApi/modules/v1/controllers/OauthController.php

@@ -57,6 +57,7 @@ class OauthController extends BaseController
         if($isDec==1 && $item['allow']=='declarer'){
             return true;
         }
+        
         return false;
     }
 

+ 9 - 0
frontendApi/modules/v1/controllers/SiteController.php

@@ -197,6 +197,15 @@ class SiteController extends BaseController
             }
         }
 
+        if($menu['allow']=='declarer-upgrade'){
+            $isOpenUpgrade = Cache::getSystemConfig()['isOpenUpgrade']['VALUE'];
+            $isDec = User::getEnCodeInfo(\Yii::$app->user->id)['IS_DEC'];
+            if($isDec==1 && $isOpenUpgrade == 1){
+                return false;
+            }
+        }
+        
+
         if($menu['allow']=='transferRecordSwitch'){
             $transferRecordSwitch = isset(Cache::getSystemConfig()['transferRecordSwitch']) ? Cache::getSystemConfig()['transferRecordSwitch']['VALUE'] : '';
             if($transferRecordSwitch) return false;

+ 16 - 0
frontendApi/modules/v1/controllers/UserController.php

@@ -206,6 +206,14 @@ class UserController extends BaseController {
 
     // 会员升级,通过会员的编号,获取会员信息
     public function actionUpgradeInfo() {
+        $isSwitchUpgrade = Config::find()
+        ->where("CONFIG_NAME='isOpenUpgrade'")
+        ->asArray()
+        ->one();
+        $isOpen = !empty($isSwitchUpgrade) && isset($isSwitchUpgrade['VALUE']) ? $isSwitchUpgrade['VALUE'] : 0;
+        if ($isOpen < 1) {
+            return static::notice('功能暂未开放',400);
+        }
         $userNumber = \Yii::$app->request->request('userName');
         $baseInfo = Info::baseInfoZhByUserName($userNumber);
         if ($baseInfo['STATUS'] != 1) {
@@ -272,6 +280,14 @@ class UserController extends BaseController {
 
     // 会员升级管理
     public function actionUpgrade() {
+        $isSwitchUpgrade = Config::find()
+        ->where("CONFIG_NAME='isOpenUpgrade'")
+        ->asArray()
+        ->one();
+        $isOpen = !empty($isSwitchUpgrade) && isset($isSwitchUpgrade['VALUE']) ? $isSwitchUpgrade['VALUE'] : 0;
+        if ($isOpen < 1) {
+            return static::notice('功能暂未开放',400);
+        }
         if (\Yii::$app->request->isPost) {
             // 开始升级
             $formModel = new DeclarationUpgradeForm();

+ 5 - 5
frontendEle/src/views/shop/order.vue

@@ -26,7 +26,7 @@
                     <el-table-column label="数量" prop="chose_num">
 
                     </el-table-column>
-                    <el-table-column label="会员价格合计金额" prop="member_price_plus">
+                    <el-table-column label="合计金额" prop="member_price_plus">
 
                     </el-table-column>
                     <el-table-column label="合计PV" prop="member_pv_plus"></el-table-column>
@@ -125,11 +125,11 @@
                     pageList.map((pageData, index)=>{
                         if( Number(pageData.chose_num) > 0 ) {
                             let discount = pageData.DISCOUNT / 100;
-                            pageData.member_price = pageData.SELL_PRICE * discount;
-                            pageData.member_price_plus = pageData.SELL_PRICE * Number(pageData.chose_num) * discount;
+                          pageData.member_price = Math.round(pageData.SELL_PRICE * discount * 100) / 100;
+                          pageData.member_price_plus = Math.round(pageData.SELL_PRICE * Number(pageData.chose_num) * discount * 100) / 100;
 
-                            pageData.member_pv = pageData.PRICE_PV * discount;
-                            pageData.member_pv_plus = pageData.PRICE_PV * Number(pageData.chose_num) * discount;
+                          pageData.member_pv = Math.round(pageData.PRICE_PV * discount * 100) / 100;
+                          pageData.member_pv_plus = Math.round(pageData.PRICE_PV * Number(pageData.chose_num) * discount * 100) / 100;
 
                             this.goods.push(pageData)
                         }

+ 5 - 5
frontendEle/src/views/shop/reconsume-order.vue

@@ -26,7 +26,7 @@
                     <el-table-column label="数量" prop="chose_num">
 
                     </el-table-column>
-                    <el-table-column label="会员价格合计金额" prop="member_price_plus">
+                    <el-table-column label="合计金额" prop="member_price_plus">
 
                     </el-table-column>
                     <el-table-column label="合计PV" prop="member_pv_plus"></el-table-column>
@@ -196,11 +196,11 @@
                     pageList.map((pageData, index)=>{
                         if( Number(pageData.chose_num) > 0 ) {
                             let discount = pageData.DISCOUNT / 100;
-                            pageData.member_price = pageData.SELL_PRICE * discount;
-                            pageData.member_price_plus = pageData.SELL_PRICE * Number(pageData.chose_num) * discount;
+                          pageData.member_price = Math.round(pageData.SELL_PRICE * discount * 100) / 100;
+                          pageData.member_price_plus = Math.round(pageData.SELL_PRICE * Number(pageData.chose_num) * discount * 100) / 100;
 
-                            pageData.member_pv = pageData.PRICE_PV * discount;
-                            pageData.member_pv_plus = pageData.PRICE_PV * Number(pageData.chose_num) * discount;
+                          pageData.member_pv = Math.round(pageData.PRICE_PV * discount * 100) / 100;
+                          pageData.member_pv_plus = Math.round(pageData.PRICE_PV * Number(pageData.chose_num) * discount * 100) / 100;
 
                             this.goods.push(pageData)
                         }

+ 1 - 1
frontendEle/src/views/user/upgrade.vue

@@ -381,7 +381,7 @@
                         type: 'success'
                     })
                     this.submitButtonStat = false
-                    this.$router.go(-1)
+                    this.$router.go(0)
                 }).catch(() => {
                     this.submitButtonStat = false
                 })