From ff3de3c16c5c438cefb32366c8f746c6fb4f23c4 Mon Sep 17 00:00:00 2001 From: ddyd <2073699128@qq.com> Date: Sat, 23 Aug 2025 18:27:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=B3=BB=E7=BB=9F=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=B1=9E=E6=80=A7=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=B1=9E=E6=80=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AttrGroupController.java | 20 ++++++++++++++++--- .../service/AttrAttrgroupRelationService.java | 4 ++++ .../AttrAttrgroupRelationServiceImpl.java | 17 ++++++++++++++++ .../service/impl/AttrGroupServiceImpl.java | 2 ++ .../product/service/impl/AttrServiceImpl.java | 5 +++-- 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/book-product/src/main/java/com/bookstore/bookmall/product/controller/AttrGroupController.java b/book-product/src/main/java/com/bookstore/bookmall/product/controller/AttrGroupController.java index daceec5..1c44afa 100644 --- a/book-product/src/main/java/com/bookstore/bookmall/product/controller/AttrGroupController.java +++ b/book-product/src/main/java/com/bookstore/bookmall/product/controller/AttrGroupController.java @@ -5,7 +5,9 @@ import java.util.List; import java.util.Map; +import com.bookstore.bookmall.product.entity.AttrAttrgroupRelationEntity; import com.bookstore.bookmall.product.entity.AttrEntity; +import com.bookstore.bookmall.product.service.AttrAttrgroupRelationService; import com.bookstore.bookmall.product.service.AttrService; import com.bookstore.bookmall.product.service.CategoryService; import com.bookstore.bookmall.product.vo.AttrGroupRelationVo; @@ -35,12 +37,24 @@ public class AttrGroupController { private CategoryService categoryService; @Autowired private AttrService attrService; + @Autowired + private AttrAttrgroupRelationService relationService; + + //添加关联属性 + ///product/attrgroup/attr/relation + @PostMapping("/attr/relation") + //自定义数据必须加@RequestBody + public R addRelation(@RequestBody List vos) { + relationService.saveBatch(vos); + return R.ok(); + } + //删除关联属性 ///product/attrgroup/attr/relation/delete @PostMapping("/attr/relation/delete") //自定义数据必须加@RequestBody - private R deleteRelation(@RequestBody AttrGroupRelationVo[] vos) { + public R deleteRelation(@RequestBody AttrGroupRelationVo[] vos) { attrGroupService.deleteRelation(vos); return R.ok(); } @@ -48,7 +62,7 @@ public class AttrGroupController { //查找有关联的属性 ///product/attrgroup/{attrgroupId}/attr/relation @GetMapping("/{attrgroupId}/attr/relation") - private R attrRelation(@PathVariable("attrgroupId") Long attrgroupId) { + public R attrRelation(@PathVariable("attrgroupId") Long attrgroupId) { List entities = attrService.getRelationAttr(attrgroupId); return R.ok().put("data",entities); } @@ -56,7 +70,7 @@ public class AttrGroupController { //查找无关联属性 //product/attrgroup/{attrgroupId}/noattr/ @GetMapping("/{attrgroupId}/noattr/relation") - private R attrNoRelation(@PathVariable("attrgroupId") Long attrgroupId, + public R attrNoRelation(@PathVariable("attrgroupId") Long attrgroupId, @RequestParam Map params /*这个是分页参数*/) { PageUtils page = attrService.getNoRelationAttr(params, attrgroupId); return R.ok().put("page",page); diff --git a/book-product/src/main/java/com/bookstore/bookmall/product/service/AttrAttrgroupRelationService.java b/book-product/src/main/java/com/bookstore/bookmall/product/service/AttrAttrgroupRelationService.java index c201b58..fd8489d 100644 --- a/book-product/src/main/java/com/bookstore/bookmall/product/service/AttrAttrgroupRelationService.java +++ b/book-product/src/main/java/com/bookstore/bookmall/product/service/AttrAttrgroupRelationService.java @@ -1,9 +1,11 @@ package com.bookstore.bookmall.product.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.bookstore.bookmall.product.vo.AttrGroupRelationVo; import com.bookstore.common.utils.PageUtils; import com.bookstore.bookmall.product.entity.AttrAttrgroupRelationEntity; +import java.util.List; import java.util.Map; /** @@ -16,5 +18,7 @@ import java.util.Map; public interface AttrAttrgroupRelationService extends IService { PageUtils queryPage(Map params); + + void saveBatch(List vos); } diff --git a/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrAttrgroupRelationServiceImpl.java b/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrAttrgroupRelationServiceImpl.java index 2b8d133..edb0683 100644 --- a/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrAttrgroupRelationServiceImpl.java +++ b/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrAttrgroupRelationServiceImpl.java @@ -1,7 +1,13 @@ package com.bookstore.bookmall.product.service.impl; +import com.bookstore.bookmall.product.vo.AttrGroupRelationVo; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; + +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -26,4 +32,15 @@ public class AttrAttrgroupRelationServiceImpl extends ServiceImpl vos) { + List collect = vos.stream().map((vo) -> { + AttrAttrgroupRelationEntity attrAttrgroupRelationEntity = new AttrAttrgroupRelationEntity(); + BeanUtils.copyProperties(vo, attrAttrgroupRelationEntity); + return attrAttrgroupRelationEntity; + }).collect(Collectors.toList()); + + this.saveBatch(collect); + } + } \ No newline at end of file diff --git a/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrGroupServiceImpl.java b/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrGroupServiceImpl.java index b8585c4..3be408d 100644 --- a/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrGroupServiceImpl.java +++ b/book-product/src/main/java/com/bookstore/bookmall/product/service/impl/AttrGroupServiceImpl.java @@ -67,6 +67,8 @@ public class AttrGroupServiceImpl extends ServiceImpl implements //保存基本数据 this.save(attrEntity); //2、保存关联关系 - if (attr.getAttrType() == ProductConstant.AttrEnum.ATTR_TYPE_BASE.getCode()) { + if (attr.getAttrType() == ProductConstant.AttrEnum.ATTR_TYPE_BASE.getCode() + && attr.getAttrGroupId()!=null) { AttrAttrgroupRelationEntity RelationEntity = new AttrAttrgroupRelationEntity(); RelationEntity.setAttrGroupId(attr.getAttrGroupId()); RelationEntity.setAttrId(attr.getAttrId()); @@ -99,7 +100,7 @@ public class AttrServiceImpl extends ServiceImpl implements if ("base".equalsIgnoreCase(attrType)) { AttrAttrgroupRelationEntity relationEntity = RelationDao.selectOne( new QueryWrapper().eq("attr_id",attrEntity.getAttrId())); - if (relationEntity!=null) { + if (relationEntity!=null && relationEntity.getAttrGroupId()!=null) { // log.info("查询到relation"); AttrGroupEntity attrGroupEntity = attrGroupDao.selectById(relationEntity.getAttrGroupId()); attrRespVo.setGroupName(attrGroupEntity.getAttrGroupName());