Ver código fonte

update:首页看课统计

ct 1 semana atrás
pai
commit
0f5c063ff9

+ 21 - 7
fs-company/src/main/java/com/fs/company/controller/company/IndexStatisticsController.java

@@ -7,6 +7,7 @@ import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
 import com.fs.statis.StatisticsRedisConstant;
 import com.fs.statis.dto.*;
+import com.fs.statis.service.IStatisticsCompanyService;
 import com.fs.statis.service.IStatisticsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -31,6 +32,9 @@ public class IndexStatisticsController {
     @Autowired
     private IStatisticsService statisticsService;
 
+    @Autowired
+    private IStatisticsCompanyService statisticsCompanyService;
+
     /**
      * 分析概览
      */
@@ -49,7 +53,11 @@ public class IndexStatisticsController {
         }
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         param.setCompanyId(loginUser.getCompany().getCompanyId());
-        analysisPreviewDTO = redisCache.getCacheObject(String.format("%s:%d:%d:%d",DATA_OVERVIEW_DEALER_ANALYSISPREVIEW,type,userType,param.getCompanyId()));
+        if(type == 5) {
+            analysisPreviewDTO = statisticsCompanyService.analysisPreview(param);
+        } else {
+            analysisPreviewDTO = redisCache.getCacheObject(String.format("%s:%d:%d:%d",DATA_OVERVIEW_DEALER_ANALYSISPREVIEW,type,userType,param.getCompanyId()));
+        }
 
         return R.ok().put("data",analysisPreviewDTO);
     }
@@ -96,9 +104,14 @@ public class IndexStatisticsController {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         Long companyId = loginUser.getCompany().getCompanyId();
         param.setCompanyId(companyId);
+        List<WatchEndPlayTrendDTO> deaMemberTopTenDTOS = new ArrayList<>();
+        if(type == 5) {
+            deaMemberTopTenDTOS = statisticsCompanyService.watchEndPlayTrend(param);
+        } else {
+            String key = String.format("%s:%d:%d:%d", DATA_OVERVIEW_DEALER_CHARTS, type,userType,param.getCompanyId());
+            deaMemberTopTenDTOS = redisCache.getCacheObject(key);
+        }
 
-        String key = String.format("%s:%d:%d:%d", DATA_OVERVIEW_DEALER_CHARTS, type,userType,param.getCompanyId());
-        List<DeaMemberTopTenDTO> deaMemberTopTenDTOS = redisCache.getCacheObject(key);
         return R.ok().put("data", deaMemberTopTenDTOS);
     }
 
