第二十一章第一节:规格参数添加功能
规则参数保存请求:/product/attr/save
请求参数:
{
attrGroupId: 7,
attrName: "包装清单",
attrType: 1,
catelogId: 225,
enable: 1,
icon: "xx",
searchType: 1,
showDesc: 1,
t: 1623835934378,
valueSelect: "手机;说明书;充电器",
valueType: 1
}
响应数据示例:
{
"msg": "success",
"code": 0
}
操作数据库表:
pms_attr(保存基本属性)
pms_attr_attrgroup_relation(保存规格参数和属性分组的关联关系)
1、创建前端页面传递参数的vo对象
com.applesnt.onlinemall.product.vo.AttrVo
package com.applesnt.onlinemall.product.vo;
import lombok.Data;
/*
* 规格参数:前端请求参数的数据对象
* */
@Data
public class AttrVo {
/**
* 属性id
*/
private Long attrId;
/**
* 属性名
*/
private String attrName;
/**
* 是否需要检索[0-不需要,1-需要]
*/
private Integer searchType;
/**
* 属性图标
*/
private String icon;
/**
* 可选值列表[用逗号分隔]
*/
private String valueSelect;
/**
* 属性类型[0-销售属性,1-基本属性,2-既是销售属性又是基本属性]
*/
private Integer attrType;
/**
* 启用状态[0 - 禁用,1 - 启用]
*/
private Long enable;
/**
* 所属分类
*/
private Long catelogId;
/**
* 快速展示【是否展示在介绍上;0-否 1-是】,在sku中仍然可以调整
*/
private Integer showDesc;
/*属性分组id*/
private Long attrGroupId;
}
2、定义规格参数保存接口
com.applesnt.onlinemall.product.service.AttrService
void saveAttr(AttrVo attr);
3、定义规格参数保存接口实现
/*注入关联关系dao*/
@Autowired
AttrAttrgroupRelationDao relationDao;
@Transactional/*事务注解*/
@Override
public void saveAttr(AttrVo attr) {
/*创建数据库操作实体对象*/
AttrEntity attrEntity = new AttrEntity();
/*对象之间复制属性值*/
BeanUtils.copyProperties(attr,attrEntity);
/*保存*/
this.baseMapper.insert(attrEntity);
/*保存关联关系,同时把属性分组和规格参数的关系保存到pms_attr_attrgroup_relation中*/
AttrAttrgroupRelationEntity relationEntity = new AttrAttrgroupRelationEntity();
relationEntity.setAttrGroupId(attr.getAttrGroupId());
relationEntity.setAttrId(attrEntity.getAttrId());
relationDao.insert(relationEntity);
}
4、controller调用
com.applesnt.onlinemall.product.controller.AttrController
/**
* 规则属性保存,使用AttrVo接收前端传递过来的参数
*/
@RequestMapping("/save")
public R save(@RequestBody AttrVo attr){
attrService.saveAttr(attr);
return R.ok();
}

浙公网安备 33010602011771号