商品属性添加删除数量修改

This commit is contained in:
zhh 2018-05-22 10:19:10 +08:00
parent 8ad969b131
commit aba49c58cb
3 changed files with 42 additions and 3 deletions

View File

@ -50,8 +50,11 @@ SpringSecurity登录改为Restful形式 | ✔
JWT登录、注册、获取token | ✔ JWT登录、注册、获取token | ✔
JTA事务处理 | ✔ JTA事务处理 | ✔
集成单元测试 | ✔ 集成单元测试 | ✔
OSS上传功能 | OSS上传功能 | ✔
优化po和dto的定义使用 |
SpringSecurity权限管理功能 | SpringSecurity权限管理功能 |
Elasticsearch搜索功能 |
MongoDb 日志存储功能 |
### 后台功能 ### 后台功能

View File

@ -2,6 +2,7 @@ package com.macro.mall.service;
import com.macro.mall.dto.PmsProductAttributeParam; import com.macro.mall.dto.PmsProductAttributeParam;
import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsProductAttribute;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@ -21,6 +22,7 @@ public interface PmsProductAttributeService {
/** /**
* 添加商品属性 * 添加商品属性
*/ */
@Transactional
int create(PmsProductAttributeParam pmsProductAttributeParam); int create(PmsProductAttributeParam pmsProductAttributeParam);
/** /**
@ -33,5 +35,6 @@ public interface PmsProductAttributeService {
*/ */
PmsProductAttribute getItem(Long id); PmsProductAttribute getItem(Long id);
@Transactional
int delete(List<Long> ids); int delete(List<Long> ids);
} }

View File

@ -2,8 +2,10 @@ package com.macro.mall.service.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.macro.mall.dto.PmsProductAttributeParam; import com.macro.mall.dto.PmsProductAttributeParam;
import com.macro.mall.mapper.PmsProductAttributeCategoryMapper;
import com.macro.mall.mapper.PmsProductAttributeMapper; import com.macro.mall.mapper.PmsProductAttributeMapper;
import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsProductAttribute;
import com.macro.mall.model.PmsProductAttributeCategory;
import com.macro.mall.model.PmsProductAttributeExample; import com.macro.mall.model.PmsProductAttributeExample;
import com.macro.mall.service.PmsProductAttributeService; import com.macro.mall.service.PmsProductAttributeService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -20,6 +22,8 @@ import java.util.List;
public class PmsProductAttributeServiceImpl implements PmsProductAttributeService { public class PmsProductAttributeServiceImpl implements PmsProductAttributeService {
@Autowired @Autowired
private PmsProductAttributeMapper productAttributeMapper; private PmsProductAttributeMapper productAttributeMapper;
@Autowired
private PmsProductAttributeCategoryMapper productAttributeCategoryMapper;
@Override @Override
public List<PmsProductAttribute> getList(Long cid, Integer type, Integer pageSize, Integer pageNum) { public List<PmsProductAttribute> getList(Long cid, Integer type, Integer pageSize, Integer pageNum) {
@ -34,7 +38,16 @@ public class PmsProductAttributeServiceImpl implements PmsProductAttributeServic
public int create(PmsProductAttributeParam pmsProductAttributeParam) { public int create(PmsProductAttributeParam pmsProductAttributeParam) {
PmsProductAttribute pmsProductAttribute = new PmsProductAttribute(); PmsProductAttribute pmsProductAttribute = new PmsProductAttribute();
BeanUtils.copyProperties(pmsProductAttributeParam, pmsProductAttribute); BeanUtils.copyProperties(pmsProductAttributeParam, pmsProductAttribute);
return productAttributeMapper.insertSelective(pmsProductAttribute); int count = productAttributeMapper.insertSelective(pmsProductAttribute);
//新增商品属性以后需要更新商品属性分类数量
PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId());
if(pmsProductAttribute.getType()==0){
pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()+1);
}else if(pmsProductAttribute.getType()==1){
pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()+1);
}
productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory);
return count;
} }
@Override @Override
@ -52,8 +65,28 @@ public class PmsProductAttributeServiceImpl implements PmsProductAttributeServic
@Override @Override
public int delete(List<Long> ids) { public int delete(List<Long> ids) {
//获取分类
PmsProductAttribute pmsProductAttribute = productAttributeMapper.selectByPrimaryKey(ids.get(0));
Integer type = pmsProductAttribute.getType();
PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId());
PmsProductAttributeExample example = new PmsProductAttributeExample(); PmsProductAttributeExample example = new PmsProductAttributeExample();
example.createCriteria().andIdIn(ids); example.createCriteria().andIdIn(ids);
return productAttributeMapper.deleteByExample(example); int count = productAttributeMapper.deleteByExample(example);
//删除完成后修改数量
if(type==0){
if(pmsProductAttributeCategory.getAttributeCount()>=count){
pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()-count);
}else{
pmsProductAttributeCategory.setAttributeCount(0);
}
}else if(type==1){
if(pmsProductAttributeCategory.getParamCount()>=count){
pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()-count);
}else{
pmsProductAttributeCategory.setParamCount(0);
}
}
productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory);
return count;
} }
} }