后台系统关联属性添加新关联属性功能

g_develop
ddyd 3 weeks ago
parent cd100a43b1
commit ff3de3c16c

@ -5,7 +5,9 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.bookstore.bookmall.product.entity.AttrAttrgroupRelationEntity;
import com.bookstore.bookmall.product.entity.AttrEntity; 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.AttrService;
import com.bookstore.bookmall.product.service.CategoryService; import com.bookstore.bookmall.product.service.CategoryService;
import com.bookstore.bookmall.product.vo.AttrGroupRelationVo; import com.bookstore.bookmall.product.vo.AttrGroupRelationVo;
@ -35,12 +37,24 @@ public class AttrGroupController {
private CategoryService categoryService; private CategoryService categoryService;
@Autowired @Autowired
private AttrService attrService; private AttrService attrService;
@Autowired
private AttrAttrgroupRelationService relationService;
//添加关联属性
///product/attrgroup/attr/relation
@PostMapping("/attr/relation")
//自定义数据必须加@RequestBody
public R addRelation(@RequestBody List<AttrGroupRelationVo> vos) {
relationService.saveBatch(vos);
return R.ok();
}
//删除关联属性 //删除关联属性
///product/attrgroup/attr/relation/delete ///product/attrgroup/attr/relation/delete
@PostMapping("/attr/relation/delete") @PostMapping("/attr/relation/delete")
//自定义数据必须加@RequestBody //自定义数据必须加@RequestBody
private R deleteRelation(@RequestBody AttrGroupRelationVo[] vos) { public R deleteRelation(@RequestBody AttrGroupRelationVo[] vos) {
attrGroupService.deleteRelation(vos); attrGroupService.deleteRelation(vos);
return R.ok(); return R.ok();
} }
@ -48,7 +62,7 @@ public class AttrGroupController {
//查找有关联的属性 //查找有关联的属性
///product/attrgroup/{attrgroupId}/attr/relation ///product/attrgroup/{attrgroupId}/attr/relation
@GetMapping("/{attrgroupId}/attr/relation") @GetMapping("/{attrgroupId}/attr/relation")
private R attrRelation(@PathVariable("attrgroupId") Long attrgroupId) { public R attrRelation(@PathVariable("attrgroupId") Long attrgroupId) {
List<AttrEntity> entities = attrService.getRelationAttr(attrgroupId); List<AttrEntity> entities = attrService.getRelationAttr(attrgroupId);
return R.ok().put("data",entities); return R.ok().put("data",entities);
} }
@ -56,7 +70,7 @@ public class AttrGroupController {
//查找无关联属性 //查找无关联属性
//product/attrgroup/{attrgroupId}/noattr/ //product/attrgroup/{attrgroupId}/noattr/
@GetMapping("/{attrgroupId}/noattr/relation") @GetMapping("/{attrgroupId}/noattr/relation")
private R attrNoRelation(@PathVariable("attrgroupId") Long attrgroupId, public R attrNoRelation(@PathVariable("attrgroupId") Long attrgroupId,
@RequestParam Map<String, Object> params /*这个是分页参数*/) { @RequestParam Map<String, Object> params /*这个是分页参数*/) {
PageUtils page = attrService.getNoRelationAttr(params, attrgroupId); PageUtils page = attrService.getNoRelationAttr(params, attrgroupId);
return R.ok().put("page",page); return R.ok().put("page",page);

@ -1,9 +1,11 @@
package com.bookstore.bookmall.product.service; package com.bookstore.bookmall.product.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.bookstore.bookmall.product.vo.AttrGroupRelationVo;
import com.bookstore.common.utils.PageUtils; import com.bookstore.common.utils.PageUtils;
import com.bookstore.bookmall.product.entity.AttrAttrgroupRelationEntity; import com.bookstore.bookmall.product.entity.AttrAttrgroupRelationEntity;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -16,5 +18,7 @@ import java.util.Map;
public interface AttrAttrgroupRelationService extends IService<AttrAttrgroupRelationEntity> { public interface AttrAttrgroupRelationService extends IService<AttrAttrgroupRelationEntity> {
PageUtils queryPage(Map<String, Object> params); PageUtils queryPage(Map<String, Object> params);
void saveBatch(List<AttrGroupRelationVo> vos);
} }

@ -1,7 +1,13 @@
package com.bookstore.bookmall.product.service.impl; 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 org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -26,4 +32,15 @@ public class AttrAttrgroupRelationServiceImpl extends ServiceImpl<AttrAttrgroupR
return new PageUtils(page); return new PageUtils(page);
} }
@Override
public void saveBatch(List<AttrGroupRelationVo> vos) {
List<AttrAttrgroupRelationEntity> collect = vos.stream().map((vo) -> {
AttrAttrgroupRelationEntity attrAttrgroupRelationEntity = new AttrAttrgroupRelationEntity();
BeanUtils.copyProperties(vo, attrAttrgroupRelationEntity);
return attrAttrgroupRelationEntity;
}).collect(Collectors.toList());
this.saveBatch(collect);
}
} }

@ -67,6 +67,8 @@ public class AttrGroupServiceImpl extends ServiceImpl<AttrGroupDao, AttrGroupEnt
} }
} }
//我觉得这里应该再relationService中
@Override @Override
public void deleteRelation(AttrGroupRelationVo[] vos) { public void deleteRelation(AttrGroupRelationVo[] vos) {
//查找到attrRelationEntities //查找到attrRelationEntities

@ -64,7 +64,8 @@ public class AttrServiceImpl extends ServiceImpl<AttrDao, AttrEntity> implements
//保存基本数据 //保存基本数据
this.save(attrEntity); this.save(attrEntity);
//2、保存关联关系 //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(); AttrAttrgroupRelationEntity RelationEntity = new AttrAttrgroupRelationEntity();
RelationEntity.setAttrGroupId(attr.getAttrGroupId()); RelationEntity.setAttrGroupId(attr.getAttrGroupId());
RelationEntity.setAttrId(attr.getAttrId()); RelationEntity.setAttrId(attr.getAttrId());
@ -99,7 +100,7 @@ public class AttrServiceImpl extends ServiceImpl<AttrDao, AttrEntity> implements
if ("base".equalsIgnoreCase(attrType)) { if ("base".equalsIgnoreCase(attrType)) {
AttrAttrgroupRelationEntity relationEntity = RelationDao.selectOne( AttrAttrgroupRelationEntity relationEntity = RelationDao.selectOne(
new QueryWrapper<AttrAttrgroupRelationEntity>().eq("attr_id",attrEntity.getAttrId())); new QueryWrapper<AttrAttrgroupRelationEntity>().eq("attr_id",attrEntity.getAttrId()));
if (relationEntity!=null) { if (relationEntity!=null && relationEntity.getAttrGroupId()!=null) {
// log.info("查询到relation"); // log.info("查询到relation");
AttrGroupEntity attrGroupEntity = attrGroupDao.selectById(relationEntity.getAttrGroupId()); AttrGroupEntity attrGroupEntity = attrGroupDao.selectById(relationEntity.getAttrGroupId());
attrRespVo.setGroupName(attrGroupEntity.getAttrGroupName()); attrRespVo.setGroupName(attrGroupEntity.getAttrGroupName());

Loading…
Cancel
Save