@@ -120,10 +133,11 @@ public class IndexStatisticsController {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         Long companyId = loginUser.getCompany().getCompanyId();
         param.setCompanyId(companyId);
-
-        List<DeaMemberTopTenDTO> deaMemberTopTenDTOS = redisCache.getCacheObject(String.format("%s:%d:%d:%d:%d", CHARTS_MEMBER_TOP_TEN_WATCH, type, statisticalType,userType,param.getCompanyId()));
-        if(deaMemberTopTenDTOS == null){
-            deaMemberTopTenDTOS = new ArrayList<>();
+        List<DeaMemberTopTenDTO> deaMemberTopTenDTOS = new ArrayList<>();
+        if(type == 5) {
+            deaMemberTopTenDTOS = statisticsCompanyService.deaMemberTopTen(param);
+        } else {
+            deaMemberTopTenDTOS = redisCache.getCacheObject(String.format("%s:%d:%d:%d:%d", CHARTS_MEMBER_TOP_TEN_WATCH, type, statisticalType,userType,param.getCompanyId()));
         }
         return R.ok().put("data", deaMemberTopTenDTOS);
     }

+ 1 - 1
fs-service/src/main/java/com/fs/statis/dto/AnalysisPreviewQueryDTO.java

@@ -10,7 +10,7 @@ import java.io.Serializable;
 public class AnalysisPreviewQueryDTO implements Serializable {
 
     /**
-     * 0 今日,1昨日,2本周,3本月,4上月
+     * 0 今日,1昨日,2本周,3本月,4上月,5自定义
      */
     private Integer type;
 

+ 6 - 1
fs-service/src/main/java/com/fs/statis/service/impl/StatisticsServiceImpl.java

@@ -1105,8 +1105,13 @@ public class StatisticsServiceImpl implements IStatisticsService {
 
     @Override
     public List<WatchCourseStatisticsResultDTO> getWatchCourseStatisticsData(AnalysisPreviewQueryDTO param) {
+        String redisData;
+        if (param.getType() != null && param.getType() == 5) {
+            redisData = "";
+        } else {
+            redisData = redisCache.getCacheObject(FsConstants.WATCH_COURSE_STATISTICS_GROUP_COMPANY + param.getType());
+        }
 
-        String redisData = redisCache.getCacheObject(FsConstants.WATCH_COURSE_STATISTICS_GROUP_COMPANY + param.getType());
         List<WatchCourseStatisticsResultDTO> watchCourseStatisticsDTOS = new ArrayList<>();
         if (StringUtils.isNotBlank(redisData)) {
             watchCourseStatisticsDTOS = JSONObject.parseArray(redisData, WatchCourseStatisticsResultDTO.class);

+ 2 - 2
fs-service/src/main/resources/mapper/statis/ConsumptionBalanceMapper.xml

@@ -174,7 +174,7 @@
                 DATE_FORMAT(create_time, '%H') AS start_date,
             </when>
             <!-- 按天分组 -->
-            <when test="type == 2 or type == 3 or type == 4">
+            <when test="type == 2 or type == 3 or type == 4 or type == 5">
                 DATE_FORMAT(create_time, '%Y-%m-%d') AS start_date,
             </when>
         </choose>
@@ -196,7 +196,7 @@
         GROUP BY
         <choose>
             <when test="type == 0 or type == 1">DATE_FORMAT(create_time, '%H')</when>
-            <when test="type == 2 or type == 3 or type == 4">DATE_FORMAT(create_time, '%Y-%m-%d')</when>
+            <when test="type == 2 or type == 3 or type == 4 or type == 5">DATE_FORMAT(create_time, '%Y-%m-%d')</when>
         </choose>
         ORDER BY
         start_date

+ 23 - 7
fs-user-app/src/main/java/com/fs/app/controller/course/CourseQwController.java

@@ -32,6 +32,7 @@ import com.fs.fastGpt.service.IFastgptEventLogTotalService;
 import com.fs.his.enums.FsUserOperationEnum;
 import com.fs.his.mapper.FsPackageMapper;
 import com.fs.his.service.IFsIntegralGoodsService;
+import com.fs.his.vo.FsPackageAndTypeListVO;
 import com.fs.his.vo.FsPackageListVO;
 import com.fs.sop.domain.QwSop;
 import com.fs.sop.service.IQwSopService;
@@ -53,6 +54,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -265,17 +267,31 @@ public class CourseQwController extends AppBaseController {
                 throw new RuntimeException(e);
             }
             if (jsonNode.isArray()) {
+                List<FsPackageAndTypeListVO> fsPackageListVOS = new ArrayList<>();
                 for (JsonNode node : jsonNode) {
-                    String packageId = node.path("packageId").asText();
-                    if (StringUtils.isNotEmpty(packageId)) {
-                        packageIds.add(packageId);
+                    String type = node.path("type").asText();
+                    if (StringUtils.isNotBlank(type) && "3".equals(type)) {
+                        FsPackageAndTypeListVO fsPackageListVO = new FsPackageAndTypeListVO();
+                        fsPackageListVO.setPackageId(node.path("packageId").asLong());
+                        fsPackageListVO.setPackageName(node.path("packageName").asText());
+                        fsPackageListVO.setSecondName(node.path("secondName").asText());
+                        fsPackageListVO.setTotalPrice(new BigDecimal(node.path("totalPrice").asText()));
+                        fsPackageListVO.setImgUrl(node.path("imgUrl").asText());
+                        fsPackageListVO.setType(3);
+                        fsPackageListVOS.add(fsPackageListVO);
+                    } else {
+                        String packageId = node.path("packageId").asText();
+                        if (StringUtils.isNotEmpty(packageId)) {
+                            packageIds.add(packageId);
+                        }
                     }
                 }
-                List<FsPackageListVO> fsPackageListVOS = new ArrayList<>();
+
                 if (!packageIds.isEmpty()) {
-                    fsPackageListVOS = fsPackageMapper.selectFsPackagesByIds(packageIds);
-                }else {
-                    fsPackageListVOS = new ArrayList<>();
+                    List<FsPackageAndTypeListVO>  fsPackageList= fsPackageMapper.selectFsPackagesByIds(packageIds);
+                    if (!fsPackageList.isEmpty()) {
+                        fsPackageListVOS.addAll(fsPackageList);
+                    }
                 }
                 course.setTreatmentPackage(fsPackageListVOS);
             }