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
Common patterns
- Patient sensitive information must be desensitized in logs
- Use Hutool utility classes for common operations
- Flowable for workflow, LiteFlow for rule engine