浏览代码

提交供应商

lipenghui 5 月之前
父节点
当前提交
9a7de0f2a7

+ 11 - 20
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/controller/admin/product/ProductCategoryController.java

@@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryListReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryPageReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryRespVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategorySaveReqVO;
@@ -22,6 +23,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
+import java.util.Comparator;
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
@@ -37,6 +39,15 @@ public class ProductCategoryController {
     @Resource
     private ProductCategoryService productCategoryService;
 
+    @GetMapping("/list")
+    @Operation(summary = "获得商品分类列表")
+    @PreAuthorize("@ss.hasPermission('product:category:query')")
+    public CommonResult<List<ProductCategoryRespVO>> getCategoryList(@Valid ProductCategoryListReqVO listReqVO) {
+        List<ProductCategoryDO> list = productCategoryService.getCategoryList(listReqVO);
+        list.sort(Comparator.comparing(ProductCategoryDO::getSort));
+        return success(BeanUtils.toBean(list, ProductCategoryRespVO.class));
+    }
+
     @PostMapping("/create")
     @Operation(summary = "创建商品分类")
     @PreAuthorize("@ss.hasPermission('supplier:product-category:create')")
@@ -70,25 +81,5 @@ public class ProductCategoryController {
         return success(BeanUtils.toBean(productCategory, ProductCategoryRespVO.class));
     }
 
-    @GetMapping("/page")
-    @Operation(summary = "获得商品分类分页")
-    @PreAuthorize("@ss.hasPermission('supplier:product-category:query')")
-    public CommonResult<PageResult<ProductCategoryRespVO>> getProductCategoryPage(@Valid ProductCategoryPageReqVO pageReqVO) {
-        PageResult<ProductCategoryDO> pageResult = productCategoryService.getProductCategoryPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, ProductCategoryRespVO.class));
-    }
-
-    @GetMapping("/export-excel")
-    @Operation(summary = "导出商品分类 Excel")
-    @PreAuthorize("@ss.hasPermission('supplier:product-category:export')")
-    @ApiAccessLog(operateType = EXPORT)
-    public void exportProductCategoryExcel(@Valid ProductCategoryPageReqVO pageReqVO,
-              HttpServletResponse response) throws IOException {
-        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<ProductCategoryDO> list = productCategoryService.getProductCategoryPage(pageReqVO).getList();
-        // 导出 Excel
-        ExcelUtils.write(response, "商品分类.xls", "数据", ProductCategoryRespVO.class,
-                        BeanUtils.toBean(list, ProductCategoryRespVO.class));
-    }
 
 }

+ 9 - 10
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/controller/admin/product/ProductController.java

@@ -6,24 +6,23 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductPageReqVO;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductRespVO;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductSaveReqVO;
+import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductDO;
+import cn.iocoder.yudao.module.supplier.service.product.ProductService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
 
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
-import java.util.*;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
 import java.io.IOException;
-
-
-import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.*;
-import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductDO;
-import cn.iocoder.yudao.module.supplier.service.product.ProductService;
+import java.util.List;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;

+ 24 - 0
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/controller/admin/product/vo/ProductCategoryListReqVO.java

@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.supplier.controller.admin.product.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Collection;
+
+@Schema(description = "管理后台 - 商品分类列表查询 Request VO")
+@Data
+public class ProductCategoryListReqVO {
+
+    @Schema(description = "分类名称", example = "办公文具")
+    private String name;
+
+    @Schema(description = "开启状态", example = "0")
+    private Integer status;
+
+    @Schema(description = "父分类编号", example = "1")
+    private Long parentId;
+
+    @Schema(description = "父分类编号数组", example = "1,2,3")
+    private Collection<Long> parentIds;
+
+}

+ 9 - 8
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/dal/mysql/product/ProductCategoryMapper.java

@@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.supplier.dal.mysql.product;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryListReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryPageReqVO;
 import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductCategoryDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 商品分类 Mapper
  *
