From 45548df6bd13099f13ff18ffde3ba502524434bb Mon Sep 17 00:00:00 2001 From: spllzh <28668817@qq.com> Date: Sat, 16 Aug 2025 06:11:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=95=E9=9F=B3=E7=BB=9F=E8=AE=A1=EF=BC=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Langchain4jHeima20250803Application.java | 2 + src/main/java/com/rj/common/PasswordUtil.java | 1 + .../java/com/rj/common/ServiceManager.java | 1 + .../controller/AudioManagementController.java | 1 - .../controller/VideoManagementController.java | 23 +++++++++- .../com/rj/controller/sys/AuthController.java | 1 + .../com/rj/controller/sys/MenuController.java | 1 + .../com/rj/controller/sys/RoleController.java | 1 + .../rj/controller/sys/UserRoleController.java | 1 + .../java/com/rj/pojo/sys/LoginResponse.java | 1 + .../java/com/rj/service/sys/IMenuService.java | 1 + .../java/com/rj/service/sys/IRoleService.java | 1 + .../com/rj/service/sys/IUserRoleService.java | 1 + .../rj/service/sys/impl/MenuServiceImpl.java | 1 + .../rj/service/sys/impl/RoleServiceImpl.java | 1 + .../service/sys/impl/UserRoleServiceImpl.java | 1 + src/main/resources/mapper/sys/MenuMapper.xml | 1 + src/main/resources/sql/test_user_data.sql | 1 + src/main/resources/sql/update_user_table.sql | 1 + src/main/sql/audio_management.sql | 44 +++++++++++++++++++ 20 files changed, 84 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/rj/Langchain4jHeima20250803Application.java b/src/main/java/com/rj/Langchain4jHeima20250803Application.java index 9330b08..e0097cc 100644 --- a/src/main/java/com/rj/Langchain4jHeima20250803Application.java +++ b/src/main/java/com/rj/Langchain4jHeima20250803Application.java @@ -3,6 +3,7 @@ package com.rj; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; /** * @@ -13,6 +14,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; */ @MapperScan("com.rj.mapper") @SpringBootApplication +@EnableScheduling public class Langchain4jHeima20250803Application { public static void main(String[] args) { diff --git a/src/main/java/com/rj/common/PasswordUtil.java b/src/main/java/com/rj/common/PasswordUtil.java index 63df279..31fbcec 100644 --- a/src/main/java/com/rj/common/PasswordUtil.java +++ b/src/main/java/com/rj/common/PasswordUtil.java @@ -87,3 +87,4 @@ public class PasswordUtil { + diff --git a/src/main/java/com/rj/common/ServiceManager.java b/src/main/java/com/rj/common/ServiceManager.java index 9cc1aa5..1892e79 100644 --- a/src/main/java/com/rj/common/ServiceManager.java +++ b/src/main/java/com/rj/common/ServiceManager.java @@ -71,3 +71,4 @@ public class ServiceManager { return reservationService; } } + diff --git a/src/main/java/com/rj/controller/AudioManagementController.java b/src/main/java/com/rj/controller/AudioManagementController.java index eec4fe8..b2af7fc 100644 --- a/src/main/java/com/rj/controller/AudioManagementController.java +++ b/src/main/java/com/rj/controller/AudioManagementController.java @@ -169,7 +169,6 @@ public class AudioManagementController { List dealershipIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getDealershipId); List saleIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getSalesId); List projectIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getProjectId); - List customerIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getCustomerId); // 使用工具类批量获取关联数据 diff --git a/src/main/java/com/rj/controller/VideoManagementController.java b/src/main/java/com/rj/controller/VideoManagementController.java index 25affe9..20a9a85 100644 --- a/src/main/java/com/rj/controller/VideoManagementController.java +++ b/src/main/java/com/rj/controller/VideoManagementController.java @@ -2,6 +2,8 @@ package com.rj.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.rj.common.DataEnrichmentUtil; +import com.rj.entity.AudioManagement; import com.rj.entity.VideoManagement; import com.rj.service.IVideoManagementService; import io.swagger.v3.oas.annotations.Operation; @@ -116,6 +118,11 @@ public class VideoManagementController { } } + @Autowired + private DataEnrichmentUtil dataEnrichmentUtil; + + + /** * 分页查询视频列表 */ @@ -157,7 +164,21 @@ public class VideoManagementController { queryWrapper.orderByDesc(VideoManagement::getCreateTime); Page videoPage = videoManagementService.page(page, queryWrapper); - + + // 使用工具类提取ID列表 + List dealershipIds = DataEnrichmentUtil.extractIds(videoPage.getRecords(), VideoManagement::getDealershipId); + List salesIds = DataEnrichmentUtil.extractIds(videoPage.getRecords(), VideoManagement::getSalesId); + + // 使用工具类批量获取关联数据 + Map dealershipNameMap = dataEnrichmentUtil.getDealershipIdNameMap(dealershipIds); + Map saleNameMap = dataEnrichmentUtil.getSalesIdNameMap(salesIds); + + videoPage.getRecords().forEach(video -> { + video.setDealershipName(dealershipNameMap.get(video.getDealershipId())); + video.setSalesName(saleNameMap.get(video.getSalesId())); + }); + + result.put("success", true); result.put("message", "查询成功"); result.put("data", videoPage.getRecords()); diff --git a/src/main/java/com/rj/controller/sys/AuthController.java b/src/main/java/com/rj/controller/sys/AuthController.java index 687bc55..e5f7667 100644 --- a/src/main/java/com/rj/controller/sys/AuthController.java +++ b/src/main/java/com/rj/controller/sys/AuthController.java @@ -170,3 +170,4 @@ public class AuthController { + diff --git a/src/main/java/com/rj/controller/sys/MenuController.java b/src/main/java/com/rj/controller/sys/MenuController.java index 8957aaf..f1545fa 100644 --- a/src/main/java/com/rj/controller/sys/MenuController.java +++ b/src/main/java/com/rj/controller/sys/MenuController.java @@ -309,3 +309,4 @@ public class MenuController { + diff --git a/src/main/java/com/rj/controller/sys/RoleController.java b/src/main/java/com/rj/controller/sys/RoleController.java index 1521dbb..1a340d6 100644 --- a/src/main/java/com/rj/controller/sys/RoleController.java +++ b/src/main/java/com/rj/controller/sys/RoleController.java @@ -279,3 +279,4 @@ public class RoleController { + diff --git a/src/main/java/com/rj/controller/sys/UserRoleController.java b/src/main/java/com/rj/controller/sys/UserRoleController.java index a998270..9e04174 100644 --- a/src/main/java/com/rj/controller/sys/UserRoleController.java +++ b/src/main/java/com/rj/controller/sys/UserRoleController.java @@ -285,3 +285,4 @@ public class UserRoleController { + diff --git a/src/main/java/com/rj/pojo/sys/LoginResponse.java b/src/main/java/com/rj/pojo/sys/LoginResponse.java index 4dd0e8a..fb34722 100644 --- a/src/main/java/com/rj/pojo/sys/LoginResponse.java +++ b/src/main/java/com/rj/pojo/sys/LoginResponse.java @@ -36,3 +36,4 @@ public class LoginResponse { + diff --git a/src/main/java/com/rj/service/sys/IMenuService.java b/src/main/java/com/rj/service/sys/IMenuService.java index 71ed631..9da8aa4 100644 --- a/src/main/java/com/rj/service/sys/IMenuService.java +++ b/src/main/java/com/rj/service/sys/IMenuService.java @@ -18,3 +18,4 @@ public interface IMenuService extends IService { + diff --git a/src/main/java/com/rj/service/sys/IRoleService.java b/src/main/java/com/rj/service/sys/IRoleService.java index 91f77af..02050fa 100644 --- a/src/main/java/com/rj/service/sys/IRoleService.java +++ b/src/main/java/com/rj/service/sys/IRoleService.java @@ -18,3 +18,4 @@ public interface IRoleService extends IService { + diff --git a/src/main/java/com/rj/service/sys/IUserRoleService.java b/src/main/java/com/rj/service/sys/IUserRoleService.java index 1ec378e..7606b98 100644 --- a/src/main/java/com/rj/service/sys/IUserRoleService.java +++ b/src/main/java/com/rj/service/sys/IUserRoleService.java @@ -18,3 +18,4 @@ public interface IUserRoleService extends IService { + diff --git a/src/main/java/com/rj/service/sys/impl/MenuServiceImpl.java b/src/main/java/com/rj/service/sys/impl/MenuServiceImpl.java index 03ef9fd..9ac2b66 100644 --- a/src/main/java/com/rj/service/sys/impl/MenuServiceImpl.java +++ b/src/main/java/com/rj/service/sys/impl/MenuServiceImpl.java @@ -22,3 +22,4 @@ public class MenuServiceImpl extends ServiceImpl implements IM + diff --git a/src/main/java/com/rj/service/sys/impl/RoleServiceImpl.java b/src/main/java/com/rj/service/sys/impl/RoleServiceImpl.java index 3716a2d..d8b1ec1 100644 --- a/src/main/java/com/rj/service/sys/impl/RoleServiceImpl.java +++ b/src/main/java/com/rj/service/sys/impl/RoleServiceImpl.java @@ -22,3 +22,4 @@ public class RoleServiceImpl extends ServiceImpl implements IR + diff --git a/src/main/java/com/rj/service/sys/impl/UserRoleServiceImpl.java b/src/main/java/com/rj/service/sys/impl/UserRoleServiceImpl.java index 29a9ff5..3af1f93 100644 --- a/src/main/java/com/rj/service/sys/impl/UserRoleServiceImpl.java +++ b/src/main/java/com/rj/service/sys/impl/UserRoleServiceImpl.java @@ -22,3 +22,4 @@ public class UserRoleServiceImpl extends ServiceImpl i + diff --git a/src/main/resources/mapper/sys/MenuMapper.xml b/src/main/resources/mapper/sys/MenuMapper.xml index 88b009d..adb0b79 100644 --- a/src/main/resources/mapper/sys/MenuMapper.xml +++ b/src/main/resources/mapper/sys/MenuMapper.xml @@ -23,3 +23,4 @@ + diff --git a/src/main/resources/sql/test_user_data.sql b/src/main/resources/sql/test_user_data.sql index 1cad9c7..0fffa55 100644 --- a/src/main/resources/sql/test_user_data.sql +++ b/src/main/resources/sql/test_user_data.sql @@ -24,3 +24,4 @@ INSERT INTO `user_role` (`user_id`, `role_id`) VALUES + diff --git a/src/main/resources/sql/update_user_table.sql b/src/main/resources/sql/update_user_table.sql index a5f6770..1a8761f 100644 --- a/src/main/resources/sql/update_user_table.sql +++ b/src/main/resources/sql/update_user_table.sql @@ -14,3 +14,4 @@ WHERE `password` = 'e10adc3949ba59abbe56e057f20f883e'; -- 为original_password字段添加索引(可选) -- ALTER TABLE `user` ADD INDEX `idx_original_password` (`original_password`); + diff --git a/src/main/sql/audio_management.sql b/src/main/sql/audio_management.sql index e72a4b0..22368e3 100644 --- a/src/main/sql/audio_management.sql +++ b/src/main/sql/audio_management.sql @@ -73,3 +73,47 @@ CREATE TABLE `device_management` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备管理表'; + +-- 用于存储门店录音相关的统计数据 +CREATE TABLE `recording_statistics` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `dealership_id` bigint(20) NOT NULL COMMENT '门店ID', + `dealership_name` varchar(100) NOT NULL COMMENT '门店名称', + + -- 门店录音总时长相关字段 + `dealership_total_duration` bigint(20) NOT NULL DEFAULT 0 COMMENT '门店录音总时长(秒)', + `dealership_recording_count` int(11) NOT NULL DEFAULT 0 COMMENT '门店录音数量', + `dealership_avg_duration` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '门店录音平均时长(秒)', + + -- 个人录音相关字段 + `personal_total_duration` bigint(20) NOT NULL DEFAULT 0 COMMENT '个人录音总时长(秒)', + `personal_recording_count` int(11) NOT NULL DEFAULT 0 COMMENT '个人录音数量', + `personal_avg_duration` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '个人录音平均时长(秒)', + + -- 项目录音相关字段 + `project_recording_count` int(11) NOT NULL DEFAULT 0 COMMENT '项目录音总数', + `project_avg_duration` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '项目录音平均时长(秒)', + + -- 统计日期 + `statistics_date` date NOT NULL COMMENT '统计日期', + + -- 时间戳字段 + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + + PRIMARY KEY (`id`), + KEY `idx_statistics_date` (`statistics_date`) COMMENT '统计日期索引', + KEY `idx_dealership_id` (`dealership_id`) COMMENT '门店ID索引', + KEY `idx_created_at` (`created_at`) COMMENT '创建时间索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门店录音统计表'; + + + + + + + + + + +