当前位置: 首页 > wzjs >正文

西安企业网站建设多少钱wordpress商店结算

西安企业网站建设多少钱,wordpress商店结算,wordpress怎么添加自动推送代码,商务网站建设的优势一、场景痛点与解决方案 1. 问题背景 在 Excel 导入导出场景中,开发者常面临以下问题: 数据可读性差:数据库存储的字典值(如 1、true)直接导出时难以理解双向转换复杂:导入时需将用户输入的标签反向解析…

一、场景痛点与解决方案

1. 问题背景

在 Excel 导入导出场景中,开发者常面临以下问题:

  • 数据可读性差:数据库存储的字典值(如 1、true)直接导出时难以理解
  • 双向转换复杂:导入时需将用户输入的标签反向解析为存储值
  • 代码侵入性强:硬编码字典类型导致业务逻辑与字典管理耦合

2. 设计方案

在这里插入图片描述

二、核心实现解析

1. 注解驱动设计

在这里插入图片描述
代码示例

@Data
public class ConfigRespVO {// 导出列声明 + 字典类型绑定@ExcelProperty(value = "参数类型", converter = DictConvert.class)@DictFormat(DictTypeConstants.CONFIG_TYPE) private Integer type;
}

2. 双向转换流程

导出流程(值 → 标签)

Excel DictConvert DictService 请求转换值(1) getLabel("config_type", 1) "文本类型" 写入单元格 Excel DictConvert DictService

导入流程(标签 → 值)

Excel DictConvert DictService Java 读取单元格("文本类型") parseValue("config_type", "文本类型") "1" 设置Integer类型字段值 Excel DictConvert DictService Java

三、关键技术实现

1. 转换器核心类

@Slf4j
public class DictConvert implements Converter<Object> {@Overridepublic Class<?> supportJavaTypeKey() {throw new UnsupportedOperationException("暂不支持,也不需要");}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {throw new UnsupportedOperationException("暂不支持,也不需要");}@Overridepublic Object convertToJavaData(ReadCellData readCellData, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration) {// 使用字典解析String type = getType(contentProperty);String label = readCellData.getStringValue();//通过type(sex)和label(女)获取value(0)String value = DictFrameworkUtils.parseDictDataValue(type, label);if (value == null) {log.error("[convertToJavaData][type({}) 解析不掉 label({})]", type, label);return null;}// 将 String 的 value 转换成对应的属性Class<?> fieldClazz = contentProperty.getField().getType();return Convert.convert(fieldClazz, value);}@Overridepublic WriteCellData<String> convertToExcelData(Object object, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration) {// 空时,返回空if (object == null) {return new WriteCellData<>("");}// 使用字典格式化String type = getType(contentProperty);String value = String.valueOf(object);//通过type(sex)和value(0)获取label(女)String label = DictFrameworkUtils.getDictDataLabel(type, value);if (label == null) {log.error("[convertToExcelData][type({}) 转换不了 label({})]", type, value);return new WriteCellData<>("");}// 生成 Excel 小表格return new WriteCellData<>(label);}/*** 通过注解获取**/private static String getType(ExcelContentProperty contentProperty) {return contentProperty.getField().getAnnotation(DictFormat.class).value();}}

2. 注解定义

/*** 字典格式化* <p>* 实现将字典数据的值,格式化成字典数据的标签*/
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface DictFormat {/*** 例如说,SysDictTypeConstants、InfDictTypeConstants** @return 字典类型*/String value();
}

四、设计亮点总结

设计维度实现方案解决的问题
声明式配置通过组合注解实现配置解耦业务代码与字典逻辑
类型安全转换使用Hutool的Convert工具自动处理String→Integer等类型转换
统一异常处理捕获异常并记录错误日志避免Excel解析中断
可扩展性支持任意字典类型配置方便新增字典类型

五、最佳实践建议

1. 常量统一管理

建议创建字典类型常量类:

public class DictTypeConstants {public static final String CONFIG_TYPE = "infra_config_type";public static final String BOOLEAN_STRING = "sys_boolean_string";
}

2. 单元测试方案

public class DictConvertTest {@Testvoid testExport() {ConfigRespVO vo = new ConfigRespVO();vo.setType(1);// 导出验证Excel内容包含"文本类型"EasyExcel.write("test.xlsx", ConfigRespVO.class).sheet().doWrite(Collections.singletonList(vo));}@Testvoid testImport() {// 准备包含"文本类型"的Excel文件List<ConfigRespVO> list = EasyExcel.read("test.xlsx").head(ConfigRespVO.class).sheet().doReadSync();assertEquals(1, list.get(0).getType()); // 验证转换结果}
}

文章转载自:

http://De7GaSeR.bfLwj.cn
http://SqA5idNz.bfLwj.cn
http://19TkI5QA.bfLwj.cn
http://yNmg4K8j.bfLwj.cn
http://tSw2Yu7W.bfLwj.cn
http://pz6Xgtwq.bfLwj.cn
http://12SlVSpE.bfLwj.cn
http://Md5kwSJA.bfLwj.cn
http://ZdJD3T3X.bfLwj.cn
http://GNxtt9ji.bfLwj.cn
http://HVe2xkL2.bfLwj.cn
http://vxhNJaAa.bfLwj.cn
http://PzIQYcPg.bfLwj.cn
http://3edncZIq.bfLwj.cn
http://mQoUvGNS.bfLwj.cn
http://MersLSqz.bfLwj.cn
http://POiSADEx.bfLwj.cn
http://Lv9v16tT.bfLwj.cn
http://vu9BQjMJ.bfLwj.cn
http://BbJsDejS.bfLwj.cn
http://Vkpd4YOl.bfLwj.cn
http://OzRtsGbR.bfLwj.cn
http://SDonjH3n.bfLwj.cn
http://JX6kd2qP.bfLwj.cn
http://IsobDcuH.bfLwj.cn
http://3s1eFIJa.bfLwj.cn
http://xnEZ8Wtr.bfLwj.cn
http://PuTJVPb9.bfLwj.cn
http://1hWTLtkg.bfLwj.cn
http://Gk6DWmoh.bfLwj.cn
http://www.dtcms.com/wzjs/723563.html

相关文章:

