Sfoglia il codice sorgente

Merge branch 'new-version' into bugfix/2565-productNotice

kevin_zhangl 2 anni fa
parent
commit
38610a7a25

+ 8 - 1
backendApi/config/menu.php

@@ -39,6 +39,12 @@ return [
             ['name'=>'添加商品', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'goods-add', 'routePath'=>'shop/goods-add', 'show'=>0,],
             ['name'=>'编辑商品', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'goods-edit', 'routePath'=>'shop/goods-edit', 'show'=>0,],
             ['name'=>'删除商品', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'goods-delete', 'routePath'=>'shop/goods-delete', 'show'=>0,],
+            ['name'=>'商品状态', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'goods-status', 'routePath'=>'shop/goods-status', 'show'=>0,],
+            ['name'=>'套餐管理', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package-get', 'routePath'=>'shop/package-get', 'show'=>0,],
+            ['name'=>'添加套餐', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package-add', 'routePath'=>'shop/package-add', 'show'=>0,],
+            ['name'=>'编辑套餐', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package-edit', 'routePath'=>'shop/package-edit', 'show'=>0,],
+            ['name'=>'删除套餐', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package-delete', 'routePath'=>'shop/package-delete', 'show'=>0,],
+            ['name'=>'商品状态', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package-status', 'routePath'=>'shop/package-status', 'show'=>0,],
             // 新添加的商品操作 ---stop
             ['name'=>'商品列表导出', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'goods-list-export', 'routePath'=>'shop/goods-list-export', 'show'=>0,],
             ['name'=>'套餐管理', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'package', 'routePath'=>'shop/package', 'show'=>1,],
@@ -52,6 +58,7 @@ return [
             ['name'=>'外部商城订单列表', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'order-shop-list', 'routePath'=>'shop/order-shop-list', 'show'=>1,],
             ['name'=>'外部商城报单列表', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'order-dec-list', 'routePath'=>'shop/order-dec-list', 'show'=>1,],
             ['name'=>'外部商城达标订单列表', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'order-standard-list', 'routePath'=>'shop/order-standard-list', 'show'=>1,],
+            ['name'=>'上传', 'class'=>'', 'icon'=>'', 'controller'=>'shop', 'action'=>'upload', 'routePath'=>'shop/upload', 'show'=>0,],
 
         ]
     ],
@@ -494,4 +501,4 @@ return [
             ['name'=>'编辑报单中心级别', 'class'=>'', 'icon'=>'', 'controller'=>'config', 'action'=>'dec-role-edit', 'routePath'=>'config/dec-role-edit', 'show'=>0,],
         ],
     ],
-];
+];

+ 2 - 2
backendApi/modules/v1/controllers/BonusController.php

@@ -2848,9 +2848,9 @@ class BonusController extends BaseController {
                 // 1市场
                 $surplus1LUserName = (isset($memberList[1]) && $memberList[1]['USER_ID']) ? Info::getUserNameByUserId($memberList[1]['USER_ID']) : '';
                 // 2市场
-                $surplus2LUserName = (isset($memberList[2]) && $memberList[1]['USER_ID']) ? Info::getUserNameByUserId($memberList[2]['USER_ID']) : '';
+                $surplus2LUserName = (isset($memberList[2]) && $memberList[2]['USER_ID']) ? Info::getUserNameByUserId($memberList[2]['USER_ID']) : '';
                 // 3市场
-                $surplus3LUserName = (isset($memberList[3]) && $memberList[1]['USER_ID']) ? Info::getUserNameByUserId($memberList[3]['USER_ID']) : '';
+                $surplus3LUserName = (isset($memberList[3]) && $memberList[3]['USER_ID']) ? Info::getUserNameByUserId($memberList[3]['USER_ID']) : '';
 
                 // 会员编号
                 $perfMarket['USER_NAME'] = $memberCode;

+ 2 - 2
backendApi/modules/v1/models/lists/shop/GoodsList.php

@@ -197,7 +197,7 @@ class GoodsList extends \common\libs\dataList\DataList implements DataListInterf
             $this->filterTypes = [
                 //'TYPE' => ['isUserTable' => false, 'name' => '商品来源', 'other' => 'select', 'selectData' => [['id' => 1, 'name' => '国内商品'], ['id' => 2, 'name' => '进口商品']]],
                 'GIFT_TYPE' => ['isUserTable' => false, 'name' => '商品类型', 'other' => 'select', 'selectData' => [['id' => 1, 'name' => '报单区'], ['id' => 2, 'name' => '复消区'], ['id' => 3, 'name' => '工作室报单'], ['id' => 4, 'name' => '工作室复消']]],
-                'STATUS'=> ['name'=> '状态', 'other'=> 'select', 'selectData'=> [['id'=> 0, 'name'=> '已下架'],['id'=> 1, 'name'=> '已上架']]],
+                'STATUS'=> ['name'=> '状态', 'other'=> 'select', 'selectData'=> [['id'=> 1, 'name'=> '已上架'],['id'=> 0, 'name'=> '已下架'],]],
                 'GOODS_NAME'=> ['name'=> '商品名称'],
                 'GOODS_NO'=> ['name'=> '商品编号'],
                 'SELL_TYPE'=> ['name'=> '复消购买方式', 'other'=> 'select', 'selectData'=> [['id'=> 1, 'name'=> '余额购买'],['id'=> 2, 'name'=> '积分购买']]],
@@ -207,4 +207,4 @@ class GoodsList extends \common\libs\dataList\DataList implements DataListInterf
         }
         return $this->filterTypes;
     }
-}
+}

