1.3 KiB
1.3 KiB
问题分析
根据日志和代码分析,发现号源列表显示"没有更多数据了"的问题原因:
- 后端查询正常:成功查询到5条符合条件的专家号源记录
- 数据转换失败:在
convertToDto方法中,fee字段类型转换错误 - 响应返回空列表:由于转换异常,最终返回给前端的号源列表为空
问题根源
Ticket实体类的fee字段为BigDecimal类型(数据库存储)TicketDto类的fee字段为String类型(前端展示)- 在
convertToDto方法中,直接将BigDecimal类型的fee赋值给String类型的fee,导致ClassCastException
修复方案
修改TicketAppServiceImpl.java文件中的convertToDto方法,将BigDecimal类型的fee转换为String类型:
// 原代码
dto.setFee(ticket.getFee());
// 修复后代码
dto.setFee(ticket.getFee().toString());
预期效果
- 修复后,后端能成功将
Ticket实体转换为TicketDto - 前端能接收到包含5条专家号源的完整列表
- 页面显示正常,不再出现"没有更多数据了"的提示
验证方法
- 重新启动项目,访问号源管理页面
- 选择"专家号"类型,查看是否能正确显示5条号源记录
- 检查日志,确认没有类型转换异常