当前位置: 首页> 房产> 建筑 > 东莞市十大广告公司_莱芜都市网人才招聘_最新新闻热点事件及评论_线上宣传渠道和宣传方式

东莞市十大广告公司_莱芜都市网人才招聘_最新新闻热点事件及评论_线上宣传渠道和宣传方式

时间:2025/7/13 17:13:31来源:https://blog.csdn.net/zw45607076875/article/details/146980176 浏览次数:0次
东莞市十大广告公司_莱芜都市网人才招聘_最新新闻热点事件及评论_线上宣传渠道和宣传方式

数据字典的转换逻辑可以灵活部署在不同层级,具体设计取决于系统需求和架构。以下是三种场景的对比和典型应用案例:
在这里插入图片描述


1. 前端转换(适合轻量级应用)

场景
• 字段选项固定且不频繁变动(如性别、学历)
• 需要快速实现,无需后端配合
• 移动端或静态页面应用

案例
• 维修类型字段在前端维护映射关系:

const repairTypeMap = {'1': '安装单', '2': '维修单','3': '验机&抄配置'
};
// 渲染时直接转换
displayText = repairTypeMap[backendData.repairType];

优点
• 减轻后端压力,响应更快
• 灵活调整显示名称(如“维修单”改为“设备维修”)

缺点
• 字典变更需发版前端
• 多端需同步维护映射表


2. 后端 Service 层转换(推荐方案)

场景
• 字段与业务强关联(如工单状态、服务类型)
• 需要动态权限控制(如不同角色看到不同字典项)
• 系统复杂度较高,需统一管理

案例(见你提供的代码):

// 1. 查询字典表生成映射
Map<String, String> repairTypeMap = dictService.getDictMap("REPAIR_TYPE");// 2. 转换编码为名称
hpbnVos.forEach(vo -> vo.setRepairType(repairTypeMap.get(vo.getRepairType())));

优点
• 逻辑集中,易维护
• 支持动态过滤(如停用某些字典项)
• 多端一致性(App/PC端共用同一逻辑)

缺点
• 增加后端负载
• 需设计字典表查询缓存


3. 数据库层转换(适合报表类系统)

场景
• 实时性要求低
• 需要复杂 SQL 统计(如跨表联查)
• 数据库性能足够

案例

SELECT h.order_no,(SELECT name FROM var_dict WHERE type='REPAIR_TYPE' AND code=h.repair_type) AS repair_type_name
FROM h3bn h;

优点
• 简化业务层逻辑
• 直接输出可读结果

缺点
• SQL 复杂度高
• 联查可能拖慢性能


结合图片的典型设计解析

第一张图片(工单列表)

前端显示:“维修类型”显示为“安装单”、“维修单”,但数据库存储编码(如 1, 2)。
实现方式:通过你提供的 CsHpOrH3hOrderServiceImpl 代码,后端 Service 层从字典表查询映射关系,遍历替换字段值。

第二张图片(开发环境)

SQL 直接查编码:SQL 中未关联字典表,说明转换逻辑未在数据库层实现。
右侧面板:数据库表结构显示 repair_type 字段为 varchar,存储编码而非名称,进一步验证转换在后端或前端完成。


设计建议

场景推荐方案理由
业务系统(如工单管理)后端 Service 层转换集中控制权限、支持动态更新字典、避免 SQL 复杂度
数据看板/报表数据库层转换直接输出可读结果,简化 BI 工具取数逻辑
轻量级移动端应用前端转换减少接口交互,提升响应速度

总结

数据字典转换的层级选择取决于:

  1. 变更频率:高频变动字段建议后端管理
  2. 性能要求:高并发场景优先前端或缓存
  3. 系统复杂度:多端协作系统推荐后端统一处理
  4. 开发资源:小团队可优先前端实现

你的系统当前采用 后端 Service 层转换,是兼顾灵活性和维护性的合理方案。

关键字:东莞市十大广告公司_莱芜都市网人才招聘_最新新闻热点事件及评论_线上宣传渠道和宣传方式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: