Przeglądaj źródła

合伙人分红记录-增加导出

sunxbiao 1 rok temu
rodzic
commit
ac9c8f42e3
1 zmienionych plików z 86 dodań i 0 usunięć
  1. 86 0
      app/controller/admin/user/User.php

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

@@ -30,6 +30,7 @@ use app\common\repositories\wechat\WechatNewsRepository;
30
 use app\common\repositories\wechat\WechatUserRepository;
30
 use app\common\repositories\wechat\WechatUserRepository;
31
 use app\validate\admin\UserNowMoneyValidate;
31
 use app\validate\admin\UserNowMoneyValidate;
32
 use app\validate\admin\UserValidate;
32
 use app\validate\admin\UserValidate;
33
+use crmeb\services\SpreadsheetExcelService;
33
 use FormBuilder\Exception\FormBuilderException;
34
 use FormBuilder\Exception\FormBuilderException;
34
 use think\App;
35
 use think\App;
35
 use think\db\exception\DataNotFoundException;
36
 use think\db\exception\DataNotFoundException;
@@ -1440,6 +1441,37 @@ class User extends BaseController
1440
     }
1441
     }
1441
 
1442
 
1442
     /**
1443
     /**
1444
+     * 获取统计导出
1445
+     */
1446
+    public function getStatisticsExcel($header,$arr,$title)
1447
+    {
1448
+        $filename = $title.'_'.date('YmdHis').'_'.rand(10000,99999);
1449
+        $name = $filename;
1450
+        $info = '生成时间:' . date('Y-m-d H:i:s',time());
1451
+        $suffix='xlsx';
1452
+        $path='extract';
1453
+        unset($_instance);
1454
+
1455
+        $_instance = SpreadsheetExcelService::instance_xin();
1456
+
1457
+        $_path =$_instance
1458
+            ->createOrActive()
1459
+            ->setExcelHeader($header)
1460
+            ->setExcelTile($title, $name, $info)
1461
+            ->setExcelContent($arr)
1462
+            ->excelSave($filename, $suffix, $path);
1463
+
1464
+        $domain = request()->domain();
1465
+        $data= [
1466
+            'name' => $filename.'.'.$suffix,
1467
+            'status' => 1,
1468
+            'path' => $domain.'/'.$_path
1469
+        ];
1470
+
1471
+        return $data;
1472
+    }
1473
+
1474
+    /**
1443
      * 获取合伙人分红记录
1475
      * 获取合伙人分红记录
1444
      * @return mixed
1476
      * @return mixed
1445
      * @throws DataNotFoundException
1477
      * @throws DataNotFoundException
@@ -1466,6 +1498,60 @@ class User extends BaseController
1466
             ->leftJoin('user_identity identity', 'identity.user_group_id=w.user_group')
1498
             ->leftJoin('user_identity identity', 'identity.user_group_id=w.user_group')
1467
             ->field('w.*,u.uid,u.account,u.real_name,u.nickname,identity.user_group_name')
1499
             ->field('w.*,u.uid,u.account,u.real_name,u.nickname,identity.user_group_name')
1468
             ->where($where);
1500
             ->where($where);
1501
+        // 导出
1502
+        $is_excel = request()->param('is_excel', 0);
1503
+        if ($is_excel == 1) {
1504
+            $data = $query->select();
1505
+            $arr = [];
1506
+            foreach ($data as $item) {
1507
+                $arr[] = [
1508
+                    $item['id'],
1509
+                    $item['nickname'],
1510
+                    $item['account'],
1511
+                    $item['user_group_name'],  // 合伙人等级
1512
+                    $item['start_time'],       // 账期开始时间
1513
+                    $item['end_time'],         // 账期结束时间
1514
+                    $item['performance'],      // 账期平台业绩
1515
+                    $item['red_envelope'],     // 账期内发放红包
1516
+                    $item['reality_performance'], // 实际分红业绩
1517
+                    $item['dividend_ratio'],   // 分红比例(%)
1518
+                    $item['dividend'],         // 分红金额
1519
+                    $item['performance_part'], // 个人小区业绩
1520
+                    $item['performance_part_all'], // 等级内小区业绩和
1521
+                    $item['part_money'],       // 小区业绩占比分红金额
1522
+                    $item['performance_total'], // 个人总业绩
1523
+                    $item['performance_total_all'], // 等级内总业绩和
1524
+                    $item['total_money'],      // 总业绩占比分红金额
1525
+                    $item['brokerage'],        // 分红佣金
1526
+                    $item['fugou'],            // 分红复购金
1527
+                    $item['radio'],            // 分红状态
1528
+                    $item['create_time'],      // 创建时间
1529
+                ];
1530
+            }
1531
+            return app('json')->success($this->getStatisticsExcel([
1532
+                'ID',
1533
+                '用户昵称',
1534
+                '用户账号',
1535
+                '合伙人等级',
1536
+                '账期开始时间',
1537
+                '账期结束时间',
1538
+                '账期平台业绩',
1539
+                '账期内发放红包',
1540
+                '实际分红业绩',
1541
+                '分红比例(%)',
1542
+                '分红金额',
1543
+                '个人小区业绩',
1544
+                '等级内小区业绩和',
1545
+                '小区业绩占比分红金额',
1546
+                '个人总业绩',
1547
+                '等级内总业绩和',
1548
+                '总业绩占比分红金额',
1549
+                '分红佣金',
1550
+                '分红复购金',
1551
+                '分红状态',
1552
+                '创建时间'
1553
+            ], $arr, '合伙人分红明细'));
1554
+        }
1469
 
1555
 
1470
         $query1 = clone($query);
1556
         $query1 = clone($query);
1471
         $query2 = clone($query);
1557
         $query2 = clone($query);