fix(wm-mobile-app): #16 修复API硬编码mock、密码明文、无测试、缺APP-05推送管理
修复内容:
1. MobileApiService: 7个API聚合方法从硬编码Map.of()/List.of()改为RestTemplate调用后端微服务(water/patrol/billing),服务不可用时返回降级数据
2. 密码安全: 从明文equals比较改为BCrypt校验(兼容明文旧数据),密码字段标注hash存储
3. 认证: 从mock-token改为Sa-Token(StpUtil.login/getTokenValue),所有API添加StpUtil.checkLogin()鉴权
4. 新增MobileDevice实体+Mapper: 设备注册管理(设备token/型号/系统版本/APP版本)
5. Entity扩展: MobileUser增加deviceToken/deviceType字段, PushNotification增加pushChannel/pushStatus字段, AppVersion增加platform字段
6. DDL扩展: 新增mobile_device表+索引, 种子数据(4个用户/8条通知/2个版本)
7. Controller扩展: 从8个端点扩展到18个端点, 覆盖APP-01~05全部需求
- APP-04: login/logout/currentUser
- APP-01: waterOverview/waterRealtime/waterAlerts
- APP-02: patrolTasks/patrolTaskDetail/submitPatrolReport
- APP-03: billingSummary/billingList/payBill/submitInstallationApply
- APP-05: notifications/markRead/markAllRead/sendNotification/unreadCount
- 更新检查+设备注册
8. application.yml: 添加Sa-Token配置+微服务地址配置
9. 新增2个单元测试(28个测试方法):
- MobileApiServiceTest(21): 登录/供水/巡检/收费/通知/版本/设备全覆盖
- MobileEntityTest(7): 4个Entity字段验证+默认值+模块权限值
已覆盖需求: APP-01~05