问题描述: - 社区权益激活后,用户收不到奖励 - 错误: SyntaxError: Cannot convert D25121400002 to a BigInt - 原因: accountSequence 格式为 D25121400002 (D+日期+序号),直接 BigInt() 转换失败 修改方案: - 新增 parseAccountSequenceToUserId() 辅助方法 - 如果 accountSequence 以字母开头,去掉第一个字符后再转 BigInt - 影响 5 个方法: calculateProvinceTeamRight, calculateProvinceAreaRight, calculateCityTeamRight, calculateCityAreaRight, calculateCommunityRight 技术背景: - accountSequence 格式: D25121400002 (用户) / S0000000001 (固定系统账户) / 9440000 (省系统) - 省市系统账户在 authorization-service 动态创建,identity-service 中不存在 - reward-service 的 userId 字段实际业务中不被使用 (查询用 accountSequence) 潜在隐患: 1. userId 字段存储的不是 identity-service 中的真实 userId - D25121400002 -> 25121400002 (不是真实的自增 userId) - S0000000001 -> 1 (恰好匹配固定系统账户) - 9440000 -> 9440000 (省系统账户,本无字母前缀) 2. 如果未来 reward-service 需要与 identity-service 关联查询,可能出现问题 3. 建议后续考虑: 将 userId 改为可选字段,或完全移除该字段依赖 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| backend | ||
| docs | ||
| frontend | ||
| kubernetes | ||
| scripts | ||
| tests | ||
| .gitignore | ||
| README.md | ||
| docker-compose.yml | ||