소스 검색

浏览记录统计,列表调整

openHj 10 달 전
부모
커밋
6bb017ef04

+ 10 - 2
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/browsing/BrowsingHistoryController.java

@@ -2,6 +2,8 @@ package com.fjhx.xmhjc.controller.browsing;
 
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.fjhx.xmhjc.entity.browsing.vo.StatisticVo;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -93,12 +95,18 @@ public class BrowsingHistoryController {
         long count = list.stream().filter(browsingHistoryVo -> DateUtil.isSameDay(browsingHistoryVo.getCreateTime(), DateUtil.date())).count();
         statisticVo.setToday(count);
         // 本周浏览量
-        long weekCount = list.stream().filter(browsingHistoryVo -> DateUtil.weekOfYear(DateUtil.date()) == browsingHistoryVo.getWeek()).count();
+        long weekCount = list.stream().filter(browsingHistoryVo -> DateUtil.weekOfYear(DateUtil.date()) == (ObjectUtil.isNull(browsingHistoryVo.getWeek())?0:browsingHistoryVo.getWeek().intValue())).count();
         statisticVo.setWeek(weekCount);
         // 本月浏览量
-        long monthCount = list.stream().filter(browsingHistoryVo -> DateUtil.month(DateUtil.date()) == browsingHistoryVo.getMonth()).count();
+        long monthCount = list.stream().filter(browsingHistoryVo -> DateUtil.month(DateUtil.date())+1 == (ObjectUtil.isNull(browsingHistoryVo.getMonth())?0:browsingHistoryVo.getMonth().intValue())).count();
         statisticVo.setMonth(monthCount);
 
         return statisticVo;
     }
+
+    @PostMapping("/classifiedList")
+    public Page<BrowsingHistoryVo> classifiedList(@RequestBody BrowsingHistorySelectDto dto) {
+        Page<BrowsingHistoryVo> list = browsingHistoryService.getClassifiedList(dto);
+        return list;
+    }
 }

+ 2 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/browsing/vo/BrowsingHistoryVo.java

@@ -13,5 +13,6 @@ import lombok.Setter;
 @Getter
 @Setter
 public class BrowsingHistoryVo extends BrowsingHistory {
-
+    private String browseDate;
+    private String browseCount;
 }

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/browsing/BrowsingHistoryMapper.java

@@ -1,5 +1,6 @@
 package com.fjhx.xmhjc.mapper.browsing;
 
+import com.fjhx.xmhjc.entity.browsing.dto.BrowsingHistorySelectDto;
 import com.fjhx.xmhjc.entity.browsing.po.BrowsingHistory;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -29,4 +30,5 @@ public interface BrowsingHistoryMapper extends BaseMapper<BrowsingHistory> {
      */
     Page<BrowsingHistoryVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<BrowsingHistory> wrapper);
 
+    Page<BrowsingHistoryVo> getClassifiedList(@Param("page") Page<Object> page, @Param("ew") IWrapper<BrowsingHistory> wrapper);
 }

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/browsing/BrowsingHistoryService.java

@@ -51,4 +51,6 @@ public interface BrowsingHistoryService extends BaseService<BrowsingHistory> {
     void delete(Long id);
 
     void addBrowsingHistory(AddBrowsingDto addBrowsingDto);
+
+    Page<BrowsingHistoryVo> getClassifiedList(BrowsingHistorySelectDto dto);
 }

+ 31 - 4
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/browsing/impl/BrowsingHistoryServiceImpl.java

@@ -36,8 +36,12 @@ public class BrowsingHistoryServiceImpl extends ServiceImpl<BrowsingHistoryMappe
     public List<BrowsingHistoryVo> getList(BrowsingHistorySelectDto dto) {
         IWrapper<BrowsingHistory> wrapper = getWrapper();
         wrapper.orderByDesc("bh", BrowsingHistory::getId);
-        wrapper.le("bh", BrowsingHistory::getCreateTime, DateUtil.endOfDay(new Date()));
-        wrapper.ge("bh", BrowsingHistory::getCreateTime, DateUtil.beginOfDay(new Date()));
+        if (dto.getBeginTime() != null) {
+            wrapper.ge("bh", BrowsingHistory::getCreateTime, DateUtil.beginOfDay(dto.getBeginTime()));
+        }
+        if (dto.getEndTime() != null) {
+            wrapper.le("bh", BrowsingHistory::getCreateTime, DateUtil.endOfDay(dto.getEndTime()));
+        }
         List<BrowsingHistoryVo> list = this.baseMapper.getList(wrapper);
         return list;
     }
@@ -46,8 +50,12 @@ public class BrowsingHistoryServiceImpl extends ServiceImpl<BrowsingHistoryMappe
     public Page<BrowsingHistoryVo> getPage(BrowsingHistorySelectDto dto) {
         IWrapper<BrowsingHistory> wrapper = getWrapper();
         wrapper.orderByDesc("bh", BrowsingHistory::getId);
-        wrapper.le("bh", BrowsingHistory::getCreateTime, DateUtil.endOfDay(new Date()));
-        wrapper.ge("bh", BrowsingHistory::getCreateTime, DateUtil.beginOfDay(new Date()));
+        if (dto.getBeginTime() != null) {
+            wrapper.ge("bh", BrowsingHistory::getCreateTime, DateUtil.beginOfDay(dto.getBeginTime()));
+        }
+        if (dto.getEndTime() != null) {
+            wrapper.le("bh", BrowsingHistory::getCreateTime, DateUtil.endOfDay(dto.getEndTime()));
+        }
         Page<BrowsingHistoryVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }
@@ -89,4 +97,23 @@ public class BrowsingHistoryServiceImpl extends ServiceImpl<BrowsingHistoryMappe
         browsingHistoryDto.setWeek(DateUtil.weekOfYear(createTime));
         add(browsingHistoryDto);
     }
+
+    @Override
+    public Page<BrowsingHistoryVo> getClassifiedList(BrowsingHistorySelectDto dto) {
+        IWrapper<BrowsingHistory> wrapper = getWrapper();
+        wrapper.orderByDesc("bh", BrowsingHistory::getYear);
+        wrapper.orderByDesc("bh", BrowsingHistory::getMonth);
+        wrapper.orderByDesc("bh", BrowsingHistory::getDay);
+        if (dto.getBeginTime() != null) {
+            wrapper.ge("bh", BrowsingHistory::getCreateTime, DateUtil.beginOfDay(dto.getBeginTime()));
+        }
+        if (dto.getEndTime() != null) {
+            wrapper.le("bh", BrowsingHistory::getCreateTime, DateUtil.endOfDay(dto.getEndTime()));
+        }
+        wrapper.groupBy("bh.name");
+        wrapper.groupBy("bh.year");
+        wrapper.groupBy("bh.month");
+        wrapper.groupBy("bh.day");
+        return baseMapper.getClassifiedList(dto.getPage(), wrapper);
+    }
 }

+ 13 - 0
hx-xmhjc/src/main/resources/mapper/browsing/BrowsingHistoryMapper.xml

@@ -31,4 +31,17 @@
             ${ew.customSqlSegment}
     </select>
 
+
+    <select id="getClassifiedList" resultType="com.fjhx.xmhjc.entity.browsing.vo.BrowsingHistoryVo">
+        SELECT
+            name AS name,
+            CONCAT(year, '-', LPAD(month, 2, '0'), '-', LPAD(day, 2, '0')) AS browseDate,
+            COUNT(*) AS browseCount
+        FROM
+            browsing_history bh
+            ${ew.customSqlSegment}
+
+    </select>
+
+
 </mapper>