魏超 5 年 前
コミット
dda19682aa
共有1 個のファイルを変更した30 個の追加31 個の削除を含む
  1. 30
    31
      src/main/resources/mapper/statistic/TaActivityStaticMapper.xml

+ 30
- 31
src/main/resources/mapper/statistic/TaActivityStaticMapper.xml ファイルの表示

1401
         'live_share', 'group_share')
1401
         'live_share', 'group_share')
1402
         and t.org_id = #{orgId} group by t.share_person ) t
1402
         and t.org_id = #{orgId} group by t.share_person ) t
1403
         left join ta_person a on t.share_person = a.person_id
1403
         left join ta_person a on t.share_person = a.person_id
1404
-        left join ta_person b on t.share_person = b.person_id
1404
+        left join ta_person b on t.share_person = b.user_id
1405
         ) as visitNum on visitNum.person_id = person.person_id
1405
         ) as visitNum on visitNum.person_id = person.person_id
1406
 
1406
 
1407
         left join (
1407
         left join (
1413
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date <=
1413
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date <=
1414
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1414
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1415
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1415
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1416
-        and t.org_id = #{orgId} ) t
1416
+        and t.org_id = #{orgId} group by t.share_person ) t
1417
         left join ta_person a on t.share_person = a.person_id
1417
         left join ta_person a on t.share_person = a.person_id
1418
-        left join ta_person b on t.share_person = b.person_id
1418
+        left join ta_person b on t.share_person = b.user_id
1419
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1419
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1420
         <if test="colKey == null or colKey == ''">
1420
         <if test="colKey == null or colKey == ''">
1421
             order by person.create_date desc
1421
             order by person.create_date desc
1546
 
1546
 
1547
         ) as visitNum on visitNum.person_id = person.person_id
1547
         ) as visitNum on visitNum.person_id = person.person_id
1548
 
1548
 
1549
+        left join (
1550
+        SELECT t.visitNum, ifnull(a.person_id,b.person_id) AS person_id
1551
+        FROM (
1552
+        SELECT t.share_person, count(1) as visitNum
1553
+        FROM ta_share_person_from t
1554
+        WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S') AND t.create_date &lt;=
1555
+        DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S') AND t.target_type IN ('dynamic_share', 'h5_share', 'help_share',
1556
+        'live_share', 'group_share')
1557
+        and t.org_id = #{orgId} group by t.share_person ) t
1558
+        left join ta_person a on t.share_person = a.person_id
1559
+        left join ta_person b on t.share_person = b.user_id
1560
+        ) as visitNum on visitNum.person_id = person.person_id
1561
+
1549
         left join (
1562
         left join (
1550
 
1563
 
1551
-        SELECT count(1) as visitPersonNum, visitPersonNum.share_person as person_id
1564
+        SELECT t.visitPersonNum, ifnull(a.person_id,b.person_id) AS person_id
1552
         FROM (
1565
         FROM (
1553
-        select t.*, a.person_id From (
1554
-        SELECT count(1) as visitPersonNum , t.share_person
1566
+        SELECT count(DISTINCT t.person_id ) as visitPersonNum, t.share_person
1555
         FROM ta_share_person_from t
1567
         FROM ta_share_person_from t
1556
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
1568
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
1557
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1569
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1558
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1570
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1559
-        and t.org_id = #{orgId} group by t.person_id
1560
-        ) as t
1561
-        LEFT JOIN (
1562
-        SELECT a.person_id, b.user_id
1563
-        FROM ta_person a
1564
-        LEFT JOIN ta_user b
1565
-        ON a.user_id = b.user_id
1566
-        WHERE a.org_id = 84 ) as a
1567
-        ON t.share_person = a.person_id or t.share_person = a.user_id
1568
-        ) as visitPersonNum group by visitPersonNum.person_id
1569
-
1571
+        and t.org_id = #{orgId} group by t.share_person ) t
1572
+        left join ta_person a on t.share_person = a.person_id
1573
+        left join ta_person b on t.share_person = b.user_id
1570
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1574
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1575
+
1571
         <if test="colKey == null or colKey == ''">
1576
         <if test="colKey == null or colKey == ''">
1572
             order by person.create_date desc
1577
             order by person.create_date desc
1573
         </if>
1578
         </if>
2091
         From (
2096
         From (
2092
         SELECT count(1) as visitNum, t.person_id, t.create_date
2097
         SELECT count(1) as visitNum, t.person_id, t.create_date
2093
         FROM ta_share_person_from t
2098
         FROM ta_share_person_from t
2094
-        LEFT JOIN (
2095
-        SELECT a.person_id, b.user_id
2096
-        FROM ta_person a
2097
-        LEFT JOIN ta_user b
2098
-        ON a.user_id = b.user_id
2099
-        WHERE a.org_id = #{orgId} ) as a ON t.share_person = a.person_id or t.share_person = a.user_id
2100
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
2099
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
2101
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in
2100
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in
2102
         ('dynamic_share','h5_share','help_share','live_share', 'group_share')
2101
         ('dynamic_share','h5_share','help_share','live_share', 'group_share')
2103
-        and t.share_person = #{personId} group by t.person_id
2102
+        and
2103
+        (t.share_person = (select b.user_id from ta_person t left join ta_user b on t.user_id = b.user_id where t.person_id = #{personId})
2104
+        or t.share_person = #{personId})
2105
+        group by t.person_id
2104
         ) as t
2106
         ) as t
2105
 
2107
 
2106
         left join ta_person a on t.person_id = a.person_id
2108
         left join ta_person a on t.person_id = a.person_id
2158
         From (
2160
         From (
2159
         SELECT count(1) as visitNum, t.person_id, t.create_date
2161
         SELECT count(1) as visitNum, t.person_id, t.create_date
2160
         FROM ta_share_person_from t
2162
         FROM ta_share_person_from t
2161
-        LEFT JOIN (
2162
-        SELECT a.person_id, b.user_id
2163
-        FROM ta_person a
2164
-        LEFT JOIN ta_user b
2165
-        ON a.user_id = b.user_id
2166
-        WHERE a.org_id = #{orgId} ) as a ON t.share_person = a.person_id or t.share_person = a.user_id
2167
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
2163
         WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;=
2168
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in
2164
         DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in
2169
         ('dynamic_share','h5_share','help_share','live_share', 'group_share')
2165
         ('dynamic_share','h5_share','help_share','live_share', 'group_share')
2170
-        and t.share_person = #{personId} group by t.person_id
2166
+        and
2167
+        (t.share_person = (select b.user_id from ta_person t left join ta_user b on t.user_id = b.user_id where t.person_id = #{personId})
2168
+        or t.share_person = #{personId})
2169
+        group by t.person_id
2171
         ) as t
2170
         ) as t
2172
 
2171
 
2173
         left join ta_person a on t.person_id = a.person_id
2172
         left join ta_person a on t.person_id = a.person_id