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

develop
ddyd 2 weeks ago
parent cd100a43b1
commit ff3de3c16c

@ -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<AttrGroupRelationVo> 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<AttrEntity> 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<String, Object> params /*这个是分页参数*/) {
PageUtils page = attrService.getNoRelationAttr(params, attrgroupId);
return R.ok().put("page",page);

@ -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<AttrAttrgroupRelationEntity> {
PageUtils queryPage(Map<String, Object> params);
void saveBatch(List<AttrGroupRelationVo> vos);
}

@ -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<AttrAttrgroupR
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
public void deleteRelation(AttrGroupRelationVo[] vos) {
//查找到attrRelationEntities

@ -64,7 +64,8 @@ public class AttrServiceImpl extends ServiceImpl<AttrDao, AttrEntity> 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<AttrDao, AttrEntity> implements
if ("base".equalsIgnoreCase(attrType)) {
AttrAttrgroupRelationEntity relationEntity = RelationDao.selectOne(
new QueryWrapper<AttrAttrgroupRelationEntity>().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());

Loading…
Cancel
Save