+ 4 - 4
backendApi/modules/v1/models/lists/user/IndexList.php

@@ -47,10 +47,10 @@ class IndexList extends \common\libs\dataList\DataList implements DataListInterf
                 RU.USER_NAME REC_USER_NAME,RU.REAL_NAME REC_REAL_NAME,
                 DU.USER_NAME DEC_USER_NAME
                 ',
-            'orderBy' => 'UI.CREATED_AT DESC, UI.ID DESC',
-            'from' => User::tableName() . ' AS U',
+            'orderBy' => 'UI.CREATED_AT DESC',
+            'from' => UserInfo::tableName() . ' AS UI',
             'join' => [
-                ['LEFT JOIN', UserInfo::tableName() . ' AS UI', 'UI.USER_ID=U.ID'],
+                ['LEFT JOIN', User::tableName() . ' AS U', 'U.ID=UI.USER_ID'],
                 ['LEFT JOIN', UserNetwork::tableName() . ' AS UN', 'UI.USER_ID=UN.USER_ID'],
                 ['LEFT JOIN', User::tableName() . ' AS CU', 'UI.CON_UID=CU.ID'],
                 ['LEFT JOIN', User::tableName() . ' AS RU', 'UI.REC_UID=RU.ID'],
@@ -643,4 +643,4 @@ class IndexList extends \common\libs\dataList\DataList implements DataListInterf
         }
         return $this->filterTypes;
     }
-}
+}

+ 129 - 112
backendEle/src/views/shop/order-list.vue

@@ -4,7 +4,8 @@
       <div class="filter-box">
         <filter-user :filter-types="filterTypes" @select-value="handleFilterUser"></filter-user>
       </div>
-      <el-table class="table-box" ref="multipleTable" :data="tableData" stripe style="width: 100%;"
+      <el-table ref="multipleTable" :data="tableData" style="width: 100%;"
+                :row-class-name="rowClassName"
                 @selection-change="handleSelectionChange"
                 :height="tool.getTableHeight()">
         <el-table-column type="selection" width="70" v-if="tableHeaders"></el-table-column>
@@ -58,132 +59,148 @@
 </template>
 
 <script>
