Files
his/.qoder/rules/backend.md

1.7 KiB

description, paths
description paths
Backend development rules for HealthLink-HIS Java/Spring Boot code
healthlink-his-server/**/*.java
healthlink-his-server/**/pom.xml

Backend Development Rules

Architecture

  • Layered: Controller → AppService → Service → Mapper → Entity
  • Package: com.healthlink.his.web.{module}.{layer}
  • All queries use LambdaQueryWrapper, no string SQL concatenation
  • All endpoints require @PreAuthorize permission control
  • Use @Transactional(rollbackFor = Exception.class) for transaction management

Naming conventions

  • Controller: XxxController
  • AppService: IXxxAppService / XxxAppServiceImpl
  • Service: IXxxService / XxxServiceImpl
  • Mapper: XxxMapper
  • Entity: Xxx
  • DTO: XxxDto / XxxQueryDto

Iron Laws (Backend)

  • Iron Law 7: Never modify existing public method signatures (no delete/rename, no parameter changes)
  • Iron Law 18: Never break existing functionality when adding new features
  • Iron Law 19: Compile errors are your responsibility to fix, regardless of origin
  • Iron Law 6: Never delete existing Java source files

DTO Field Type Defense

  • Frontend Boolean fields → use String + business layer conversion (Jackson strict Boolean validation)
  • All DTOs accepting frontend input: add @JsonIgnoreProperties(ignoreUnknown = true)

Verification commands

cd healthlink-his-server
mvn clean compile -DskipTests    # Compile check
mvn install -DskipTests          # Build and install
mvn test                         # Run all tests

Common patterns

  • Patient sensitive information must be desensitized in logs
  • Use Hutool utility classes for common operations
  • Flowable for workflow, LiteFlow for rule engine