  • 网站目标模板下载网站什么好
  • 做外贸需要网站吗wordpress贸易主题
  • 网站开发怎么用自己的电脑海沧网站制作
  • 重庆教育建设集团有限公司网站保定网站制作报价
  • 北京正规网站建设单价wordpress 关闭多站点
  • 庭院设计网站推荐服装公司电商网站建设规划
  • 简述网站建设的基本过程网站优化推广 视屏
  • 辽宁建设工程信息网官方网站网建
  • 企业建设网站目的公司网站公众号维护怎么做
  • 怎么用dede建设网站网站文案的重要性
  • 如何设计公司网站猪八戒包装设计
  • 郑州做网站推广运营商做壁纸壁的网站有什么
  • 汕头市企业网站建设教程百度浏览器官网下载并安装
  • wordpress 百家号国外网站seo免费
  • 网站设计制作新报价图片手机建网站挣钱吗
  • 营业执照几年不审自动注销贴吧aso优化贴吧
  • 中国建设银行英文网站网页资源下载
  • 海南建设局网站闵行广州网站建设公司
  • 网站建站平台源码深圳市住房和城乡建设厅网站首页
  • wap网站还用吗西安计算机培训机构哪个最好
  • 大连网站建设辽icp备后台登陆wordpress
  • 深圳龙岗网站建设公司沈阳建设工程质量检测中心网站
  • 宁城网站建设公司建设一个网站需要注意哪些内容
  • 网站app建设需要资源简单大气好记的公司名
  • 整套html企业网站模板旅游网站建设目标意义
  • 免费建网站软件爱网站免费一站二站
  • 网站建设费如何做账深圳十大龙头企业
  • 高端网站开发哪家专业网页设计公司蒙特
  • 高校门户网站建设需要多少钱深圳市房地产信息系统平台
  • 商场网站开发教程网站推广效果