Explorar o código

小程序观看统计和token统计

xw hai 1 semana
pai
achega
70841d566b

+ 14 - 0
fs-admin/src/main/java/com/fs/course/controller/FsCourseWatchLogController.java

@@ -248,6 +248,20 @@ public class FsCourseWatchLogController extends BaseController
         return getDataTable(statisticsTables);
     }
 
+    /**
+     * 导出每个公司对应小程序观看人数统计
+     *
+     * @param fsCourseWatchLog
+     * @return
+     */
+    @Log(title = "小程序观看人数统计", businessType = BusinessType.EXPORT)
+    @GetMapping("/exportAppIdList")
+    public AjaxResult exportAppIdList(FsCourseWatchLogParam fsCourseWatchLog) {
+        List<StatisticsTable> statisticsTables = iStatisticsTableService.selectAppIdList(fsCourseWatchLog);
+        ExcelUtil<StatisticsTable> util = new ExcelUtil<StatisticsTable>(StatisticsTable.class);
+        return util.exportExcel(statisticsTables, "小程序观看人数统计数据");
+    }
+
     /**
      * 每个公司对应观看人数统计
      *

+ 27 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwPushCountController.java

@@ -204,4 +204,31 @@ public class QwPushCountController extends BaseController {
         rspData.setTotal(total);
         return rspData;
     }
+
+    /**
+     * 导出Token统计列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwPushCount:tokenExport')")
+    @Log(title = "Token统计", businessType = BusinessType.EXPORT)
+    @PostMapping("/tokenExport")
+    public AjaxResult tokenExport(@RequestBody FastGptPushTokenTotal pushTokenInfo) {
+        List<FastGptPushTokenTotal> list = qwPushCountService.selectFastGptPushTokenTotalList(pushTokenInfo);
+
+        // 计算总和
+        FastGptPushTokenTotal sumTotal = new FastGptPushTokenTotal();
+        sumTotal.setCompanyName("合计");
+        Long sum = list.stream().mapToLong(FastGptPushTokenTotal::getCount).sum();
+        sumTotal.setCount(sum);
+        // 计算合计金额
+        Double amountSum = list.stream()
+            .filter(item -> item.getAmount() != null)
+            .mapToDouble(FastGptPushTokenTotal::getAmount)
+            .sum();
+        sumTotal.setAmount(Math.round(amountSum * 100.0) / 100.0);
+
+        list.add(sumTotal); // 将合计行添加到列表末尾
+
+        ExcelUtil<FastGptPushTokenTotal> util = new ExcelUtil<FastGptPushTokenTotal>(FastGptPushTokenTotal.class);
+        return util.exportExcel(list, "Token统计数据");
+    }
 }

+ 6 - 1
fs-service/src/main/java/com/fs/course/domain/StatisticsTable.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
 import lombok.Data;
 
@@ -16,15 +17,19 @@ public class StatisticsTable {
     @TableId(type = IdType.AUTO)
     private Long id;// id
     private Long companyId;//公司id
+    @Excel(name = "公司名称")
     private String companyName;//公司名称
+    @Excel(name = "小程序id")
     private String appId;//小程序id
+    @Excel(name = "小程序名称")
     private String appName;//小程序名称
+    @Excel(name = "总观看人数")
     private Integer appAllNum;//总观看人数
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 }

+ 2 - 0
fs-service/src/main/resources/mapper/course/StatisticsTableMapper.xml

@@ -19,6 +19,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         company_name,
         app_id,
         app_name,
+        create_time,
+        update_time,
         sum(app_all_num) appAllNum
         FROM statistics_table
         <if test="beginTime != null and endTime != null">