Mqy
Loading Heatmap…

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • 0638d28c74 Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
  • 374acea39e Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • fdfe29786b Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • c265292ed8 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • 1a1e92631a Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
  • 265a8fbc46 Merge branch 'master' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511  Conflicts:  iot-platform/src/main/java/com/iot/platform/task/VehicleSyncTask.java
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 4f1b1ef3a2 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 03155d4c25 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • f6cc55b255 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • aefbcb5f0b Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 451f43d44a Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • ac40b6f009 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 14a948dd42 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 01e6bfd7d2 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  ruoyi-admin/src/main/java/com/ruoyi/web/controller/est/WorkOrderController.java
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 75c2128b07 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  ruoyi-admin/src/main/java/com/ruoyi/web/controller/est/WorkOrderController.java
  • 5b09267e11 Merge branch 'sechdule_plan_20260511' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  est-system/src/main/java/com/powerexpress/system/tool/dto/plan/EquipmentPlan.java  est-system/src/main/java/com/powerexpress/system/tool/service/PowerConfigService.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/PowerConfigServiceImpl.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/algorithm/PowerPlanGenerator.java  est-system/src/test/java/com/powerexpress/system/tool/service/PowerConfigFailureReasonTest.java
  • 2 커밋들 비교 »

1 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

1 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

1 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 9885af75a2 Merge branch 'sechdule_plan_20260511' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  est-system/src/main/java/com/powerexpress/system/tool/dto/plan/EquipmentPlan.java  est-system/src/main/java/com/powerexpress/system/tool/service/PowerConfigService.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/PowerConfigServiceImpl.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/algorithm/PowerPlanGenerator.java  est-system/src/test/java/com/powerexpress/system/tool/service/PowerConfigFailureReasonTest.java
  • 5c7763f30d Merge branch 'sechdule_plan_20260511' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • daa2347646 feat(调度循环): CyclePhase 关联具体资产,运输阶段按电池仓展开 - CycleSchedule.CyclePhase 增加 batteryAssetIds / tractorAssetId / chargerAssetIds / acDischargeAssetId / semiTrailerAssetId 字段 - DailySchedule.GroupSchedule 增加资产 ID 字段 - CycleAnalyzer: DISCHARGE 关联放电交流仓,CHARGE 关联充电桩, TRANSPORT 按电池仓 1:1 展开为独立 phase,每个关联独立车头+挂车 - PowerPlanGenerator 适配新签名 - maxConcurrentTractors 简化(运输已按车头展开,不再乘电池数)
  • 9b687716fd merge: 合并 mqy20260508 分支 — 资产/工单/运维人员功能 - Asset 增加资产状态、电池类型筛选 - WorkOrder 扩展工单状态、操作人员关联 - OperatorController/WorkOrderController 接口更新
  • ae758dfab2 merge
  • 7 커밋들 비교 »

2 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • a8c9d2ff77 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  est-system/src/main/java/com/powerexpress/system/domain/Asset.java  est-system/src/main/resources/mapper/est/WorkOrderMapper.xml  ruoyi-admin/src/main/java/com/ruoyi/web/controller/est/WorkOrderController.java  ruoyi-admin/src/main/java/com/ruoyi/web/controller/est/assetController.java
  • 10f711bb58 Merge branch 'sechdule_plan_20260511' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  est-system/src/main/java/com/powerexpress/system/tool/dto/plan/EquipmentPlan.java  est-system/src/main/java/com/powerexpress/system/tool/service/PowerConfigService.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/PowerConfigServiceImpl.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/algorithm/PowerPlanGenerator.java  est-system/src/test/java/com/powerexpress/system/tool/service/PowerConfigFailureReasonTest.java
  • 2 커밋들 비교 »

