Kirin 2 gadi atpakaļ
vecāks
revīzija
41c2beb734

+ 1 - 1
app/admin/controller/order/StoreOrder.php

@@ -632,7 +632,7 @@ class StoreOrder extends AuthController
             BaseModel::beginTrans();
             $usermoney = User::where('uid', $product['uid'])->value('consumer');
             $res1 = User::bcInc($product['uid'], 'consumer', $refund_price, 'uid');
-            $res2 = $res2 = UserBill::income('商品退款', $product['uid'], 'now_money', 'consumer_product_refund', $refund_price, $product['id'], bcadd($usermoney, $refund_price, 2), '订单退款到消费券' . floatval($refund_price) . '元');
+            $res2 = $res2 = UserBill::income('商品退款', $product['uid'], 'consumer', 'consumer_product_refund', $refund_price, $product['id'], bcadd($usermoney, $refund_price, 2), '订单退款到消费券' . floatval($refund_price) . '元');
             try {
                 OrderRepository::storeOrderYueRefund($product, $refund_data);
             } catch (\Exception $e) {

+ 9 - 2
app/admin/controller/user/User.php

@@ -254,10 +254,10 @@ class User extends AuthController
         if ($data['consumer_status'] && $data['consumer']) {//积分增加或者减少
             if ($data['consumer_status'] == 1) {//增加
                 $edit['consumer'] = bcadd($user['consumer'], $data['consumer'], 2);
-                $res2 = UserBillAdmin::income('系统增加消费券', $user['uid'], 'consumer', 'system_add_consumer', $data['consumer'], $this->adminId, $edit['consumer'], '系统增加了' . floatval($data['consumer']) . '消费券');
+                $res2 = UserBillAdmin::income('系统增加消费券', $user['uid'], 'consumer', 'system_add', $data['consumer'], $this->adminId, $edit['consumer'], '系统增加了' . floatval($data['consumer']) . '消费券');
             } else if ($data['consumer_status'] == 2) {//减少
                 $edit['consumer'] = bcsub($user['consumer'], $data['consumer'], 2);
-                $res2 = UserBillAdmin::expend('系统减少消费券', $user['uid'], 'consumer', 'system_sub_consumer', $data['consumer'], $this->adminId, $edit['consumer'], '系统扣除了' . floatval($data['consumer']) . '消费券');
+                $res2 = UserBillAdmin::expend('系统减少消费券', $user['uid'], 'consumer', 'system_sub', $data['consumer'], $this->adminId, $edit['consumer'], '系统扣除了' . floatval($data['consumer']) . '消费券');
             }
         } else {
             $res2 = true;
@@ -935,6 +935,13 @@ class User extends AuthController
     {
         return Json::successful(UserBillAdmin::getOneBalanceChangList(compact('uid', 'page', 'limit')));
     }
+    /**
+     * 获取某用户的余额变动记录
+     */
+    public function getOneConsumeChangList($uid, $page = 1, $limit = 20)
+    {
+        return Json::successful(UserBillAdmin::getOneConsumeChangList(compact('uid', 'page', 'limit')));
+    }
 
     /**
      *充值审核列表

+ 43 - 0
app/admin/model/user/UserBill.php

@@ -247,6 +247,49 @@ class UserBill extends BaseModel
          }
          return $list;
     }
+
+    //查询个人余额变动记录
+    public static function getOneConsumeChangList($where){
+        $list=self::setWhereList(
+            $where,'',
+//            ['system_add','pay_product','extract','pay_product_refund','system_sub','brokerage','recharge','user_recharge_refund'],
+            ['add_time','title','type','mark','number','balance','pm','status'],
+            'consumer'
+        );
+        foreach ($list as &$item){
+            switch ($item['type']){
+                case 'system_add_consumer':
+                    $item['_type']='开通会员赠送消费券';
+                    break;
+                case 'system_add':
+                    $item['_type']='系统增加消费券';
+                    break;
+                case 'spread_add_consumer':
+                    $item['_type']='推荐会员赠送消费券';
+                    break;
+                case 'extract_get_consumer':
+                    $item['_type']='提现转换消费券';
+                    break;
+                case 'consumer_product_refund':
+                    $item['_type']='消费券退回';
+                    break;
+                case 'qr_add_consumer':
+                    $item['_type']='扫码收款-消费券';
+                    break;
+                case 'system_sub':
+                    $item['_type']='系统减少消费券';
+                    break;
+                case 'qr_des_consumer':
+                    $item['_type']='扫码付款-消费券';
+                    break;
+                case 'consumer_product':
+                    $item['_type']='消费券商品';
+                    break;
+            }
+            $item['_pm']=$item['pm']==1 ? '获得': '支出';
+        }
+        return $list;
+    }
     //设置where条件分页.返回数据
     public static function setWhereList($where,$type='',$field=[],$category='integral'){
         $models=self::where('uid',$where['uid'])

+ 52 - 1
app/admin/view/user/user/see.php

@@ -88,6 +88,7 @@
                             <li>签到记录</li>
                             <li>持有优惠劵</li>
                             <li>余额变动记录</li>
+                            <li>消费券变动记录</li>
                             <li>推广下线明细</li>
                         </ul>
                         <div class="layui-tab-content" id="content">
@@ -239,13 +240,45 @@
                                 </table>
                                 <div ref="balancechang_page" v-show="count.balanceChang_count > limit" style="text-align: right;"></div>
                             </div>
+                            <div class="layui-tab-item">
+                                <table class="layui-table" v-cloak="">
+                                    <thead>
+                                    <tr>
+                                        <th>变动额度</th>
+                                        <th>变动后</th>
+                                        <th>类型</th>
+                                        <th>创建时间</th>
+                                        <th>备注</th>
+                                    </tr>
+                                    </thead>
+                                    <tbody>
+                                    <tr v-for="item in consumeChangList">
+                                        <td>{{item.number}}
+                                            <p v-show="item.pm==1">
+                                                <span class="layui-badge layui-bg-green" v-show="item.status==1">有效</span>
+                                                <span class="layui-badge layui-bg-orange" v-show="item.status==0">带确定</span>
+                                                <span class="layui-badge layui-bg-gray" v-show="item.status==-1">无效</span>
+                                            </p>
+                                        </td>
+                                        <td>{{item.balance}}</td>
+                                        <td>{{item._type}}</td>
+                                        <td>{{item.add_time}}</td>
+                                        <td>{{item.mark}}</td>
+                                    </tr>
+                                    <tr v-show="consumeChangList.length<=0" style="text-align: center">
+                                        <td colspan="5">暂无数据</td>
+                                    </tr>
+                                    </tbody>
+                                </table>
+                                <div ref="consumechang_page" v-show="count.consumeChang_count > limit" style="text-align: right;"></div>
+                            </div>
                             <!--推广人-->
                             <div class="layui-tab-item">
                                 <table class="layui-table" v-cloak="">
                                     <thead>
                                     <tr>
                                         <th>昵称</th>
-                                        <th>余额</th>
+                                        <th></th>
                                         <th>积分</th>
                                         <th>加入时间</th>
                                     </tr>
@@ -292,6 +325,7 @@
                 SignList:[],
                 CouponsList:[],
                 balanceChangList:[],
+                consumeChangList:[],
                 SpreadList:[],
                 count:count,
                 page:{
@@ -300,6 +334,7 @@
                     sign_page:1,
                     copons_page:1,
                     balancechang_page:1,
+                    consumechang_page:1,
                     spread_page:1,
                 },
             },
@@ -319,6 +354,9 @@
                 'page.balancechang_page':function () {
                     this.getOneBalanceChangList();
                 },
+                'page.consumechang_page':function () {
+                    this.getOneConsumeChangList();
+                },
                 'page.spread_page':function () {
                     this.getSpreadList();
                 }
@@ -342,6 +380,9 @@
                 getOneBalanceChangList:function () {
                     this.request('getOneBalanceChangList',this.page.balancechang_page,'balanceChangList');
                 },
+                getOneConsumeChangList:function () {
+                    this.request('getOneConsumeChangList',this.page.consumechang_page,'consumeChangList');
+                },
                 request:function (action,page,name) {
                     var that=this;
                     layList.baseGet(layList.U({a:action,p:{page:page,limit:this.limit,uid:this.uid}}),function (res) {
@@ -355,6 +396,7 @@
                 this.getOneSignList();
                 this.getOneCouponsList();
                 this.getOneBalanceChangList();
+                this.getOneConsumeChangList();
                 this.getSpreadList();
                 var that=this;
                 layList.laypage.render({
@@ -402,6 +444,15 @@
                         that.page.balancechang_page=obj.curr;
                     }
                 });
+                layList.laypage.render({
+                    elem: that.$refs.consumechang_page
+                    ,count:that.count.consumeChang_count
+                    ,limit:that.limit
+                    ,theme: '#1E9FFF',
+                    jump:function(obj){
+                        that.page.consumechang_page=obj.curr;
+                    }
+                });
 
                 layList.laypage.render({
                     elem: that.$refs.spread_page

+ 3 - 3
app/models/order/Level.php

@@ -116,13 +116,13 @@ class Level extends BaseModel
         $info = SystemUserLevel::find($order['level_id']);
         $user = User::where('uid',$order['uid'])->find();
         User::where('uid',$order['uid'])->inc('consumer',$order['pay_price'])->update();
-        UserBill::income('开通'.$info['name'].'赠送消费券',$order['uid'],'now_money','system_add_consumer',$order['pay_price'],$info['id'],bcadd($user['consumer'],$order['pay_price'],2),"开通".$info['name']."赠送消费券".$order['pay_price']);
+        UserBill::income('开通'.$info['name'].'赠送消费券',$order['uid'],'consumer','system_add_consumer',$order['pay_price'],$info['id'],bcadd($user['consumer'],$order['pay_price'],2),"开通".$info['name']."赠送消费券".$order['pay_price']);
         if($user['spread_uid']>0 && $order['level_id']==1)
         {
             $sp_user = User::where('uid',$user['spread_uid'])->find();
             $spread_consumer = sys_config('spread_consumer');
             User::where('uid',$user['spread_uid'])->inc('consumer',$spread_consumer)->update();
-            UserBill::income('推荐会员赠送消费券',$user['spread_uid'],'now_money','spread_add_consumer',$spread_consumer,$info['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
+            UserBill::income('推荐会员赠送消费券',$user['spread_uid'],'consumer','spread_add_consumer',$spread_consumer,$info['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
         }
         //User::setSpreadLevel($order['spread_uid'],$order['uid']);
         return false !== $res;
@@ -324,7 +324,7 @@ class Level extends BaseModel
         $sp_user = User::where('uid',$levelInfo['spread_uid'])->find();
         $spread_consumer = sys_config('spread_consumer');
         User::where('uid',$levelInfo['spread_uid'])->inc('consumer',$spread_consumer)->update();
-        UserBill::income('推荐会员赠送消费券',$levelInfo['spread_uid'],'consumer','spread_add',$spread_consumer,$levelInfo['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
+        UserBill::income('推荐会员赠送消费券',$levelInfo['spread_uid'],'consumer','spread_add_consumer',$spread_consumer,$levelInfo['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
         return true;
     }
 

+ 1 - 1
app/models/store/StoreOrder.php

@@ -745,7 +745,7 @@ class StoreOrder extends BaseModel
             return self::setErrorInfo(['status' => 'pay_deficiency', 'msg' => '消费券不足' . floatval($orderInfo['pay_price'])]);
         self::beginTrans();
         $res1 = false !== User::bcDec($uid, 'consumer', $orderInfo['pay_price'], 'uid');
-        $res2 = UserBill::expend('消费券商品', $uid, 'now_money', 'consumer_product', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['consumer'], '消费券支付' . floatval($orderInfo['pay_price']) . '购买商品');
+        $res2 = UserBill::expend('消费券商品', $uid, 'consumer', 'consumer_product', $orderInfo['pay_price'], $orderInfo['id'], $userInfo['consumer'], '消费券支付' . floatval($orderInfo['pay_price']) . '购买商品');
         $res3 = self::paySuccess($order_id, 'consumer', $formId);//银币支付成功
         try {
             PaymentRepositories::yuePayProduct($userInfo, $orderInfo);

+ 2 - 2
app/models/system/CardInfo.php

@@ -51,13 +51,13 @@ class CardInfo extends BaseModel
                 $user = User::where('uid',$uid)->find();
                 User::where('uid',$uid)->inc('consumer',$info['amount'])->update(['reg_store_id'=>$store_id]);
                 UserLevel::setUserLevel($uid,1);
-                UserBill::income('开通会员赠送消费券',$uid,'now_money','system_add_consumer',$info['amount'],$info['id'],bcadd($user['consumer'],$info['amount'],2),"开通会员赠送消费券".$info['amount']);
+                UserBill::income('开通会员赠送消费券',$uid,'consumer','system_add_consumer',$info['amount'],$info['id'],bcadd($user['consumer'],$info['amount'],2),"开通会员赠送消费券".$info['amount']);
                 if($user['spread_uid']>0)
                 {
                     $sp_user = User::where('uid',$user['spread_uid'])->find();
                     $spread_consumer = sys_config('spread_consumer');
                     User::where('uid',$user['spread_uid'])->inc('consumer',$spread_consumer)->update();
-                    UserBill::income('推荐会员赠送消费券',$user['spread_uid'],'now_money','spread_add_consumer',$spread_consumer,$info['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
+                    UserBill::income('推荐会员赠送消费券',$user['spread_uid'],'consumer','spread_add_consumer',$spread_consumer,$info['id'],bcadd($sp_user['consumer'],$spread_consumer,2),"推荐会员赠送消费券".$spread_consumer);
                 }
                 break;
             case 1:

+ 8 - 7
app/models/user/UserBill.php

@@ -161,29 +161,30 @@ class UserBill extends BaseModel
     public static function getUserBillList($uid, $page, $limit, $type, $category = 'now_money')
     {
         if (!$limit) return [];
-        $model = self::where('uid', $uid)->where('category', $category)->order('add_time desc')->where('number', '<>', 0)
+        $model = self::where('uid', $uid)->order('add_time desc')->where('number', '<>', 0)
             ->field('FROM_UNIXTIME(add_time,"%Y-%m") as time,group_concat(DISTINCT id ORDER BY id DESC SEPARATOR ",") ids')->group('time');
         switch ((int)$type) {
             case 0:
                 $model = $model;
                 break;
             case 1:
-                $model = $model->where('type', '<>', 'brokerage')->where('pm', 0);
+                $model = $model->where('category', $category)->where('type', '<>', 'brokerage')->where('pm', 0);
                 break;
             case 2:
-                $model = $model->where('type', '<>', 'brokerage')->where('pm', 1);
+                $model = $model->where('category', $category)->where('type', '<>', 'brokerage')->where('pm', 1);
                 break;
             case 3:
-                $model = $model->where('type', 'brokerage')->where('pm', 1);
+                $model = $model->where('category', $category)->where('type', 'brokerage')->where('pm', 1);
                 break;
             case 4:
-                $model = $model->where('type', 'brokerage')->where('pm', 0);
+                $model = $model->where('category', $category)->where('type', 'brokerage')->where('pm', 0);
                 break;
             case 5:
-                $model = $model->where('type', 'in', 'system_add_consumer,extract_get_consumer,spread_add_consumer,consumer_product_refund,qr_add_consumer');
+                $model = $model->where('category', 'consumer')->where('type', 'in', 'system_add,system_add_consumer,extract_get_consumer,spread_add,consumer_product_refund,qr_add_consumer');
+
                 break;
             case 6:
-                $model = $model->where('type', 'in', 'consumer_product,qr_des_consumer,system_dec_consumer');
+                $model = $model->where('category', 'consumer')->where('type', 'in', 'consumer_product,qr_des_consumer,system_sub');
                 break;
         }
         if ($page) $model = $model->page((int)$page, (int)$limit);