ソースを参照

增加选项导出

linwu 3 日 前
コミット
be8a0e7e78

+ 32 - 0
app/love/controller/AdminActiveController.php

@@ -314,6 +314,38 @@ class AdminActiveController extends AdminBaseController
         $excel->export('三观匹配度', $title, $data);
     }
 
+    public function exportOutlookCount()
+    {
+        $outlook  = UserOutlookModel::all();
+        $user_ids = $outlook->column('user_id');
+        $userById = UserModel::where('id','in',$user_ids)->column('sex','id');
+
+        $data = [];
+        $title = [];
+        for ($i = 1; $i <= 10; $i++) {
+            $title[] = ["man{$i}","男问题{$i}"];
+            $title[] = ["woman{$i}","女问题{$i}"];
+            $data["man{$i}"] = [1=>0,2=>0,3=>0,4=>0];
+            $data["woman{$i}"] = [1=>0,2=>0,3=>0,4=>0];
+        }
+
+        foreach ($outlook as $v) {
+            if (!empty($userById[$v['user_id']])) {
+                $sex = $userById[$v['user_id']] == 1 ? 'man' : 'woman';
+                for ($i = 1; $i <= 10; $i++) {
+                    $data[$sex.$i][$v['question'.$i]]++;
+                }
+            }
+        }
+        $res = [];
+        foreach ($data as $k => $v) {
+            $res[$k] = "A:{$v[1]},B:{$v[2]},C:{$v[3]},D:{$v[4]}";
+        }
+        
+        $excel = new Excel();
+        $excel->export('选项统计', $title, [$res]);
+    }
+
     private function _matchOption($man, $woman)
     {
         $match_num = 0;

+ 1 - 0
public/themes/admin_simpleboot3/love/admin_active/index.html

@@ -44,6 +44,7 @@
                         <a class="btn btn-xs btn-primary" target="_blank" href="{:url('love/scene/randomPeople',array('id'=>$vo['id']))}">随机抽人</a>
                         <eq name="vo.id" value="2">
                             <a class="btn btn-xs btn-primary" target="_blank" href="{:url('love/AdminActive/exportOutlook',array('id'=>$vo['id']))}">导出三观匹配度</a>
+                            <a class="btn btn-xs btn-primary" target="_blank" href="{:url('love/AdminActive/exportOutlookCount',array('id'=>$vo['id']))}">导出选项统计</a>
                         </eq>
                     </td>
                 </tr>