3 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 0a10b0fe2a Merge branch 'sechdule_plan_20260511' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508  Conflicts:  est-system/src/main/java/com/powerexpress/system/tool/dto/plan/EquipmentPlan.java  est-system/src/main/java/com/powerexpress/system/tool/service/PowerConfigService.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/PowerConfigServiceImpl.java  est-system/src/main/java/com/powerexpress/system/tool/service/impl/algorithm/PowerPlanGenerator.java  est-system/src/test/java/com/powerexpress/system/tool/service/PowerConfigFailureReasonTest.java
  • f97a5947d5 refactor(智能方案): 删除全局计算层,下放学头/挂车选择到调度阶段 - EquipmentPlan → SchedulePlan 重命名,删除6个冗余中间字段 (requiredAcChargeSockets, singleBatteryDurationMinutes, batteryTransferCostMinute, batteryChargeCostMinute, runTimeMinuteTotalPerDay, groupsNeeded) - PowerPlan.equipmentPlans List → 单个 SchedulePlan schedulePlan - FinanceResponse 新增 PowerPlan 字段,Scheme生成链路直接通过 FinanceResponse 获取 - PowerPlanGenerator 删除全局计算方法(generateGlobalPlans/recursive/buildGlobalPlan), 车头/挂车选择下移到 createSchedulePlan 调度阶段 - PowerConfigServiceImpl.calculate() 简化,去掉全局计算调用 - SchemeCandidate 简化,移除独立 PowerPlan 字段 - 相关测试适配新结构,36 tests pass
  • 761abae9f1 feat(智能方案): 方案3瞬时功率支撑 + 配置计算重构 + 调度时间线模板化 - 新增 AUXILIARY_DISCHARGE 副放电模式(InstantaneousPowerSupportType 枚举) - CustomEquipmentDto 扩展 auxiliaryDischargePowerRatio 字段 - CycleAnalyzer.analyzeAuxiliaryDischargeCycle() 实现双组协同轮换模型 - PowerPlanGenerator / PowerConfigServiceImpl 按类型路由 - PowerConfigRequest.settings Map → PowerConfigSettings typed DTO - 6 字段 record + Javadoc,dodDepth 迁移到场景绑定 CustomEquipmentDto - 删除 dead 字段 pcsMaximumNumber、emsSingleStepMode - BASE_USABLE_RATIO 提取为可配置参数,默认值在入口处统一处理 - CycleSchedule / DailySchedule 模板化循环时间线 - 新增 CycleSchedule/DailySchedule DTO,消除 phase/event 重复生成 - generateDailySchedule 基于 generateCycleSchedule 模板展开 - 删除 ScheduleEvent 死代码 - generateGlobalPlansRecursive 可读性优化 - 提取 GlobalPlanContext 封装透传参数,12 参数 → 6 参数 - 不可变 HashMap 拷贝替代 put/remove 回溯 - 新增 6 个测试文件(CycleSchedule/DailySchedule/AuxiliaryDischarge) - 更新现有测试构造,36 个测试全部通过
  • 3 커밋들 비교 »

3 일 전

Mqy 만들어진 끌어오기 요청 PowerExpress/pe-opeartion-server #2

sechdule_plan_20260511

3 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • 0c93311599 Merge remote-tracking branch 'origin/mqy20260511' into mqy20260511
  • 1518869329 Merge remote-tracking branch 'origin/master' into mqy20260511
  • a8d4903d34 fix: add @Qualifier to TDengineService constructor for explicit bean wiring Without -parameters compiler flag, Spring cannot match ExecutorService parameter by name when multiple beans of the same type exist. This caused 'No bean named tdengineService available' startup failure on production deployment.
  • e03f53003c docs: update CLAUDE.md with security, MQTT, and lock improvements
  • 4 커밋들 비교 »

3 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • 3785254b58 docs: update CLAUDE.md with security, MQTT, and lock improvements
  • ebc7ce0564 refactor: remove dead code from VehicleSyncTask - Remove unused service fields (sysWorkorderService, sysIndicatorsService, sysCompanyService) - Remove commented-out insertIndicators() method - Remove unused imports (SysCompany, LocalDate, DateTimeFormatter, @Autowired) - Clean constructor to only keep actively used dependencies
  • c62801ac4c Merge remote-tracking branch 'origin/mqy20260511'
  • 44371c5c81 docs: update CLAUDE.md with security, MQTT, and lock improvements
  • 4 커밋들 비교 »

