本文共 1394 字,大约阅读时间需要 4 分钟。
在AttrGroupServiceImpl
中,我们实现了对属性组的查询功能,支持模糊查询。这通过数据库查询的动态条件构建,确保灵活性和效率。具体实现如下:
@Overridepublic PageUtils queryPage(Mapparams, Long catalogId) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (catalogId != 0) { queryWrapper.eq("catalog_id", catalogId); } String key = (String) params.get("key"); if (StringUtils.isNotEmpty(key)) { queryWrapper.and(obj -> { obj.eq("attr_group_id", key).or().like("attr_group_name", key); }); } IPage page = this.page( new Query ()().getPage(params), queryWrapper ); return new PageUtils(page);}
当新增规格参数时,发现属性分组的关联数据未同步更新,初步猜测为数据传输问题。经过排查发现,该实体类缺少关联字段attrGroupId
,于是创建了新的VO类AttrVo
来处理属性分组信息。
选择创建新的VO类而非直接修改实体类,是出于以下考虑:
在saveAttr
方法中,我们使用AttrVo
进行参数接收和业务处理:
@Overridepublic void saveAttr(AttrVo attrVo) { AttrEntity attrEntity = new AttrEntity(); BeanUtils.copyProperties(attrVo, attrEntity); this.save(attrEntity); AttrAttrgroupRelationEntity relation = new AttrAttrgroupRelationEntity(); relation.setAttrGroupId(attrVo.getAttrGroupId()); relation.setAttrId(attrEntity.getAttrId()); attrAttrgroupRelationService.save(relation);}
通过以上方法,确保了数据传输过程的规范性和可维护性。希望这份经验分享能为您所用!
转载地址:http://sfezk.baihongyu.com/