-  import network from '@/utils/network'
-  import tool from '@/utils/tool'
-  import baseInfo from '@/utils/baseInfo'
-  import FilterUser from '@/components/FilterUser'
-  import permission from '@/utils/permission'
-  import Pagination from '@/components/Pagination'
-  import filterHelper from '@/utils/filterHelper'
+import network from '@/utils/network'
+import tool from '@/utils/tool'
+import baseInfo from '@/utils/baseInfo'
+import FilterUser from '@/components/FilterUser'
+import permission from '@/utils/permission'
+import Pagination from '@/components/Pagination'
+import filterHelper from '@/utils/filterHelper'
 
-  export default {
-    name: 'shop_order-list',
-    components: {FilterUser, Pagination},
-    mounted() {
-      this.getData()
-    },
-    data() {
-      return {
-        tableHeaders: null,
-        tableData: null,
-        tableHeight: window.innerHeight - 310,
-        loading: true,
-        multipleSelection: [],
-        currentPage: 1,
-        totalPages: 1,
-        totalCount: 1,
-        pageSize: 20,
-        tool: tool,
-        permission: permission,
-        filterTypes: null,
-        filterModel: {},
-        dialogDeliveryVisible: false,
-        deliveryForm: {
-          sn: '',
-          expressCompany: '',
-          orderTrackNo: '',
-        },
+export default {
+  name: 'shop_order-list',
+  components: {FilterUser, Pagination},
+  mounted () {
+    this.getData()
+  },
+  data () {
+    return {
+      tableHeaders: null,
+      tableData: null,
+      tableHeight: window.innerHeight - 310,
+      loading: true,
+      multipleSelection: [],
+      currentPage: 1,
+      totalPages: 1,
+      totalCount: 1,
+      pageSize: 20,
+      tool: tool,
+      permission: permission,
+      filterTypes: null,
+      filterModel: {},
+      dialogDeliveryVisible: false,
+      deliveryForm: {
+        sn: '',
+        expressCompany: '',
+        orderTrackNo: '',
+      },
+    }
+  },
+  methods: {
+    rowClassName (val) {
+      if (val.row) {
+        let index = this.multipleSelection.findIndex(item => {
+          return item.ID == val.row.ID
+        })
+        if (index >= 0) {
+          return 'selected-row'
+        }
+      } else {
+        return ''
       }
     },
-    methods: {
-      handleSelectionChange(val) {
-        this.multipleSelection = val
-      },
-      handleCurrentChange(page) {
-        this.getData(page, this.pageSize)
-      },
-      handleSizeChange(pageSize) {
-        this.getData(this.currentPage, pageSize)
-      },
-      handleFilterUser(filterData) {
-        filterHelper.handleFilterUser(this, filterData)
-      },
-      getData(page, pageSize) {
-        let filterData = this.filterModel
-        network.getPageData(this, 'shop/order-list', page, pageSize, filterData, response => {
-          this.filterTypes = response.filterTypes
-          this.allData = response
+    handleSelectionChange (val) {
+      this.multipleSelection = val
+      this.rowClassName(val)
+    },
+    handleCurrentChange (page) {
+      this.getData(page, this.pageSize)
+    },
+    handleSizeChange (pageSize) {
+      this.getData(this.currentPage, pageSize)
+    },
+    handleFilterUser (filterData) {
+      filterHelper.handleFilterUser(this, filterData)
+    },
+    getData (page, pageSize) {
+      let filterData = this.filterModel
+      network.getPageData(this, 'shop/order-list', page, pageSize, filterData, response => {
+        this.filterTypes = response.filterTypes
+        this.allData = response
+      })
+    },
+    handleExport () {
+      this.$confirm(`确定要导出当前数据吗?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        return network.getData(`shop/order-list-export`, this.filterModel)
+      }).then(response => {
+        this.$message({
+          message: response,
+          type: 'success'
         })
-      },
-      handleExport(){
-        this.$confirm(`确定要导出当前数据吗?`, '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          return network.getData(`shop/order-list-export`, this.filterModel)
-        }).then(response => {
+      }).catch(response => {
+
+      })
+    },
+    handleEdit () {
+      // 进入修改订单页面
+    },
+    handleDel (row) {
+      let orderSn = row.SN.value // order订单表的编号
+      this.$confirm(`确定要删除订单:${orderSn}吗?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        // 删除订单
+        let postData = {
+          orderSn
+        }
+        return network.postData('shop/delete-order', postData).then(response => {
           this.$message({
             message: response,
             type: 'success'
           })
-        }).catch(response => {
-
+          this.submitButtonStat = false
+          this.$router.go(-1)
+        }).catch(() => {
+          this.submitButtonStat = false
         })
-      },
-      handleEdit() {
-        // 进入修改订单页面
-      },
-      handleDel(row) {
-        let orderSn = row.SN.value // order订单表的编号
-        this.$confirm(`确定要删除订单:${orderSn}吗?`, '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          // 删除订单
-          let postData = {
-            orderSn
-          }
-          return network.postData('shop/delete-order', postData).then(response => {
-              console.log(response);
-              this.$message({
-                  message: response,
-                  type: 'success'
-              })
-              this.submitButtonStat = false
-              this.$router.go(-1)
-          }).catch(() => {
-              this.submitButtonStat = false
-          })
-        }).then(response => {
-          
-        }).catch(response => {
+      }).then(response => {
 
+      }).catch(response => {
+
+      })
+    },
+    // 显示发货对话框
+    handleShowDeliveryDialog (row) {
+      this.dialogDeliveryVisible = true
+      this.deliveryForm.sn = row['SN'].value
+    },
+    // 发货
+    handleDelivery () {
+      network.postData('shop/order-delivery', this.deliveryForm).then(response => {
+        this.$message({
+          message: response,
+          type: 'success'
         })
-      },
-      // 显示发货对话框
-      handleShowDeliveryDialog(row) {
-        this.dialogDeliveryVisible = true
-        this.deliveryForm.sn = row['SN'].value
-      },
-      // 发货
-      handleDelivery() {
-        network.postData('shop/order-delivery', this.deliveryForm).then(response => {
-          this.$message({
-            message: response,
-            type: 'success'
-          })
-          this.dialogDeliveryVisible = false
-          this.getData(this.currentPage, this.pageSize)
-        }).catch(response => {
-          this.dialogDeliveryVisible = false
-        })
-      }
+        this.dialogDeliveryVisible = false
+        this.getData(this.currentPage, this.pageSize)
+      }).catch(response => {
+        this.dialogDeliveryVisible = false
+      })
     }
   }
+}
 
 </script>
 
 <style scoped>
+/deep/.el-table .selected-row {
+  background: #bce5ef;
+  /*color: white;*/
+}
 </style>

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

@@ -20,20 +20,18 @@
         </el-table-column>
         <el-table-column fixed="right" label="操作" width="180">
           <template slot-scope="scope">
-            <el-dropdown size="small" trigger="click" v-if="permission.hasPermission(`shop/package-get`)">
+            <el-dropdown size="small" trigger="click" v-if="permission.hasPermission(`shop/package`)">
               <el-button type="primary" size="small" @click.stop="">
                   操作该数据<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item command="package-get" @click.native="handleEditShow(scope.row)">修改数据
-                </el-dropdown-item>
+                <el-dropdown-item command="package-get" @click.native="handleEditShow(scope.row)">修改数据</el-dropdown-item>
                 <el-dropdown-item command="del" @click.native="handleDel(scope.row.ID)"
                                   v-show="permission.hasPermission(`shop/goods-delete`)">删除数据
                 </el-dropdown-item>
                 <el-dropdown-item command="goods-edit" @click.native="handleGoodUp(scope.row.ID)">商品上架 </el-dropdown-item>
                 <el-dropdown-item command="goods-edit" @click.native="handleGoodDown(scope.row.ID)">商品下架 </el-dropdown-item>
-                <el-dropdown-item command="package-get" @click.native="handleEditShowGoodsTimes(scope.row)">套餐限时
-                </el-dropdown-item>
+                <el-dropdown-item command="package-get" @click.native="handleEditShowGoodsTimes(scope.row)">套餐限时</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </template>

+ 3 - 3
common/models/forms/DeclarationForm.php

@@ -726,7 +726,7 @@ class DeclarationForm extends Model
                 $userPayPasswd = '111111';
             }
         }
-        
+
         // 增加会员
         $user = new User();
         $user->USER_NAME = $this->insertUserName;
@@ -748,8 +748,8 @@ class DeclarationForm extends Model
         $user->DEC_LV = $this->decLv;
         $user->LAST_DEC_LV = $this->decLv;
         $user->EMP_LV = EmployLevel::getDefaultLevelId();
-        $user->PROVINCE = $this->province ?? 0;
-        $user->CITY = $this->city ?? 0;
+        $user->PROVINCE = intval($this->province) ?? 0;
+        $user->CITY = intval($this->city) ?? 0;
         $user->COUNTY = intval($this->county) ?? 0;
         $user->AVATAR = 'avatar/1.png';
         $user->IS_DEC = 0;

+ 14 - 9
common/models/forms/TransferForm.php

@@ -6,6 +6,7 @@ use common\helpers\Cache;
 use common\helpers\Date;
 use common\components\Model;
 use common\helpers\Form;
+use common\helpers\LoggerTool;
 use common\helpers\snowflake\SnowFake;
 use common\helpers\Tool;
 use common\helpers\user\Balance;
@@ -262,7 +263,11 @@ class TransferForm extends Model {
      * @param $params
      */
     public function validatePassword($attribute, $params) {
-        if (!User::validatePayPassword($this->_fromUserInfo['ID'], $this->payPassword)) {
+        $uid = \Yii::$app->user->id;
+        if(!$this->_fromUserInfo){
+            LoggerTool::info('transfer error, '.$uid.' '. $this->amount.' '. $this->toUserName);
+            $this->addError($attribute, '转账失败');
+        }else if (!User::validatePayPassword($this->_fromUserInfo['ID'], $this->payPassword)) {
             $this->addError($attribute, '支付密码不正确');
         }
     }
@@ -356,22 +361,22 @@ class TransferForm extends Model {
                 // 复消积分转余额
                 // 减少复消积分
                 Balance::changeUserBonus(
-                    $this->_fromUserInfo['ID'], 
-                    'reconsume_points', 
-                    -abs($this->amount), 
+                    $this->_fromUserInfo['ID'],
+                    'reconsume_points',
+                    -abs($this->amount),
                     [
-                        'TRANSFER_SN' => $model->TRANSFER_SN, 
-                        'DEAL_TYPE_ID' => DealType::TRANSFER_OUT, 
+                        'TRANSFER_SN' => $model->TRANSFER_SN,
+                        'DEAL_TYPE_ID' => DealType::TRANSFER_OUT,
                         'REMARK' => 'To:' . $this->_toUserInfo['USER_NAME'] . ',' . $this->remark
                     ]
                 );
                 // 增加余额
                 Cash::changeUserCash(
-                    $this->_toUserInfo['ID'], 
-                    'CASH', abs($amount), 
+                    $this->_toUserInfo['ID'],
+                    'CASH', abs($amount),
                     [
                         'TRANSFER_SN' => $model->TRANSFER_SN,
-                        'DEAL_TYPE_ID' => DealType::TRANSFER_IN, 
+                        'DEAL_TYPE_ID' => DealType::TRANSFER_IN,
                         'REMARK' => 'From:' . $this->_fromUserInfo['USER_NAME'] . ',' . $this->remark
                     ]
                 );