- Rewrite project overview to match the current state of the codebase:
corrected db-stack contents (Postgres + RabbitMQ only; Redis is not in
docker-compose-db.yml, MQTT is in docker-compose-optional.yml), added
Makefile-based workflows (podman compose wrappers with REGISTRY/STACK
switches), listed the full set of dc3-common-* submodules and the new
dc3-driver-listening-virtual driver, and noted the reactive R<T> /
GrpcR response envelope and the lack of unit tests.
- Add a project-only rule instructing Claude to commit using the
claude[bot] GitHub identity (209825114+claude[bot]@users.noreply.github.com)
so Claude's commits show the real avatar on GitHub, matching how
Copilot's commits already render in this repo's history. The repo's
default git config is intentionally left untouched so the human
author's own commits keep their own identity.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
DriverRegisterServiceImpl was the last @GrpcClient holdout in
dc3-common-manager — it called TenantApi.selectByCode while processing
driver-registration requests from a driver. Swaps the stub for
TenantFacade so manager business code is now also @GrpcClient-free.
dc3-center-manager picks up facade-grpc and dc3.facade.mode=grpc to match
the distributed deployment.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
FilterService previously exposed raw gRPC DTOs (GrpcRTenantDTO,
GrpcRUserLoginDTO) on its interface, leaking protocol into the gateway
filter. This commit:
- Reshapes FilterService signatures to return facade BOs (FacadeTenantBO,
FacadeUserLoginBO) and renames methods for consistency
(getTenantDTO -> getTenant, getLoginDTO -> getUserLogin, getUserDTO -> getUser)
- Rewrites FilterServiceImpl to inject Tenant/User/UserLogin/TokenFacade
instead of four @GrpcClient stubs; TokenFacade returns a plain boolean
- Updates AuthenticGatewayFilter to use the new types
- Drops dc3-api-auth and grpc-client-spring-boot-starter from
dc3-common-gateway (no longer directly referenced); facade-grpc brings
them in transitively when gateway app runs in grpc mode
- dc3-gateway declares facade-grpc and pins dc3.facade.mode=grpc
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Replaces all six @GrpcClient BlockingStub usages in dc3-common-data
business logic with Facade calls:
- DeviceStatusServiceImpl: DeviceApi -> DeviceFacade
- DriverStatusServiceImpl: DriverApi + DeviceApi -> DriverFacade + DeviceFacade;
de-duplicates selectOnline/Offline logic along the way
- PointValueServiceImpl: PointApi -> PointFacade
- PointValueCommandServiceImpl: DriverApi -> DriverFacade
Business code no longer references GrpcXxxDTO / GrpcXxxQuery / BlockingStub
types at all. dc3-center-data declares facade-grpc and pins
dc3.facade.mode=grpc, keeping the distributed deployment behavior identical.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Adds three new modules that let business code call center services
through protocol-neutral interfaces instead of @GrpcClient stubs:
- dc3-common-facade-api: Device/Driver/Point + Tenant/User/UserLogin/Token
facade interfaces plus facade-owned BO/Query/Page types
- dc3-common-facade-local: in-process implementations backed by the
auth/manager services; zero serialization cost in single deployments
- dc3-common-facade-grpc: gRPC implementations holding BlockingStubs;
default mode for distributed deployments
Implementation selection is driven by dc3.facade.mode={local|grpc} via
@ConditionalOnProperty, with grpc as the matchIfMissing default. Wire-up
for dc3-center-single (dc3.facade.mode=local + facade-local dependency)
is included so the single-deployment mode is runnable out of the box.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Proto3 type resolution walks up the package hierarchy. After changing
package api.common.auth/data/manager to api.center.*, unqualified
references like GrpcR/GrpcBase (defined in api.common) can no longer
be resolved, causing PROTOC compile errors.
Revert package declarations to api.common.auth/data/manager while
keeping java_package as io.github.pnoker.api.center.* — java_package
is independent from proto package and controls Java output only.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- dc3-api/pom.xml: move <profiles> to after <build> per Maven POM
standard element ordering; move <dependencyManagement> before
<dependencies>
- driver_device.proto: rename driverConfigs/pointConfigs to
driver_configs/point_configs (proto3 snake_case convention)
- auth/data/manager protos: align package declaration from
api.common.xxx to api.center.xxx to match java_package option
- driver_entity.proto, driver_query.proto, driver_query_page.proto,
manager_query_page.proto: remove trailing blank lines
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix <inceptionYear> from '2016-2022' to '2016' in 20 pom.xml files
- Fix <scm> connection/developerConnection to use scm prefix in 22 pom.xml files
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Consolidate 19+ individual DC3 module version properties into single <dc3.version>
- Remove redundant <scope>compile</scope> from DC3 Api dependencyManagement entries
- Reorder elements: modules before properties, profiles after dependencyManagement
- Fix <scm> connection/developerConnection to use scm protocol prefix
- Fix <inceptionYear> from range '2016-2022' to correct single year '2016'
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Bump all module versions from 2025.11.1 to 2026.4.18.3
- Remove orphaned dc3-common-influx dependency and property from root pom.xml
- Standardize dependency comment style in dc3-common/pom.xml
- Merge gRPC dependency groups into single section in dc3-common-api
- Restructure Spring Integration MQTT and Eclipse Paho groups in dc3-common-mqtt
- Fix incorrect comment 'DC3 Common Exception' to 'DC3 Common Related' in dc3-common-postgres
- Add missing blank line before </dependencies> in dc3-common-driver
- Remove stray blank line in root pom.xml dependencyManagement
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Bump all module versions from 2025.11.1 to 2026.4.18.3
- Remove orphaned dc3-common-influx dependency and property from root pom.xml
- Standardize dependency comment style in dc3-common/pom.xml
- Merge gRPC dependency groups into single section in dc3-common-api
- Restructure Spring Integration MQTT and Eclipse Paho groups in dc3-common-mqtt
- Fix incorrect comment 'DC3 Common Exception' to 'DC3 Common Related' in dc3-common-postgres
- Add missing blank line before </dependencies> in dc3-common-driver
- Remove stray blank line in root pom.xml dependencyManagement
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updated JavaDoc comments across multiple classes, translating Chinese comments to English and providing detailed descriptions. This includes entity models, service implementations, and query objects, ensuring clarity on their purpose and functionality. Improved parameter and return value descriptions for better understanding and maintainability.