调整商品模块结构
This commit is contained in:
parent
a29fb12b8a
commit
03857426aa
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.enums.product;
|
||||
package cn.iocoder.mall.product.biz.enums.attr;
|
||||
|
||||
public class ProductAttrConstants {
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package cn.iocoder.mall.product.biz.enums.category;
|
||||
|
||||
public class ProductCategoryConstants {
|
||||
|
||||
/**
|
||||
* 父分类编号 - 根节点
|
||||
*/
|
||||
public static final Integer PID_ROOT = 0;
|
||||
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package cn.iocoder.mall.product.biz.enums.category;
|
||||
|
||||
import cn.iocoder.common.framework.core.IntArrayValuable;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/12
|
||||
* @Description: 商品分类状态枚举
|
||||
*/
|
||||
public enum ProductCategoryStatusEnum implements IntArrayValuable {
|
||||
|
||||
ENABLED(1, "启用"),
|
||||
DISABLED(2, "禁用");
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductCategoryStatusEnum::getStatus).toArray();
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private final Integer status;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
ProductCategoryStatusEnum(Integer status, String name) {
|
||||
this.status = status;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] array() {
|
||||
return ARRAYS;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
package cn.iocoder.mall.product.biz.enums.product;
|
||||
|
||||
public class ProductCategoryConstants {
|
||||
|
||||
/**
|
||||
* 状态 - 开启
|
||||
*/
|
||||
public static final Integer STATUS_ENABLE = 1;
|
||||
/**
|
||||
* 状态 - 关闭
|
||||
*/
|
||||
public static final Integer STATUS_DISABLE = 2;
|
||||
|
||||
/**
|
||||
* 父分类编号 - 根节点
|
||||
*/
|
||||
public static final Integer PID_ROOT = 0;
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.enums.product;
|
||||
package cn.iocoder.mall.product.biz.enums.spu;
|
||||
|
||||
public class ProductSpuConstants {
|
||||
|
|
@ -2,8 +2,8 @@ package cn.iocoder.mall.product.biz.convert.attr;
|
|||
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.product.biz.bo.attr.*;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrValueDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrValueDO;
|
||||
import cn.iocoder.mall.product.biz.dto.attr.ProductAttrUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.attr.ProductAttrValueAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.attr.ProductAttrValueUpdateDTO;
|
||||
|
|
|
@ -2,7 +2,7 @@ package cn.iocoder.mall.product.biz.convert.brand;
|
|||
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.product.biz.bo.brand.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.brand.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandUpdateDTO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package cn.iocoder.mall.product.biz.convert.category;
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.category.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateStatusDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
import java.util.List;
|
||||
|
@ -47,4 +48,11 @@ public interface ProductCategoryConvert {
|
|||
*/
|
||||
ProductCategoryDO convertToDO(ProductCategoryUpdateDTO productCategoryUpdateDTO);
|
||||
|
||||
/**
|
||||
* 更新商品分类状态 - DTO转换DO
|
||||
* @param productCategoryUpdateStatusDTO
|
||||
* @return
|
||||
*/
|
||||
ProductCategoryDO convertToDO(ProductCategoryUpdateStatusDTO productCategoryUpdateStatusDTO);
|
||||
|
||||
}
|
|
@ -2,9 +2,9 @@ package cn.iocoder.mall.product.biz.convert.product;
|
|||
|
||||
import cn.iocoder.common.framework.util.StringUtil;
|
||||
import cn.iocoder.mall.product.biz.bo.product.*;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSpuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.category.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSpuDO;
|
||||
import cn.iocoder.mall.product.biz.dto.product.ProductSkuAddOrUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.product.ProductSpuAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.product.ProductSpuUpdateDTO;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package cn.iocoder.mall.product.biz.convert.product;
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.product.UserProductSpuCollectionsBO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.UserProductSpuCollectionsDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.UserProductSpuCollectionsDO;
|
||||
import cn.iocoder.mall.product.biz.dto.product.UserProductSpuCollectionsAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.product.UserProductSpuCollectionsUpdateDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.attr;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.attr;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrValueDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrValueDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.brand;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.brand.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandPageDTO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
@ -1,9 +1,7 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.category;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.category.ProductCategoryDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.spu;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSkuDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Repository;
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.spu;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSpuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSpuDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package cn.iocoder.mall.product.biz.dao.product;
|
||||
package cn.iocoder.mall.product.biz.dao.spu;
|
||||
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.UserProductSpuCollectionsDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.UserProductSpuCollectionsDO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.attr;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.attr;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.brand;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.category;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,6 +1,7 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.spu;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrDO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.spu;
|
||||
|
||||
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.spu;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.dataobject.product;
|
||||
package cn.iocoder.mall.product.biz.dataobject.stock;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.service.product;
|
||||
package cn.iocoder.mall.product.biz.service.attr;
|
||||
|
||||
import cn.iocoder.common.framework.constant.CommonStatusEnum;
|
||||
import cn.iocoder.common.framework.validator.InEnum;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.service.product.impl;
|
||||
package cn.iocoder.mall.product.biz.service.attr;
|
||||
|
||||
import cn.iocoder.common.framework.util.CollectionUtil;
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
|
@ -10,14 +10,13 @@ import cn.iocoder.mall.product.biz.bo.attr.ProductAttrValueBO;
|
|||
import cn.iocoder.mall.product.biz.bo.attr.ProductAttrWithValueBO;
|
||||
import cn.iocoder.mall.product.biz.bo.product.ProductAttrAndValuePairBO;
|
||||
import cn.iocoder.mall.product.biz.convert.attr.ProductAttrConvert;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductAttrMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductAttrValueMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductAttrValueDO;
|
||||
import cn.iocoder.mall.product.biz.dao.attr.ProductAttrMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.attr.ProductAttrValueMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.attr.ProductAttrValueDO;
|
||||
import cn.iocoder.mall.product.biz.dto.attr.*;
|
||||
import cn.iocoder.mall.product.biz.enums.ProductErrorCodeEnum;
|
||||
import cn.iocoder.mall.product.biz.enums.product.ProductAttrConstants;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductAttrService;
|
||||
import cn.iocoder.mall.product.biz.enums.attr.ProductAttrConstants;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
|
@ -32,8 +31,8 @@ import java.util.stream.Collectors;
|
|||
/**
|
||||
* 商品规格 Service 实现类
|
||||
*
|
||||
* @see cn.iocoder.mall.product.biz.dataobject.product.ProductAttrDO
|
||||
* @see cn.iocoder.mall.product.biz.dataobject.product.ProductAttrValueDO
|
||||
* @see ProductAttrDO
|
||||
* @see ProductAttrValueDO
|
||||
*/
|
||||
@Service
|
||||
public class ProductAttrServiceImpl implements ProductAttrService {
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.service.product;
|
||||
package cn.iocoder.mall.product.biz.service.brand;
|
||||
|
||||
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
|
@ -1,17 +1,16 @@
|
|||
package cn.iocoder.mall.product.biz.service.product.impl;
|
||||
package cn.iocoder.mall.product.biz.service.brand;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.mybatis.enums.DeletedStatusEnum;
|
||||
import cn.iocoder.mall.product.biz.bo.brand.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.biz.convert.brand.ProductBrandConvert;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductBrandMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dao.brand.ProductBrandMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.brand.ProductBrandDO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandPageDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.enums.ProductErrorCodeEnum;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductBrandService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
@ -1,10 +1,11 @@
|
|||
package cn.iocoder.mall.product.biz.service.product;
|
||||
package cn.iocoder.mall.product.biz.service.category;
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryDeleteDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateStatusDTO;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
@ -15,6 +16,7 @@ import java.util.List;
|
|||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 服务层
|
||||
*/
|
||||
@Validated
|
||||
public interface ProductCategoryService {
|
||||
|
||||
/**
|
|
@ -1,22 +1,21 @@
|
|||
package cn.iocoder.mall.product.biz.service.product.impl;
|
||||
package cn.iocoder.mall.product.biz.service.category;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.mall.mybatis.enums.DeletedStatusEnum;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.biz.convert.category.ProductCategoryConvert;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductCategoryMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dao.category.ProductCategoryMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.category.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryDeleteDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateStatusDTO;
|
||||
import cn.iocoder.mall.product.biz.enums.product.ProductCategoryConstants;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductCategoryService;
|
||||
import cn.iocoder.mall.product.biz.enums.category.ProductCategoryConstants;
|
||||
import cn.iocoder.mall.product.biz.enums.category.ProductCategoryStatusEnum;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -28,7 +27,6 @@ import static cn.iocoder.mall.product.biz.enums.ProductErrorCodeEnum.*;
|
|||
* @Description: 商品分类 - 服务实现层
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ProductCategoryServiceImpl implements ProductCategoryService {
|
||||
|
||||
@Autowired
|
||||
|
@ -55,7 +53,7 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
|
|||
validParent(productCategoryAddDTO.getPid());
|
||||
// 保存到数据库
|
||||
ProductCategoryDO productCategory = ProductCategoryConvert.INSTANCE.convertToDO(productCategoryAddDTO)
|
||||
.setStatus(ProductCategoryConstants.STATUS_ENABLE);
|
||||
.setStatus(ProductCategoryStatusEnum.ENABLED.getStatus());
|
||||
productCategory.setCreateTime(new Date());
|
||||
productCategory.setDeleted(DeletedStatusEnum.DELETED_NO.getValue());
|
||||
productCategoryMapper.insert(productCategory);
|
||||
|
@ -87,8 +85,8 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
|
|||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_PARENT_NOT_EXISTS);
|
||||
}
|
||||
// 更新到数据库
|
||||
ProductCategoryDO productCategoryDO = ProductCategoryConvert.INSTANCE.convertToDO(productCategoryUpdateDTO);
|
||||
productCategoryMapper.updateById(productCategoryDO);
|
||||
ProductCategoryDO updateProductCategory = ProductCategoryConvert.INSTANCE.convertToDO(productCategoryUpdateDTO);
|
||||
productCategoryMapper.updateById(updateProductCategory);
|
||||
// TODO 伟帆 操作日志
|
||||
return true;
|
||||
}
|
||||
|
@ -100,25 +98,22 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
|
|||
*/
|
||||
@Override
|
||||
public Boolean updateProductCategoryStatus(ProductCategoryUpdateStatusDTO productCategoryUpdateStatusDTO) {
|
||||
Integer productCategoryId = productCategoryUpdateStatusDTO.getId();
|
||||
Integer status = productCategoryUpdateStatusDTO.getStatus();
|
||||
// 校验商品分类是否存在
|
||||
ProductCategoryDO productCategoryDO = productCategoryMapper.selectById(productCategoryId);
|
||||
ProductCategoryDO productCategoryDO = productCategoryMapper.selectById(productCategoryUpdateStatusDTO.getId());
|
||||
if (productCategoryDO == null) {
|
||||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_NOT_EXISTS);
|
||||
}
|
||||
// 判断更新状态是否存在
|
||||
if (!ProductCategoryConstants.STATUS_ENABLE.equals(status)
|
||||
&& !ProductCategoryConstants.STATUS_DISABLE.equals(status)) {
|
||||
if (Arrays.stream(ProductCategoryStatusEnum.ARRAYS).noneMatch(status -> status == productCategoryUpdateStatusDTO.getStatus())) {
|
||||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_STATUS_NOT_EXISTS);
|
||||
}
|
||||
// 如果状态相同,则返回错误
|
||||
if (productCategoryDO.getStatus().equals(status)) {
|
||||
if (productCategoryDO.getStatus().equals(productCategoryUpdateStatusDTO.getStatus())) {
|
||||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_STATUS_EQUALS);
|
||||
}
|
||||
// 更新商品分类
|
||||
productCategoryDO.setId(productCategoryId).setStatus(status);
|
||||
productCategoryMapper.updateById(productCategoryDO);
|
||||
// 更新商品分类状态
|
||||
ProductCategoryDO updateCategoryStatus = ProductCategoryConvert.INSTANCE.convertToDO(productCategoryUpdateStatusDTO);
|
||||
productCategoryMapper.updateById(updateCategoryStatus);
|
||||
// TODO 伟帆 操作日志
|
||||
return true;
|
||||
}
|
||||
|
@ -137,7 +132,7 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
|
|||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_NOT_EXISTS);
|
||||
}
|
||||
// 只有禁用的商品分类才可以删除
|
||||
if (ProductCategoryConstants.STATUS_ENABLE.equals(productCategory.getStatus())) {
|
||||
if (ProductCategoryStatusEnum.ENABLED.getStatus().equals(productCategory.getStatus())) {
|
||||
throw ServiceExceptionUtil.exception(PRODUCT_CATEGORY_DELETE_ONLY_DISABLE);
|
||||
}
|
||||
// 只有不存在子分类才可以删除
|
|
@ -1,4 +1,4 @@
|
|||
package cn.iocoder.mall.product.biz.service.product;
|
||||
package cn.iocoder.mall.product.biz.service.spu;
|
||||
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO;
|
|
@ -1,20 +1,19 @@
|
|||
package cn.iocoder.mall.product.biz.service.product.impl;
|
||||
package cn.iocoder.mall.product.biz.service.spu;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.common.framework.util.StringUtil;
|
||||
import cn.iocoder.mall.product.biz.bo.product.ProductAttrAndValuePairBO;
|
||||
import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO;
|
||||
import cn.iocoder.mall.product.biz.convert.product.ProductSpuConvert;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductCategoryMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductSkuMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.product.ProductSpuMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.product.ProductSpuDO;
|
||||
import cn.iocoder.mall.product.biz.dao.category.ProductCategoryMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.spu.ProductSkuMapper;
|
||||
import cn.iocoder.mall.product.biz.dao.spu.ProductSpuMapper;
|
||||
import cn.iocoder.mall.product.biz.dataobject.category.ProductCategoryDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.biz.dataobject.spu.ProductSpuDO;
|
||||
import cn.iocoder.mall.product.biz.enums.ProductErrorCodeEnum;
|
||||
import cn.iocoder.mall.product.biz.enums.product.ProductSpuConstants;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductAttrService;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductSpuService;
|
||||
import cn.iocoder.mall.product.biz.enums.spu.ProductSpuConstants;
|
||||
import cn.iocoder.mall.product.biz.service.attr.ProductAttrService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.product.biz.dao.product.ProductSpuMapper">
|
||||
<mapper namespace="cn.iocoder.mall.product.biz.dao.spu.ProductSpuMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -7,7 +7,7 @@ import cn.iocoder.mall.product.biz.bo.attr.ProductAttrSimpleWithValueBO;
|
|||
import cn.iocoder.mall.product.biz.bo.attr.ProductAttrValueBO;
|
||||
import cn.iocoder.mall.product.biz.bo.attr.ProductAttrWithValueBO;
|
||||
import cn.iocoder.mall.product.biz.dto.attr.*;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductAttrService;
|
||||
import cn.iocoder.mall.product.biz.service.attr.ProductAttrService;
|
||||
import cn.iocoder.mall.product.rest.convert.attr.ProductAttrConvert;
|
||||
import cn.iocoder.mall.product.rest.request.attr.ProductAttrPageRequest;
|
||||
import cn.iocoder.mall.product.rest.request.attr.ProductAttrAddRequest;
|
||||
|
|
|
@ -6,7 +6,7 @@ import cn.iocoder.mall.product.biz.bo.brand.ProductBrandBO;
|
|||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandPageDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.brand.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductBrandService;
|
||||
import cn.iocoder.mall.product.biz.service.brand.ProductBrandService;
|
||||
import cn.iocoder.mall.product.rest.convert.brand.ProductBrandConvert;
|
||||
import cn.iocoder.mall.product.rest.request.brand.ProductBrandAddRequest;
|
||||
import cn.iocoder.mall.product.rest.request.brand.ProductBrandPageRequest;
|
||||
|
|
|
@ -7,9 +7,9 @@ import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
|||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryDeleteDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateStatusDTO;
|
||||
import cn.iocoder.mall.product.biz.enums.product.ProductCategoryConstants;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductCategoryService;
|
||||
import cn.iocoder.mall.product.rest.convert.category.ProductCategoryConvert;
|
||||
import cn.iocoder.mall.product.biz.enums.category.ProductCategoryConstants;
|
||||
import cn.iocoder.mall.product.biz.service.category.ProductCategoryService;
|
||||
import cn.iocoder.mall.product.rest.convert.category.AdminsProductCategoryConvert;
|
||||
import cn.iocoder.mall.product.rest.request.category.AdminsProductCategoryAddRequest;
|
||||
import cn.iocoder.mall.product.rest.request.category.AdminsProductCategoryUpdateRequest;
|
||||
import cn.iocoder.mall.product.rest.request.category.AdminsProductCategoryUpdateStatusRequest;
|
||||
|
@ -46,7 +46,7 @@ public class AdminsProductCategoryController {
|
|||
public CommonResult<List<AdminsProductCategoryTreeNodeResponse>> tree() {
|
||||
List<ProductCategoryBO> productCategories = productCategoryService.getAllProductCategory();
|
||||
// 创建 ProductCategoryTreeNodeVO Map
|
||||
Map<Integer, AdminsProductCategoryTreeNodeResponse> treeNodeMap = productCategories.stream().collect(Collectors.toMap(ProductCategoryBO::getId, ProductCategoryConvert.INSTANCE::convertToTreeNodeResponse));
|
||||
Map<Integer, AdminsProductCategoryTreeNodeResponse> treeNodeMap = productCategories.stream().collect(Collectors.toMap(ProductCategoryBO::getId, AdminsProductCategoryConvert.INSTANCE::convertToTreeNodeResponse));
|
||||
// 处理父子关系
|
||||
treeNodeMap.values().stream()
|
||||
.filter(node -> !node.getPid().equals(ProductCategoryConstants.PID_ROOT))
|
||||
|
@ -71,18 +71,18 @@ public class AdminsProductCategoryController {
|
|||
@ApiOperation(value = "创建商品分类")
|
||||
public CommonResult<AdminsProductCategoryAddResponse> add(AdminsProductCategoryAddRequest adminsProductCategoryAddRequest) {
|
||||
// 转换 ProductCategoryAddDTO 对象
|
||||
ProductCategoryAddDTO productCategoryAddDTO = ProductCategoryConvert.INSTANCE.convertToAddDTO(AdminSecurityContextHolder.getContext().getAdminId(), adminsProductCategoryAddRequest);
|
||||
ProductCategoryAddDTO productCategoryAddDTO = AdminsProductCategoryConvert.INSTANCE.convertToAddDTO(AdminSecurityContextHolder.getContext().getAdminId(), adminsProductCategoryAddRequest);
|
||||
// 创建商品分类
|
||||
ProductCategoryBO addProductCategoryBO = productCategoryService.addProductCategory(productCategoryAddDTO);
|
||||
// 返回结果
|
||||
return success(ProductCategoryConvert.INSTANCE.convertToAddResponse(addProductCategoryBO));
|
||||
return success(AdminsProductCategoryConvert.INSTANCE.convertToAddResponse(addProductCategoryBO));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation(value = "更新商品分类")
|
||||
public CommonResult<Boolean> update(AdminsProductCategoryUpdateRequest adminsProductCategoryUpdateRequest) {
|
||||
// 创建 ProductCategoryUpdateDTO 对象
|
||||
ProductCategoryUpdateDTO productCategoryUpdateDTO = ProductCategoryConvert.INSTANCE.convertToUpdateDTO(AdminSecurityContextHolder.getContext().getAdminId(), adminsProductCategoryUpdateRequest);
|
||||
ProductCategoryUpdateDTO productCategoryUpdateDTO = AdminsProductCategoryConvert.INSTANCE.convertToUpdateDTO(AdminSecurityContextHolder.getContext().getAdminId(), adminsProductCategoryUpdateRequest);
|
||||
// 更新商品分类
|
||||
return success(productCategoryService.updateProductCategory(productCategoryUpdateDTO));
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ public class AdminsProductCategoryController {
|
|||
@ApiOperation(value = "更新商品分类状态")
|
||||
public CommonResult<Boolean> updateStatus(AdminsProductCategoryUpdateStatusRequest adminsProductCategoryUpdateStatusRequest) {
|
||||
// 创建 ProductCategoryUpdateStatusDTO 对象
|
||||
ProductCategoryUpdateStatusDTO productCategoryUpdateStatusDTO = ProductCategoryConvert.INSTANCE.convertToUpdateStatusDTO(AdminSecurityContextHolder.getContext().getAdminId(),
|
||||
ProductCategoryUpdateStatusDTO productCategoryUpdateStatusDTO = AdminsProductCategoryConvert.INSTANCE.convertToUpdateStatusDTO(AdminSecurityContextHolder.getContext().getAdminId(),
|
||||
adminsProductCategoryUpdateStatusRequest);
|
||||
// 更新商品分类状态
|
||||
return success(productCategoryService.updateProductCategoryStatus(productCategoryUpdateStatusDTO));
|
||||
|
@ -102,7 +102,7 @@ public class AdminsProductCategoryController {
|
|||
@ApiImplicitParam(name = "id", value = "商品分类编号", required = true, example = "1")
|
||||
public CommonResult<Boolean> delete(@RequestParam("id") Integer id) {
|
||||
// 创建 ProductCategoryDeleteDTO 对象
|
||||
ProductCategoryDeleteDTO productCategoryDeleteDTO = ProductCategoryConvert.INSTANCE.convertToDeleteDTO(AdminSecurityContextHolder.getContext().getAdminId(), id);
|
||||
ProductCategoryDeleteDTO productCategoryDeleteDTO = AdminsProductCategoryConvert.INSTANCE.convertToDeleteDTO(AdminSecurityContextHolder.getContext().getAdminId(), id);
|
||||
// 删除商品分类
|
||||
return success(productCategoryService.deleteProductCategory(productCategoryDeleteDTO));
|
||||
}
|
||||
|
|
|
@ -16,12 +16,12 @@ import org.mapstruct.factory.Mappers;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - API层数据转换
|
||||
* @Description: 管理员 - 商品分类 - API层数据转换
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProductCategoryConvert {
|
||||
public interface AdminsProductCategoryConvert {
|
||||
|
||||
ProductCategoryConvert INSTANCE = Mappers.getMapper(ProductCategoryConvert.class);
|
||||
AdminsProductCategoryConvert INSTANCE = Mappers.getMapper(AdminsProductCategoryConvert.class);
|
||||
|
||||
/**
|
||||
* 商品分类列表 - BO转换Response
|
|
@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 创建商品分类Request
|
||||
* @Description: 管理员 - 商品分类 - 创建商品分类Request
|
||||
*/
|
||||
@ApiModel("创建商品分类Request")
|
||||
@Data
|
||||
|
|
|
@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 更新商品分类Request
|
||||
* @Description: 管理员 - 商品分类 - 更新商品分类Request
|
||||
*/
|
||||
@ApiModel("更新商品分类Request")
|
||||
@Data
|
||||
|
|
|
@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 更新商品分类状态Request
|
||||
* @Description: 管理员 - 商品分类 - 更新商品分类状态Request
|
||||
*/
|
||||
@ApiModel("更新商品分类状态Request")
|
||||
@Data
|
||||
|
|
|
@ -9,7 +9,7 @@ import java.util.Date;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 新增商品分类Response
|
||||
* @Description: 管理员 - 商品分类 - 新增商品分类Response
|
||||
*/
|
||||
@ApiModel("创建商品分类Response")
|
||||
@Data
|
||||
|
|
|
@ -11,7 +11,7 @@ import java.util.List;
|
|||
/**
|
||||
* @Author: jiangweifan
|
||||
* @Date: 2020/5/6
|
||||
* @Description: 商品分类 - 分类树Response
|
||||
* @Description: 管理员 - 商品分类 - 分类树Response
|
||||
*/
|
||||
@ApiModel("商品分类树节点")
|
||||
@Data
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package cn.iocoder.mall.product.rpc.rpc;
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO;
|
||||
import cn.iocoder.mall.product.biz.service.product.ProductSpuService;
|
||||
import cn.iocoder.mall.product.biz.service.spu.ProductSpuService;
|
||||
import cn.iocoder.mall.product.rpc.api.ProductSpuRpc;
|
||||
import cn.iocoder.mall.product.rpc.convert.ProductSpuConvert;
|
||||
import cn.iocoder.mall.product.rpc.response.ProductSpuDetailResponse;
|
||||
|
|
|
@ -7,10 +7,13 @@ import cn.iocoder.mall.system.biz.dto.oatuh2.OAuth2MobileCodeAuthenticateDTO;
|
|||
import cn.iocoder.mall.system.biz.dto.user.UserPageDTO;
|
||||
import cn.iocoder.mall.system.biz.dto.user.UserUpdateDTO;
|
||||
import cn.iocoder.mall.system.biz.dto.user.UserUpdateStatusDTO;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 用户 Service 接口
|
||||
*/
|
||||
@Validated
|
||||
public interface UserService {
|
||||
|
||||
UserAuthenticateBO authenticate(OAuth2MobileCodeAuthenticateDTO authenticateDTO);
|
||||
|
@ -29,13 +32,13 @@ public interface UserService {
|
|||
* @param userUpdateDTO
|
||||
* @return
|
||||
*/
|
||||
Boolean updateUserInfo(UserUpdateDTO userUpdateDTO);
|
||||
Boolean updateUserInfo(@Valid UserUpdateDTO userUpdateDTO);
|
||||
|
||||
/**
|
||||
* 更新用户状态
|
||||
* @param userUpdateStatusDTO
|
||||
* @return
|
||||
*/
|
||||
Boolean updateUserStatus(UserUpdateStatusDTO userUpdateStatusDTO);
|
||||
Boolean updateUserStatus(@Valid UserUpdateStatusDTO userUpdateStatusDTO);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue