hrjy 3 gadi atpakaļ
vecāks
revīzija
b059436b98

+ 1 - 0
app/admin/controller/Index.php

@@ -157,6 +157,7 @@ class Index extends AuthController
                     $datalist[date('m-d', strtotime($i . ' day'))] = date('m-d', strtotime($i . ' day'));
                 }
                 $order_list = StoreOrderModel::where('add_time', 'between time', [$datebefor, $dateafter])
+                    ->where('paid', 1)
                     ->field("FROM_UNIXTIME(add_time,'%m-%d') as day,count(*) as count,sum(pay_price) as price")
                     ->group("FROM_UNIXTIME(add_time, '%Y%m%d')")
                     ->order('add_time asc')

+ 1 - 0
app/admin/controller/user/User.php

@@ -318,6 +318,7 @@ class User extends AuthController
             ['sex', ''],
             ['level', ''],
             ['group_id', ''],
+            ['excel', ''],
         ]);
         return Json::successlayui(UserModel::getUserList($where));
     }

+ 40 - 0
app/admin/model/user/User.php

@@ -181,10 +181,50 @@ class User extends BaseModel
                     else if (time() > $levelinfo['valid_time']) $item['vip_name'] = SystemUserLevel::where('id', $levelinfo['level_id'])->value('name');
                 }
             });//->toArray();
+        if (isset($where['excel']) && $where['excel'] == 1) {
+            $list = self::setWherePage(self::setWhere($where), $where, ['w.sex', 'w.province', 'w.city', 'u.status', 'u.is_promoter'], ['u.nickname', 'u.uid'])->alias('u')->join('WechatUser w', 'u.uid=w.uid')->select();
+            self::SaveExcel($list);
+        }
         $count = self::setWherePage(self::setWhere($where), $where, ['w.sex', 'w.province', 'w.city', 'u.status', 'u.is_promoter'], ['u.nickname', 'u.uid'])->alias('u')->join('WechatUser w', 'u.uid=w.uid')->count();
         return ['count' => $count, 'data' => $list];
     }
 