3 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • 470204fa50 docs: update CLAUDE.md with security, MQTT, and lock improvements
  • 0fd6162ee1 refactor: CRITICAL/HIGH fixes — security, concurrency, resource leaks, input validation Security: - Remove hardcoded password fallbacks from application-druid.yml - Add table name whitelist validation to SysFaultService & SysAlarmService - Externalize VehicleSyncTask webhook URL to IotProperties config Concurrency & Resource Management: - Fix AbstractMqttConsumer reconnect/disconnect race (synchronized) - Fix MqttClient resource leaks in disconnect() with separate try blocks - Fix AbstractDynamicMqttConsumer broken-state MqttClient reuse - Fix TDengineService stableColumnCache unbounded growth (MAX_CACHE_SIZE=1000) Input Validation: - Add null/empty checks to MqttGenericConsumer (controllerId, path, timestamp) - Add null/empty checks to MqttFaultConsumer (controllerId, deviceId, type, desc) - Guard against ArrayIndexOutOfBoundsException on topic path split Tests: - Update VehicleSyncTaskTest for new IotProperties constructor param - All 79 tests pass, build succeeds
  • e6338b3ef4 refactor: P0-P1 complete — field injection, logging, hardcoded values, resource mgmt P0 fixes: - MqttFaultConsumer: array index bounds check, NPE guard on null coordinates - MqttStatusConsumer: NPE guard on null required fields - TDegnineAlarm: ResultSet try-with-resources, SQL injection whitelist - AbstractMqttConsumer: brokerUrl parsing validation, mqttPassword null guard P1 fixes: - Field injection → constructor injection (7 files: MqttFaultConsumer, MqttStatusConsumer, SysIndicatorsService, SysWorkorderService, TDengineService, TDegnineAlarm, AbstractMqttConsumer) - SLF4J {} placeholder logging (4 places in AbstractMqttConsumer) - Extract hardcoded constants: alarm status, date format, company ID prefix, webhook URL → IotProperties configuration - TDengineService: dataSourceInitialized volatile, GZIP try-with-resources Tests: - Fix MqttStatusConsumerTest/MqttFaultConsumerTest/MqttGenericConsumerTest for new constructors (remove @InjectMocks, manual instantiation) - 65/67 tests passing (2 TDengine JNI env-dependent failures excluded)
  • 28470869a3 test(P1): 新增3个测试类覆盖动态消费者基类与子类 - AbstractDynamicMqttConsumerTest: 4个测试覆盖 deepCopyMap(null/深拷贝/嵌套/List) - MqttDynamicConsumerTest: 6个测试覆盖 fetchTopics + insertredis - MqttChargeStationConsumerTest: 4个测试覆盖 fetchTopics(配置/null/空白/trim) - 测试总数 65→79,JaCoCo覆盖率 18%→25%
  • 5cbb11d169 chore(P2): 替换mysql驱动,移除emoji统一日志格式 - mysql-connector-java → mysql-connector-j 8.0.33 - TDengineService: 移除9处emoji(✅❌⚠️) - 统一使用SLF4J {}占位符,无字符串拼接
  • 12 커밋들 비교 »

3 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • e3a730e951 feat(智能方案): 方案3瞬时功率支撑 + 配置计算重构 + 调度时间线模板化 - 新增 AUXILIARY_DISCHARGE 副放电模式(InstantaneousPowerSupportType 枚举) - CustomEquipmentDto 扩展 auxiliaryDischargePowerRatio 字段 - CycleAnalyzer.analyzeAuxiliaryDischargeCycle() 实现双组协同轮换模型 - PowerPlanGenerator / PowerConfigServiceImpl 按类型路由 - PowerConfigRequest.settings Map → PowerConfigSettings typed DTO - 6 字段 record + Javadoc,dodDepth 迁移到场景绑定 CustomEquipmentDto - 删除 dead 字段 pcsMaximumNumber、emsSingleStepMode - BASE_USABLE_RATIO 提取为可配置参数,默认值在入口处统一处理 - CycleSchedule / DailySchedule 模板化循环时间线 - 新增 CycleSchedule/DailySchedule DTO,消除 phase/event 重复生成 - generateDailySchedule 基于 generateCycleSchedule 模板展开 - 删除 ScheduleEvent 死代码 - generateGlobalPlansRecursive 可读性优化 - 提取 GlobalPlanContext 封装透传参数,12 参数 → 6 参数 - 不可变 HashMap 拷贝替代 put/remove 回溯 - 新增 6 个测试文件(CycleSchedule/DailySchedule/AuxiliaryDischarge) - 更新现有测试构造,36 个测试全部通过