@@ -15,14 +18,12 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ProductCategoryMapper extends BaseMapperX<ProductCategoryDO> {
 
-    default PageResult<ProductCategoryDO> selectPage(ProductCategoryPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<ProductCategoryDO>()
-                .eqIfPresent(ProductCategoryDO::getParentId, reqVO.getParentId())
-                .likeIfPresent(ProductCategoryDO::getName, reqVO.getName())
-                .eqIfPresent(ProductCategoryDO::getPicUrl, reqVO.getPicUrl())
-                .eqIfPresent(ProductCategoryDO::getSort, reqVO.getSort())
-                .eqIfPresent(ProductCategoryDO::getStatus, reqVO.getStatus())
-                .betweenIfPresent(ProductCategoryDO::getCreateTime, reqVO.getCreateTime())
+    default List<ProductCategoryDO> selectList(ProductCategoryListReqVO listReqVO) {
+        return selectList(new LambdaQueryWrapperX<ProductCategoryDO>()
+                .likeIfPresent(ProductCategoryDO::getName, listReqVO.getName())
+                .eqIfPresent(ProductCategoryDO::getParentId, listReqVO.getParentId())
+                .inIfPresent(ProductCategoryDO::getId, listReqVO.getParentIds())
+                .eqIfPresent(ProductCategoryDO::getStatus, listReqVO.getStatus())
                 .orderByDesc(ProductCategoryDO::getId));
     }
 

+ 9 - 9
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/service/product/ProductCategoryService.java

@@ -4,6 +4,7 @@ import java.util.*;
 import javax.validation.*;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryListReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryPageReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategorySaveReqVO;
 import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductCategoryDO;
@@ -15,6 +16,14 @@ import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductCategoryDO
  */
 public interface ProductCategoryService {
 
+    /**
+     * 获得商品分类列表
+     *
+     * @param listReqVO 查询条件
+     * @return 商品分类列表
+     */
+    List<ProductCategoryDO> getCategoryList(ProductCategoryListReqVO listReqVO);
+
     /**
      * 创建商品分类
      *
@@ -44,13 +53,4 @@ public interface ProductCategoryService {
      * @return 商品分类
      */
     ProductCategoryDO getProductCategory(Long id);
-
-    /**
-     * 获得商品分类分页
-     *
-     * @param pageReqVO 分页查询
-     * @return 商品分类分页
-     */
-    PageResult<ProductCategoryDO> getProductCategoryPage(ProductCategoryPageReqVO pageReqVO);
-
 }

+ 9 - 5
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/service/product/ProductCategoryServiceImpl.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.supplier.service.product;
 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryListReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategoryPageReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductCategorySaveReqVO;
 import cn.iocoder.yudao.module.supplier.dal.dataobject.product.ProductCategoryDO;
@@ -12,6 +13,9 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 
+import java.util.Collections;
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 
 /**
@@ -26,6 +30,11 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
     @Resource
     private ProductCategoryMapper productCategoryMapper;
 
+    @Override
+    public List<ProductCategoryDO> getCategoryList(ProductCategoryListReqVO listReqVO) {
+        return productCategoryMapper.selectList(listReqVO);
+    }
+
     @Override
     public Long createProductCategory(ProductCategorySaveReqVO createReqVO) {
         // 插入
@@ -63,9 +72,4 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
         return productCategoryMapper.selectById(id);
     }
 
-    @Override
-    public PageResult<ProductCategoryDO> getProductCategoryPage(ProductCategoryPageReqVO pageReqVO) {
-        return productCategoryMapper.selectPage(pageReqVO);
-    }
-
 }

+ 6 - 0
yudao-module-supplier/yudao-module-supplier-biz/src/main/java/cn/iocoder/yudao/module/supplier/service/product/ProductServiceImpl.java

@@ -1,7 +1,9 @@
 package cn.iocoder.yudao.module.supplier.service.product;
 
+import cn.hutool.core.date.DateUtil;
 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductPageReqVO;
 import cn.iocoder.yudao.module.supplier.controller.admin.product.vo.ProductSaveReqVO;
@@ -12,6 +14,9 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 
+import java.util.Date;
+import java.util.UUID;
+
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 
 /**
@@ -30,6 +35,7 @@ public class ProductServiceImpl implements ProductService {
     public Long createProduct(ProductSaveReqVO createReqVO) {
         // 插入
         ProductDO product = BeanUtils.toBean(createReqVO, ProductDO.class);
+        product.setProductCode("P" + DateUtil.format(new Date(), "yyyyMMddHHmmss") +UUID.randomUUID().toString().substring(0, 3));
         productMapper.insert(product);
         // 返回
         return product.getId();