Browse Source

用户钱包

lizhen_gitee 2 months ago
parent
commit
9657219c2d

+ 32 - 1
application/admin/controller/Userwallet.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
+use think\Db;
 
 /**
  * 用户钱包管理
@@ -22,7 +23,7 @@ class Userwallet extends Backend
     {
         parent::_initialize();
         $this->model = new \app\admin\model\Userwallet;
-
+        $this->view->assign("introLevelList", $this->model->getIntroLevelList());
     }
 
 
@@ -68,4 +69,34 @@ class Userwallet extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 充值金币
+     */
+    public function updatemoney(){
+        $id = input('id');
+        $info = Db::name('user_wallet')
+            ->where('id',$id)
+            ->find();
+
+        if ($this->request->isPost()) {
+
+            $user_id = input('user_id');
+            $money = input('money');
+            $remark = input('remark','后台调节');
+
+            Db::startTrans();
+            $rs = model('wallet')->lockChangeAccountRemain($user_id,'money',$money,1,$remark);
+            if($rs['status'] === false){
+                Db::rollback();
+                $this->error($rs['msg']);
+            }
+
+            Db::commit();
+            $this->success('充值完成');
+        }
+
+        $this->assign('row',$info);
+        return $this->view->fetch();
+    }
+
 }

+ 1 - 1
application/admin/lang/zh-cn/userwallet.php

@@ -8,7 +8,7 @@ return [
     'Hexiaomoney'       => '核销余额',
     'Intro_level'       => '星级',
     'Intro_level -1'    => '未入金',
-    'Intro_level 0'     => '入金',
+    'Intro_level 0'     => '入金零星',
     'Intro_level 1'     => '一星',
     'Intro_level 2'     => '二星',
     'Intro_level 3'     => '三星',

+ 11 - 2
application/admin/model/Userwallet.php

@@ -25,14 +25,23 @@ class Userwallet extends Model
 
     // 追加属性
     protected $append = [
-
+        'intro_level_text'
     ];
     
 
     
+    public function getIntroLevelList()
+    {
+        return ['-1' => __('Intro_level -1'), '0' => __('Intro_level 0'), '1' => __('Intro_level 1'), '2' => __('Intro_level 2'), '3' => __('Intro_level 3'), '4' => __('Intro_level 4'), '5' => __('Intro_level 5')];
+    }
 
 
-
+    public function getIntroLevelTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['intro_level']) ? $data['intro_level'] : '');
+        $list = $this->getIntroLevelList();
+        return isset($list[$value]) ? $list[$value] : '';
+    }
 
 
 

+ 7 - 1
application/admin/view/userwallet/add.html

@@ -27,7 +27,13 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Intro_level')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-intro_level" data-rule="required" class="form-control" name="row[intro_level]" type="number" value="-1">
+                        
+            <select  id="c-intro_level" data-rule="required" class="form-control selectpicker" name="row[intro_level]">
+                {foreach name="introLevelList" item="vo"}
+                    <option value="{$key}" {in name="key" value="-1"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
     <div class="form-group">

+ 11 - 5
application/admin/view/userwallet/edit.html

@@ -1,6 +1,6 @@
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id|htmlentities}">
@@ -23,14 +23,20 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-hexiaomoney" data-rule="required" class="form-control" step="0.01" name="row[hexiaomoney]" type="number" value="{$row.hexiaomoney|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Intro_level')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-intro_level" data-rule="required" class="form-control" name="row[intro_level]" type="number" value="{$row.intro_level|htmlentities}">
+                        
+            <select  id="c-intro_level" data-rule="required" class="form-control selectpicker" name="row[intro_level]">
+                {foreach name="introLevelList" item="vo"}
+                    <option value="{$key}" {in name="key" value="$row.intro_level"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Intro_uid')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-intro_uid" data-rule="required" class="form-control" name="row[intro_uid]" type="number" value="{$row.intro_uid|htmlentities}">
@@ -41,7 +47,7 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-last_jiesuan_date" data-rule="required" class="form-control" name="row[last_jiesuan_date]" type="number" value="{$row.last_jiesuan_date|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 1 - 0
application/admin/view/userwallet/index.html

@@ -19,6 +19,7 @@
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                            data-operate-edit="{:$auth->check('userwallet/edit')}"
                            data-operate-del="{:$auth->check('userwallet/del')}"
+                           data-operate-updatemoney="{:$auth->check('userwallet/updatemoney')}"
                            width="100%">
                     </table>
                 </div>

+ 32 - 0
application/admin/view/userwallet/updatemoney.html

@@ -0,0 +1,32 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-user_id" disabled data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="user_id" type="text" value="{$row.user_id|htmlentities}">
+        </div>
+    </div>
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">增加充值余额:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-gold" data-rule="required" class="form-control" name="money" type="number" value="">
+            负数可以减少
+        </div>
+    </div>
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">备注:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" data-rule="required" class="form-control" name="remark" type="text" value="">
+        </div>
+    </div>
+
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 17 - 2
public/assets/js/backend/userwallet.js

@@ -34,11 +34,23 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'money', title: __('Money'), operate:'BETWEEN'},
                         {field: 'intromoney', title: __('Intromoney'), operate:'BETWEEN'},
                         {field: 'hexiaomoney', title: __('Hexiaomoney'), operate:'BETWEEN'},
-                        {field: 'intro_level', title: __('Intro_level')},
+                        {field: 'intro_level', title: __('Intro_level'), searchList: {"-1":__('Intro_level -1'),"0":__('Intro_level 0'),"1":__('Intro_level 1'),"2":__('Intro_level 2'),"3":__('Intro_level 3'),"4":__('Intro_level 4'),"5":__('Intro_level 5')}, formatter: Table.api.formatter.normal},
 //                        {field: 'intro_uid', title: __('Intro_uid')},
 //                        {field: 'last_jiesuan_date', title: __('Last_jiesuan_date')},
 
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'operate', title: __('Operate'), table: table,
+                            buttons:[
+                                {
+                                    name:'updatemoney',
+                                    text:'充值金币',
+                                    title:'充值金币',
+                                    icon:'fa fa-exclamation-circle',
+                                    classname:'btn btn-xs btn-info btn-dialog',
+                                    url:'userwallet/updatemoney/id/{ids}?dialog=1',
+                                    target:'_self',
+                                },
+                            ],
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
             });
@@ -52,6 +64,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
             Controller.api.bindevent();
         },
+        updatemoney: function () {
+            Controller.api.bindevent();
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));