|
@@ -2,8 +2,10 @@ package com.macro.mall.service.impl;
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.macro.mall.dto.PmsProductAttributeParam;
|
|
|
+import com.macro.mall.mapper.PmsProductAttributeCategoryMapper;
|
|
|
import com.macro.mall.mapper.PmsProductAttributeMapper;
|
|
|
import com.macro.mall.model.PmsProductAttribute;
|
|
|
+import com.macro.mall.model.PmsProductAttributeCategory;
|
|
|
import com.macro.mall.model.PmsProductAttributeExample;
|
|
|
import com.macro.mall.service.PmsProductAttributeService;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -20,6 +22,8 @@ import java.util.List;
|
|
|
public class PmsProductAttributeServiceImpl implements PmsProductAttributeService {
|
|
|
@Autowired
|
|
|
private PmsProductAttributeMapper productAttributeMapper;
|
|
|
+ @Autowired
|
|
|
+ private PmsProductAttributeCategoryMapper productAttributeCategoryMapper;
|
|
|
|
|
|
@Override
|
|
|
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) {
|
|
|
PmsProductAttribute pmsProductAttribute = new 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
|
|
@@ -52,8 +65,28 @@ public class PmsProductAttributeServiceImpl implements PmsProductAttributeServic
|
|
|
|
|
|
@Override
|
|
|
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();
|
|
|
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;
|
|
|
}
|
|
|
}
|