Forráskód Böngészése

教学活动统计分析bug处理

pans 6 hónapja
szülő
commit
f2003c5cb2

+ 60 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/TeachingActivityController.java

@@ -0,0 +1,60 @@
+package vip.xiaonuo.disk.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.disk.service.TeachingActivityService;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "教学活动分析")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@RequestMapping("/teachingActivity")
+public class TeachingActivityController {
+    @Resource
+    private TeachingActivityService teachingActivityService;
+
+
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("文档观看统计")
+    @GetMapping("/documentStatistic")
+    public CommonResult<Map<String, Object>> documentStatistic(@RequestParam(value = "courseId", required = false) String courseId,@RequestParam(value = "type",required = false) String type) {
+        return CommonResult.data(teachingActivityService.documentStatistic(courseId,type));
+    }
+
+
+
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("文档跳出分析")
+    @GetMapping("/documentJumpStatistic")
+    public CommonResult<Map<String, Object>> documentJumpStatistic(@RequestParam(value = "courseId", required = false) String courseId,@RequestParam(value = "type",required = false) String type) {
+        return CommonResult.data(teachingActivityService.documentJumpStatistic(courseId,type));
+    }
+
+
+
+
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("开课每日访问人数统计")
+    @GetMapping("/courseOpenStatistic")
+    public CommonResult<List<Map<String, Object>>> courseOpenStatistic(@RequestParam(value = "courseId", required = false) String courseId, @RequestParam(value = "type",required = false) String type) {
+        return CommonResult.data(teachingActivityService.courseOpenStatistic(courseId,type));
+    }
+
+
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("文档观看详细统计")
+    @GetMapping("/documentDetailStatistic")
+    public CommonResult<List<Map<String, Object>>> documentDetailStatistic(@RequestParam(value = "courseId", required = false) String courseId, @RequestParam(value = "type",required = false) String type) {
+        return CommonResult.data(teachingActivityService.documentDetailStatistic(courseId,type));
+    }
+}

+ 16 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/TeachingActivityMapper.java

@@ -0,0 +1,16 @@
+package vip.xiaonuo.disk.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface TeachingActivityMapper {
+    Map<String, Object> documentStatistic(@Param("courseId") String courseId, @Param("map") Map<String, Object> map);
+
+    Map<String, Object> documentJumpStatistic(@Param("courseId") String courseId, @Param("map") Map<String, Object> map);
+
+    List<Map<String, Object>> courseOpenStatistic(@Param("courseId") String courseId, @Param("map") Map<String, Object> map);
+
+    List<Map<String, Object>> documentDetailStatistic(@Param("courseId") String courseId, @Param("map") Map<String, Object> map);
+}

+ 16 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/TeachingActivityService.java

@@ -0,0 +1,16 @@
+package vip.xiaonuo.disk.service;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+public interface TeachingActivityService {
+    Map<String, Object> documentStatistic(String courseId,String type);
+
+    Map<String, Object> documentJumpStatistic(String courseId, String type);
+
+    List<Map<String, Object>> courseOpenStatistic(String courseId, String type);
+
+    List<Map<String, Object>> documentDetailStatistic(String courseId, String type);
+}

+ 73 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/TeachingActivityServiceImpl.java

@@ -0,0 +1,73 @@
+package vip.xiaonuo.disk.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import vip.xiaonuo.disk.mapper.TeachingActivityMapper;
+import vip.xiaonuo.disk.service.TeachingActivityService;
+import vip.xiaonuo.disk.util.AppUseAggregationUtil;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@Slf4j
+@Service
+public class TeachingActivityServiceImpl implements TeachingActivityService {
+    @Resource
+    private TeachingActivityMapper teachingActivityMapper;
+    @Override
+    public Map<String, Object> documentStatistic(String courseId,String type) {
+        Map<String, Object>  map=getTime(type);
+        return teachingActivityMapper.documentStatistic(courseId,map);
+    }
+
+    @Override
+    public Map<String, Object> documentJumpStatistic(String courseId, String type) {
+        Map<String, Object>  map=getTime(type);
+        return teachingActivityMapper.documentJumpStatistic(courseId,map);
+    }
+
+    @Override
+    public List<Map<String, Object>> courseOpenStatistic(String courseId, String type) {
+        Map<String, Object>  map=getTime(type);
+        return teachingActivityMapper.courseOpenStatistic(courseId,map);
+    }
+
+    @Override
+    public List<Map<String, Object>> documentDetailStatistic(String courseId, String type) {
+        Map<String, Object>  map=getTime(type);
+        return teachingActivityMapper.documentDetailStatistic(courseId,map);
+    }
+
+
+    public Map<String, Object> getTime(String type) {
+        Map<String,Object> map = new HashMap<>(2);
+        if(Objects.isNull(type)){
+            map.put("startTime", null);
+            map.put("endTime", null);
+            return map;
+        }
+        String startTime="";
+        String endTime= DateUtil.format(new Date(), "yyyy-MM-dd");
+        switch(type){
+            case "1":
+                startTime = AppUseAggregationUtil.offsetDay(endTime, -30, "yyyy-MM-dd");
+                break;
+            case "2":
+                startTime = AppUseAggregationUtil.offsetDay(endTime, -90, "yyyy-MM-dd");
+                break;
+            case "3":
+                startTime = AppUseAggregationUtil.offsetDay(endTime, -180, "yyyy-MM-dd");
+                break;
+            case "4":
+                startTime = AppUseAggregationUtil.offsetDay(endTime, -365, "yyyy-MM-dd");
+                break;
+            default:
+
+                break;
+        }
+        map.put("startTime", startTime);
+        map.put("endTime", endTime);
+        return map;
+    }
+}