- Add GroupPersonSynExcludeFilter to @ComponentScan excludeFilters
- Filters out cn.cloudwalk.service.organization.config.GroupPersonSyn*
from component scanning, keeping only the starter module's version
- Service now starts successfully from fat JAR without bean conflicts
- Copy recognition-logback.xml to starter/src/main/resources/
- Set logging.config=classpath:recognition-logback.xml
- Eliminates dependency on external --logging.config parameter
- messages basename: drop _zh_CN suffix (Spring auto-appends locale),
eliminating repeated ResourceBundle WARN during every request
- OrganizationServer: add @EventListener(ContextClosedEvent)
with 30s drain delay to let in-flight requests complete
before bean destruction begins
TenantVisitorFloorPolicyService:
- [POLICY-HIT] log when policy matched with orgId, policyId, allowZones
- [POLICY-MISS] debug log when no policy found for orgId
- [POLICY-EMPTY] warn when allow_zone_ids parsed empty
- [POLICY-FALLBACK] warn on query failure with orgId context
- [POLICY-RESULT] info on matched orgId and zones in batch check
ImgPersonServiceImpl.detail():
- [DETAIL] log raw floorList from listByImageId
- [DETAIL-POLICY] log floorList REPLACED: before→after with orgIds
- [DETAIL] warn when listByImageId fails
ImgPersonServiceImpl.listByPage():
- [LIST-PAGE-POLICY] log policy hit with zone count and default
- [LIST-PAGE-XHW] debug log for 40F/6F hardcoded branch
- [LIST-PAGE-FILTER] debug log when visitor label filtered
PersonRuleServiceImpl.addVisitor():
- [ADDV-DETAIL] log detail floorList and orgIds