根据report文件夹的技术架构分析,目录结构如下:
| 文件夹 | 技术层级 | 技术作用 | 使用的技术框架/注解 |
|--------|----------|----------|-------------------|
| **controller/** | 控制层 | REST API端点定义,报表数据查询和导出接口 | JAX-RS (@Path, @GET), Spring (@Component) |
| **mapper/** | 数据访问层 | 复杂报表查询的数据映射接口 | MyBatis Plus (BaseMapper), @Param参数绑定 |
| **service/** | 服务层接口 | 报表业务逻辑接口定义 | 自定义业务接口,异常处理 |
| **service/impl/** | 服务实现层 | 报表数据聚合、业务逻辑具体实现 | Spring (@Service), 事务管理 |
| **vo/** | 视图对象层 | 报表展示数据的视图对象 | Lombok (@Data), 报表字段定义 |
## 技术架构特点分析
### 1. **报表专用架构**
- **VO替代DTO**:报表模块使用VO(View Object)而非DTO,更适合报表展示需求
- **复杂查询**:mapper层处理多表关联的复杂报表查询
- **数据导出**:支持报表数据的Excel导出功能
### 2. **技术实现特点**
```java
// VO层 - 报表专用视图对象
@Data
public class ProjectLeaseLedgerVO {
private String projectName; // 项目名称
private String tenantName; // 租户名称
private BigDecimal leaseArea; // 租赁面积
// ... 报表专用字段
}
// Mapper层 - 复杂报表查询
List<ProjectLeaseLedgerVO> selectProjectLeaseLedgerList(@Param("companyId") Integer companyId);
```
### 3. **与park模块的技术差异**
- **数据对象**:park用DTO,report用VO(更适合报表场景)
- **查询复杂度**:report需要复杂的多表关联查询
- **导出功能**:报表模块专门设计了数据导出接口
**总结**:report文件夹采用了报表专用的技术架构,VO层设计更贴合报表展示需求,支持复杂的多维度数据查询和导出功能。
ReportID: bf8e6af4-edc6-4072-9d0e-322a39b8bfe4
ConversationID: 8e8042bb-af11-4c4b-8c62-76c36ff696f2
- 环境配置
- window怎么配置java环境变量?
- Java基础语法
- 数据类型
- Java中的数据类型
- Java中的泛型容器
- Java中的JSONObject
- Java高级特性
- Maven
- jib-maven-plugin
- 什么是Spring Boot 的 parent pom?
- maven中各个生命周期的含义
- Spring Boot
- maven与spring boot 的关系
- Java中的连接池
- Spring JDBC
- Spring JDBC的概念
- JdbcTemplate常用的方法
- Spring中Bean的概念
- Spring中的抽象,通俗解释一下
- Spring中的事物
- Spring中的事物,通俗解释一下
- Spring中的事物抽象,常见的有哪些,列举一下
- Spring中常用的事物场景有哪些,列举一下
- Spring事务管理有哪些注解?
- Spring中使用事物处理订单的案例,列举说明一下
- Spring中声明式事务、分布式事务以及编程式事务的区别,列举一下
- 配置文件
- application-properties配置文件
- Spring Boot 的启动
- spring boot项目如何启动?
- 列举一下Spring Boot的启动过程
- SpringApplication.run方法
- Spring Boot 启动时有哪些接口?
- CommandLineRunner
- Spring Boot 的常用注解
- 系统注解
- 表格:系统注解
- @Override
- @Deprecated
- @SuppressWarnnings
- 使用在类名上的注解
- 表格:使用在类名上的注解
- @RestController
- @Controller
- @Service
- @Repository
- @Component
- @Configuration
- @Resource
- @Autowired
- @RequestMapping
- @GetMapping
- @PostMapping
- @Transactional
- @Qualifier
- 使用在方法上的注解
- 表格:使用在方法上的注解
- @RequestBody
- @PathVariable
- @Bean
- @ResponseBody
- @PreAuthorize
- 其他常用注解
- 表格:其他常用注解
- @EnableAutoConfiguration
- @SpringBootApplication
- @EnableScheduling
- @EnableAsync
- @ComponentScan
- @Aspec
- @ControllerAdvice
- @ExceptionHandler
- @Value
- @ConfigurationProperties
- @EnableConfigurationProperties
- @MapperScan
- @ApiOperation
- Validator验证的常用注解
- spring IoC容器
- Spring IoC容器依赖注入实现方式
- MyBatis
- paginationInterceptor
- @TableName
- @TableId
- @Param
- UrlBasedCorsConfigurationSource
- Lombok
- @Data
- @Slf4j
- @EqualsAndHashCode
- @Accessors
- 支付系统
- 1. 初始化mysql数据库流程
- 2. 初始化redis数据库的流程
- 3. 初始化rabbitmq服务
- 环球置业
- 1.模块目录结构分析
- 2. DTO(数据传输层)的核心作用
- 3. VO(视图对象层)
- 4. VO(视图对象层)和 DTO 数据传输层 的区别