+
+    /**
+     * excel
+     * @param $list
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public static function SaveExcel($list)
+    {
+        $export = [];
+        $user = User::select();
+        foreach ($list as $index => $item) {
+            $nickname = \app\models\user\User::where('uid', $item['spread_uid'])->value('nickname');
+            $add_time = \app\models\user\User::where('uid', $item['uid'])->value('add_time');
+            $export[] = [
+                $item['uid'],
+                $item['account'],
+                empty($item['nickname']) ? self::where('uid', $item['uid'])->value('nickname') : $item['nickname'],
+                !empty($item['phone'])? $item['phone'] : '未绑定手机号',
+                $item['level'],
+                self::where('uid',$item['uid'])->value('now_money'),
+                $item['integral'],
+                $item['white_integral'],
+                $item['purple_integral'],
+                !empty($nickname)? $nickname : '没有上级',
+                date('Y-m-d H:i:s', $add_time),
+            ];
+        }
+        PHPExcelService::setExcelHeader(['ID', '账号', '昵称', '手机号','等级', '余额','商城积分','红积分','阳光积分', '推广人','首次登录时间'])
+            ->setExcelTile('用户导出' . date('YmdHis', time()), '订单信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
+            ->setExcelContent($export)
+            ->ExcelSave();
+    }
+
     /**
      *  修改用户状态
      * @param $uids 用户uid

+ 1 - 1
app/admin/view/index/main.php

@@ -435,7 +435,7 @@
             },
             mounted:function () {
                 const self = this;
-                // this.setChart(self.$refs.order_echart,'order_echart');//订单图表
+                this.setChart(self.$refs.order_echart,'order_echart');//订单图表
                 this.setChart(self.$refs.user_echart,'user_echart');//用户图表
                 this.info();
                 this.getlist();

+ 96 - 1
app/admin/view/user/user/index.php

@@ -65,7 +65,7 @@
                         <div class="layui-inline">
                             <label class="layui-form-label">姓名编号:</label>
                             <div class="layui-input-inline">
-                                <input type="text" name="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
+                                <input type="text" name="nickname" id="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
                             </div>
                         </div>
                         <div class="layui-inline">
@@ -186,6 +186,12 @@
                             </div>
                         </div>
                     </div>
+                    <div class="layui-col-lg12" id="app1">
+                        <button @click="excel" type="button"
+                                class="layui-btn layui-btn-warm layui-btn-sm export" type="button">
+                            <i class="fa fa-floppy-o" style="margin-right: 3px;"></i>导出
+                        </button>
+                    </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label">
                             <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
@@ -574,5 +580,94 @@
         }
     }
 
+    require(['vue'], function (Vue) {
+        new Vue({
+            el: "#app1",
+            data: {
+                badge: [],
+                where: {
+                    nickname: '',
+                    group: '',
+                    excel: 0,
+                },
+                showtime: false,
+            },
+            watch: {
+                'where.status': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.data': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.pay_type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                }
+            },
+            methods: {
+                setData: function (item) {
+                    var that = this;
+                    if (item.is_zd == true) {
+                        that.showtime = true;
+                        this.where.data = this.$refs.date_time.innerText;
+                    } else {
+                        this.showtime = false;
+                        this.where.data = item.value;
+                    }
+                },
+                getBadge: function () {
+                    var that = this;
+                    layList.basePost(layList.Url({c: 'order.store_order', a: 'getBadge'}), this.where, function (rem) {
+                        that.badge = rem.data;
+                    });
+                },
+                search: function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                refresh: function () {
+                    layList.reload();
+                    this.getBadge();
+                },
+                excel: function () {
+
+                    var nickname = $('#nickname').val();
+                    var group = $('#group').val();
+
+                    this.where['nickname'] = nickname;
+                    this.where['group'] = group;
+                    this.where.excel = 1;
+                    location.href = layList.U({c: 'user.user', a: 'get_user_list', q: this.where});
+                    this.where.excel = 0;
+                }
+            },
+            mounted: function () {
+                var that = this;
+                that.getBadge();
+                window.formReload = this.search;
+                layList.laydate.render({
+                    elem: this.$refs.date_time,
+                    trigger: 'click',
+                    eventElem: this.$refs.time,
+                    range: true,
+                    change: function (value) {
+                        that.where.data = value;
+                    }
+                });
+            }
+        })
+    });
+
 </script>
 {/block}

+ 3 - 3
crmeb/repositories/OrderRepository.php

@@ -107,14 +107,14 @@ class OrderRepository
     public static function storeProductOrderUserTakeDelivery($order, $uid)
     {
         $res1 = StoreOrder::gainUserIntegral($order);
-        $res3 = StoreOrder::gainWhiteIntegral($order);
-        $res4 = StoreOrder::gainBusinessIntegral($order);
+//        $res3 = StoreOrder::gainWhiteIntegral($order);
+//        $res4 = StoreOrder::gainBusinessIntegral($order);
 //        $res2 = User::backOrderBrokerage($order);
         $res2 = User::sendBackOrderBrokerage($order);
         StoreOrder::orderTakeAfter($order);
         //满赠优惠券
         WechatUser::userTakeOrderGiveCoupon($uid, $order['total_price']);
-        if (!($res1 && $res2 && $res3 && $res4)) exception('收货失败!');
+        if (!($res1 && $res2)) exception('收货失败!');
     }
 
     /**

+ 1 - 1
crmeb/repositories/PaymentRepositories.php

@@ -51,7 +51,7 @@ class PaymentRepositories
     public static function wechatProduct(string $order_id = null)
     {
         try {
-            if (StoreOrder::where('add_time', '<=',strtotime('2022-8-5'))->where('order_id', $order_id)->where('paid', 1)->find()) return true;
+            if (StoreOrder::where('add_time', '<=',strtotime('2022-8-5'))->where('order_id', $order_id)->find()) return true;
             if (StoreOrder::be(['re_order_id' => $order_id])) return true;
             return StoreOrder::paySuccess($order_id);
         } catch (\Exception $e) {