Browse Source

Unread enquires

wfansh 4 months ago
parent
commit
a8fb079036

+ 7 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/service/impl/GADailyReportServiceImpl.java

@@ -8,6 +8,7 @@ import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
 import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.ImmutableTriple;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.adweb.common.util.DateUtil;
 import org.jeecg.modules.adweb.common.util.NumberUtil;
@@ -108,15 +109,16 @@ public class GADailyReportServiceImpl extends ServiceImpl<GADailyReportMapper, G
                 });
 
         // 3. 询盘数据补充
-        List<ImmutablePair<String, Long>> enquiryDailyCounts =
+        List<ImmutableTriple<String, Long, Long>> enquiryDailyCounts =
                 adwebEnquiryMapper.getEnquiryDailyCounts(siteCode, start, end);
-        for (ImmutablePair<String, Long> enquiryDailyCount : enquiryDailyCounts) {
-            if (!dailyStatsVOs.containsKey(enquiryDailyCount.getKey())) {
+        for (ImmutableTriple<String, Long, Long> enquiryDailyCount : enquiryDailyCounts) {
+            if (!dailyStatsVOs.containsKey(enquiryDailyCount.getLeft())) {
                 continue;
             }
 
-            DailyStatsVO dailyStatsVO = dailyStatsVOs.get(enquiryDailyCount.getKey());
-            dailyStatsVO.setEnquires(enquiryDailyCount.getValue().intValue());
+            DailyStatsVO dailyStatsVO = dailyStatsVOs.get(enquiryDailyCount.getLeft());
+            dailyStatsVO.setEnquires(enquiryDailyCount.getMiddle().intValue());
+            dailyStatsVO.setUnreadEnquires(enquiryDailyCount.getRight().intValue());
         }
 
         // 3. 根据日期排序并返回

+ 4 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/vo/report/SiteOverviewStatsVO.java

@@ -60,6 +60,8 @@ public class SiteOverviewStatsVO {
         @JsonIgnore private double pageViewsPerSession;
 
         private int enquires;
+
+        @JsonIgnore private int unreadEnquires;
     }
 
     public static SiteOverviewStatsVO fromDailyStats(List<DailyStatsVO> dailyStatsVOs) {
@@ -73,11 +75,13 @@ public class SiteOverviewStatsVO {
         int sessions = dailyStatsVOs.stream().mapToInt(DailyStatsVO::getSessions).sum();
         int pageViews = dailyStatsVOs.stream().mapToInt(DailyStatsVO::getPageViews).sum();
         int enquires = dailyStatsVOs.stream().mapToInt(DailyStatsVO::getEnquires).sum();
+        int unreadEnquires = dailyStatsVOs.stream().mapToInt(DailyStatsVO::getUnreadEnquires).sum();
 
         siteOverviewStatsVO.setTotalUsers(totalUsers);
         siteOverviewStatsVO.setSessions(sessions);
         siteOverviewStatsVO.setPageViews(pageViews);
         siteOverviewStatsVO.setEnquires(enquires);
+        siteOverviewStatsVO.setUnreadEnquires(unreadEnquires);
 
         // 2. 计算数据
         int numDays = dailyStatsVOs.size();

+ 4 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/mapper/AdwebEnquiryMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.ImmutableTriple;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.adweb.enquiry.dto.EnquiryDTO;
 import org.jeecg.modules.adweb.enquiry.dto.param.EnquirySearchDto;
@@ -69,14 +70,14 @@ public interface AdwebEnquiryMapper extends BaseMapper<AdwebEnquiry> {
     List<EnquiryListDto> getWastedEnquiry(String wasteEnquiryType, String ip, String email, String keyword, String searchText, String type, Integer siteId);
 
     /**
-     * 获取每日询盘数量
+     * 获取每日询盘数量及未读询盘数量
      *
      * @param siteCode
      * @param start
      * @param end
-     * @return List<Pair < String, Long>> -- MyBatis COUNT()方法默认类型为Long
+     * @return List<ImmutableTriple < String, Long, Long>> -- MyBatis COUNT()方法默认类型为Long
      */
-    List<ImmutablePair<String, Long>> getEnquiryDailyCounts(String siteCode, Date start, Date end);
+    List<ImmutableTriple<String, Long, Long>> getEnquiryDailyCounts(String siteCode, Date start, Date end);
 
     /**
      * 获取分时间段的询盘数量 - 今天,昨天,本周,上周,本月,上月,全部

+ 4 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/mapper/xml/AdwebEnquiryMapper.xml

@@ -304,10 +304,11 @@
         and t1.principal_type != 1
     </update>
 
-    <select id="getEnquiryDailyCounts" resultType="org.apache.commons.lang3.tuple.ImmutablePair">
+    <select id="getEnquiryDailyCounts" resultType="org.apache.commons.lang3.tuple.ImmutableTriple">
         SELECT
-        date_format(record_ctime, '%Y-%m-%d') `date`,
-        count(id) enquires
+        DATE_FORMAT(record_ctime, '%Y-%m-%d') AS `date`,
+        COUNT(id) AS enquires,
+        COUNT(CASE WHEN read_status = 0 THEN 1 END) AS unread
         FROM
         adweb_enquiry
         WHERE