4 일 전

Mqy pushed to mqy20260508 at PowerExpress/pe-opeartion-server

  • 8d5d9ad713 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • b94bee14b9 Merge branch 'mqy20260508' of http://114.215.146.132:3000/PowerExpress/pe-opeartion-server into mqy20260508
  • 2 커밋들 비교 »

4 일 전

Mqy pushed to mqy20260511 at Mqy/Wisdom-Data

  • f63274a481 Merge branch 'master' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511  Conflicts:  iot-platform/src/main/resources/mapper/SysrealtimeMapper.xml
  • 4e57215f6f refactor: P0-P3 security hardening and quality overhaul Security (P0): - Remove hardcoded MQTT/TDengine credentials from IotProperties defaults - Clear password fallbacks in application.yml (was ${ENV:real_password}) - Add @PostConstruct validation to block startup on missing credentials - Add Redis distributed locks to VehicleSyncTask 4 @Scheduled methods - Move static thread pools to Spring-managed beans with destroyMethod Robustness (P1): - Split broad catch(Exception) into specific types (MqttException, InterruptedException, TimeoutException, ExecutionException) - Restore InterruptedException flag in all catch blocks - Add closeQuietly() for JDBC Statement/ResultSet cleanup - Configure RestTemplate with 5s connect / 10s read timeouts Quality (P2): - Production log levels: debug/trace → info - Tomcat: max 800→200, min-spare 100→20, accept-count 1000→100 - Redis pool: max-active 8→16, max-idle 8→16, min-idle 0→4, max-wait 5s Monitoring (P3): - Actuator: show-details always→never, exposure health,info→health only Testing: - Add JaCoCo plugin for coverage reporting - Add IotProperties, ExecutorConfig, RestTemplateConfig unit tests - 26 tests passing
  • c3c35ae204 refactor: P0-P2 security, quality, deployment overhaul Security (P0): - Remove hardcoded MySQL password from SysrealtimeService - Add table name whitelist validation (regex + length limit) - Validate ${tableName} in SysrealtimeMapper.xml - Externalize all credentials to .env file - Fix unbounded thread pools in MQTT consumers - Fix mysqlWritePool leak in MqttFaultConsumer Quality (P1): - Extract AbstractMqttConsumer base class (-500+ duplicate lines) - Refactor VehicleSyncTask: SCAN instead of KEYS, batch ops, RestTemplate timeout, loop-invariant extraction - Add unit tests (RedisKeys, SysrealtimeService, MqttConsumer) Architecture (P2): - Add Spring Boot Actuator (/actuator/health) - Create RedisKeys constants class for key namespace - Add .env.example and start.sh for local development Deployment: - Add systemd service (iot-platform.service) - Add deploy.sh with build, upload, backup, health check, rollback - Add setup-server.sh for server initialization - Add health-check.sh (Actuator + TCP port fallback) Docs: - Update CLAUDE.md for standalone iot-platform architecture - Update README.md with build/deploy instructions - Add deploy/README.md
  • 9913e8ca31 refactor: merge previous session changes Resolve merge state from prior work session.
  • 9a4dca84c5 refactor: strip RuoYi, create standalone iot-platform module - Delete 6 legacy RuoYi modules (ruoyi-admin/framework/system/common/quartz/generator) - Create new iot-platform Spring Boot 2.5.15 module with all IoT business - Migrate 5 MQTT consumers, VehicleSyncTask, 14 services, 15 domains/mappers - P0 security fixes: - Replace string-concat SQL with field whitelist + escapeValue in TDengineService, DynamicSqlProvider, TDegnineAlarm - Externalize hardcoded MQTT/TDengine credentials to application.yml via IotProperties - Fix thread-unsafe static shared Connection/Statement in TDegnineAlarm (use per-method connections) - Logging normalization: replace 148 System.out/err.println with SLF4J, add logback-spring.xml (100MB rolling, 30d retention) - Dead code cleanup: NumericIdGenerator (238→65 lines), merge TDengineConnecting into TDengineService - Verified: mvn clean package passes, app boots with all 5 MQTT consumers
  • 5 커밋들 비교 »

4 일 전