Browse Source

产品类目,产品信息

1018653686@qq.com 1 year ago
parent
commit
ddfb156dfe
28 changed files with 1010 additions and 2 deletions
  1. 0 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductCategoryApi.json
  2. 0 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductImageApi.json
  3. 0 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductInfoApi.json
  4. 77 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductCategoryController.java
  5. 77 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductImageController.java
  6. 77 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductInfoController.java
  7. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategoryDto.java
  8. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategorySelectDto.java
  9. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductImageDto.java
  10. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductImageSelectDto.java
  11. 24 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductInfoDto.java
  12. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductInfoSelectDto.java
  13. 32 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductCategory.java
  14. 42 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductImage.java
  15. 61 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductInfo.java
  16. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductCategoryVo.java
  17. 17 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductImageVo.java
  18. 20 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductInfoVo.java
  19. 32 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductCategoryMapper.java
  20. 32 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductImageMapper.java
  21. 32 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductInfoMapper.java
  22. 52 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductCategoryService.java
  23. 52 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductImageService.java
  24. 52 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductInfoService.java
  25. 68 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductCategoryServiceImpl.java
  26. 66 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductImageServiceImpl.java
  27. 95 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductInfoServiceImpl.java
  28. 0 2
      pom.xml

File diff suppressed because it is too large
+ 0 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductCategoryApi.json


File diff suppressed because it is too large
+ 0 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductImageApi.json


File diff suppressed because it is too large
+ 0 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/a-json/ProductInfoApi.json


+ 77 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductCategoryController.java

@@ -0,0 +1,77 @@
+package com.fjhx.xmhjc.controller.product;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductCategoryVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategorySelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategoryDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.xmhjc.service.product.ProductCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品类目表 前端控制器
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@RestController
+@RequestMapping("/productCategory")
+public class ProductCategoryController {
+
+    @Autowired
+    private ProductCategoryService productCategoryService;
+
+    /**
+     * 产品类目表列表
+     */
+    @PostMapping("/list")
+    public List<ProductCategoryVo> list(@RequestBody ProductCategorySelectDto dto) {
+        return productCategoryService.getList(dto);
+    }
+
+    /**
+     * 产品类目表分页
+     */
+    @PostMapping("/page")
+    public Page<ProductCategoryVo> page(@RequestBody ProductCategorySelectDto dto) {
+        return productCategoryService.getPage(dto);
+    }
+
+    /**
+     * 产品类目表明细
+     */
+    @PostMapping("/detail")
+    public ProductCategoryVo detail(@RequestBody BaseSelectDto dto) {
+        return productCategoryService.detail(dto.getId());
+    }
+
+    /**
+     * 产品类目表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ProductCategoryDto productCategoryDto) {
+        productCategoryService.add(productCategoryDto);
+    }
+
+    /**
+     * 产品类目表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ProductCategoryDto productCategoryDto) {
+        productCategoryService.edit(productCategoryDto);
+    }
+
+    /**
+     * 产品类目表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        productCategoryService.delete(dto.getId());
+    }
+
+}

+ 77 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductImageController.java

@@ -0,0 +1,77 @@
+package com.fjhx.xmhjc.controller.product;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductImageVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageSelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.xmhjc.service.product.ProductImageService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品图片 前端控制器
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@RestController
+@RequestMapping("/productImage")
+public class ProductImageController {
+
+    @Autowired
+    private ProductImageService productImageService;
+
+    /**
+     * 产品图片列表
+     */
+    @PostMapping("/list")
+    public List<ProductImageVo> list(@RequestBody ProductImageSelectDto dto) {
+        return productImageService.getList(dto);
+    }
+
+    /**
+     * 产品图片分页
+     */
+    @PostMapping("/page")
+    public Page<ProductImageVo> page(@RequestBody ProductImageSelectDto dto) {
+        return productImageService.getPage(dto);
+    }
+
+    /**
+     * 产品图片明细
+     */
+    @PostMapping("/detail")
+    public ProductImageVo detail(@RequestBody BaseSelectDto dto) {
+        return productImageService.detail(dto.getId());
+    }
+
+    /**
+     * 产品图片新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ProductImageDto productImageDto) {
+        productImageService.add(productImageDto);
+    }
+
+    /**
+     * 产品图片编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ProductImageDto productImageDto) {
+        productImageService.edit(productImageDto);
+    }
+
+    /**
+     * 产品图片删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        productImageService.delete(dto.getId());
+    }
+
+}

+ 77 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/product/ProductInfoController.java

@@ -0,0 +1,77 @@
+package com.fjhx.xmhjc.controller.product;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductInfoVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoSelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.xmhjc.service.product.ProductInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品信息表 前端控制器
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@RestController
+@RequestMapping("/productInfo")
+public class ProductInfoController {
+
+    @Autowired
+    private ProductInfoService productInfoService;
+
+    /**
+     * 产品信息表列表
+     */
+    @PostMapping("/list")
+    public List<ProductInfoVo> list(@RequestBody ProductInfoSelectDto dto) {
+        return productInfoService.getList(dto);
+    }
+
+    /**
+     * 产品信息表分页
+     */
+    @PostMapping("/page")
+    public Page<ProductInfoVo> page(@RequestBody ProductInfoSelectDto dto) {
+        return productInfoService.getPage(dto);
+    }
+
+    /**
+     * 产品信息表明细
+     */
+    @PostMapping("/detail")
+    public ProductInfoVo detail(@RequestBody BaseSelectDto dto) {
+        return productInfoService.detail(dto.getId());
+    }
+
+    /**
+     * 产品信息表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ProductInfoDto productInfoDto) {
+        productInfoService.add(productInfoDto);
+    }
+
+    /**
+     * 产品信息表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ProductInfoDto productInfoDto) {
+        productInfoService.edit(productInfoDto);
+    }
+
+    /**
+     * 产品信息表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        productInfoService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategoryDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.fjhx.xmhjc.entity.product.po.ProductCategory;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品类目表新增编辑入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductCategoryDto extends ProductCategory {
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategorySelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品类目表列表查询入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductCategorySelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductImageDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.fjhx.xmhjc.entity.product.po.ProductImage;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品图片新增编辑入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductImageDto extends ProductImage {
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductImageSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品图片列表查询入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductImageSelectDto extends BaseSelectDto {
+
+}

+ 24 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductInfoDto.java

@@ -0,0 +1,24 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.xmhjc.entity.product.po.ProductInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 产品信息表新增编辑入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductInfoDto extends ProductInfo {
+    List<ObsFile> contentImgList;
+
+    List<ObsFile> coverUrlList;
+
+    List<String> specList;
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductInfoSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品信息表列表查询入参实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductInfoSelectDto extends BaseSelectDto {
+
+}

+ 32 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductCategory.java

@@ -0,0 +1,32 @@
+package com.fjhx.xmhjc.entity.product.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 产品类目表
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+@TableName("product_category")
+public class ProductCategory extends BasePo {
+
+    private String name;
+
+    private String code;
+
+    private Integer sort;
+
+    private String status;
+
+}

+ 42 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductImage.java

@@ -0,0 +1,42 @@
+package com.fjhx.xmhjc.entity.product.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 产品图片
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+@TableName("product_image")
+public class ProductImage extends BasePo {
+
+    /**
+     * 产品id
+     */
+    private Integer productId;
+
+    /**
+     * 图片地址
+     */
+    private String url;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 类型1=轮播图;2=详情图
+     */
+    private String type;
+
+}

+ 61 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/po/ProductInfo.java

@@ -0,0 +1,61 @@
+package com.fjhx.xmhjc.entity.product.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 产品信息表
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+@TableName("product_info")
+public class ProductInfo extends BasePo {
+
+    /**
+     * 类目id
+     */
+    private Integer categoryId;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 副标题
+     */
+    private String subheading;
+
+    /**
+     * 封面url
+     */
+    private String coverUrl;
+
+    /**
+     * 产品规格,多个逗号隔开
+     */
+    private String spec;
+
+    /**
+     * 详情类型,1=富文本;2=图片
+     */
+    private String contentType;
+
+    /**
+     * 详情内容
+     */
+    private String content;
+
+    private Integer sort;
+
+    private String status;
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductCategoryVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.vo;
+
+import com.fjhx.xmhjc.entity.product.po.ProductCategory;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品类目表列表查询返回值实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductCategoryVo extends ProductCategory {
+
+}

+ 17 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductImageVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.xmhjc.entity.product.vo;
+
+import com.fjhx.xmhjc.entity.product.po.ProductImage;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 产品图片列表查询返回值实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductImageVo extends ProductImage {
+
+}

+ 20 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductInfoVo.java

@@ -0,0 +1,20 @@
+package com.fjhx.xmhjc.entity.product.vo;
+
+import com.fjhx.xmhjc.entity.product.po.ProductInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 产品信息表列表查询返回值实体
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Getter
+@Setter
+public class ProductInfoVo extends ProductInfo {
+
+    List<String> specList;
+}

+ 32 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductCategoryMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.xmhjc.mapper.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductCategory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductCategoryVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品类目表 Mapper 接口
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductCategoryMapper extends BaseMapper<ProductCategory> {
+
+    /**
+     * 产品类目表列表
+     */
+    List<ProductCategoryVo> getList(@Param("ew") IWrapper<ProductCategory> wrapper);
+
+    /**
+     * 产品类目表分页
+     */
+    Page<ProductCategoryVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ProductCategory> wrapper);
+
+}

+ 32 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductImageMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.xmhjc.mapper.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductImage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductImageVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品图片 Mapper 接口
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductImageMapper extends BaseMapper<ProductImage> {
+
+    /**
+     * 产品图片列表
+     */
+    List<ProductImageVo> getList(@Param("ew") IWrapper<ProductImage> wrapper);
+
+    /**
+     * 产品图片分页
+     */
+    Page<ProductImageVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ProductImage> wrapper);
+
+}

+ 32 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/mapper/product/ProductInfoMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.xmhjc.mapper.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductInfoVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品信息表 Mapper 接口
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductInfoMapper extends BaseMapper<ProductInfo> {
+
+    /**
+     * 产品信息表列表
+     */
+    List<ProductInfoVo> getList(@Param("ew") IWrapper<ProductInfo> wrapper);
+
+    /**
+     * 产品信息表分页
+     */
+    Page<ProductInfoVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ProductInfo> wrapper);
+
+}

+ 52 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductCategoryService.java

@@ -0,0 +1,52 @@
+package com.fjhx.xmhjc.service.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductCategory;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductCategoryVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategorySelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategoryDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品类目表 服务类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductCategoryService extends BaseService<ProductCategory> {
+
+    /**
+     * 产品类目表列表
+     */
+    List<ProductCategoryVo> getList(ProductCategorySelectDto dto);
+
+    /**
+     * 产品类目表分页
+     */
+    Page<ProductCategoryVo> getPage(ProductCategorySelectDto dto);
+
+    /**
+     * 产品类目表明细
+     */
+    ProductCategoryVo detail(Long id);
+
+    /**
+     * 产品类目表新增
+     */
+    void add(ProductCategoryDto productCategoryDto);
+
+    /**
+     * 产品类目表编辑
+     */
+    void edit(ProductCategoryDto productCategoryDto);
+
+    /**
+     * 产品类目表删除
+     */
+    void delete(Long id);
+
+}

+ 52 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductImageService.java

@@ -0,0 +1,52 @@
+package com.fjhx.xmhjc.service.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductImage;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductImageVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageSelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品图片 服务类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductImageService extends BaseService<ProductImage> {
+
+    /**
+     * 产品图片列表
+     */
+    List<ProductImageVo> getList(ProductImageSelectDto dto);
+
+    /**
+     * 产品图片分页
+     */
+    Page<ProductImageVo> getPage(ProductImageSelectDto dto);
+
+    /**
+     * 产品图片明细
+     */
+    ProductImageVo detail(Long id);
+
+    /**
+     * 产品图片新增
+     */
+    void add(ProductImageDto productImageDto);
+
+    /**
+     * 产品图片编辑
+     */
+    void edit(ProductImageDto productImageDto);
+
+    /**
+     * 产品图片删除
+     */
+    void delete(Long id);
+
+}

+ 52 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/ProductInfoService.java

@@ -0,0 +1,52 @@
+package com.fjhx.xmhjc.service.product;
+
+import com.fjhx.xmhjc.entity.product.po.ProductInfo;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductInfoVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoSelectDto;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品信息表 服务类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+public interface ProductInfoService extends BaseService<ProductInfo> {
+
+    /**
+     * 产品信息表列表
+     */
+    List<ProductInfoVo> getList(ProductInfoSelectDto dto);
+
+    /**
+     * 产品信息表分页
+     */
+    Page<ProductInfoVo> getPage(ProductInfoSelectDto dto);
+
+    /**
+     * 产品信息表明细
+     */
+    ProductInfoVo detail(Long id);
+
+    /**
+     * 产品信息表新增
+     */
+    void add(ProductInfoDto productInfoDto);
+
+    /**
+     * 产品信息表编辑
+     */
+    void edit(ProductInfoDto productInfoDto);
+
+    /**
+     * 产品信息表删除
+     */
+    void delete(Long id);
+
+}

+ 68 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductCategoryServiceImpl.java

@@ -0,0 +1,68 @@
+package com.fjhx.xmhjc.service.product.impl;
+
+import com.fjhx.xmhjc.entity.product.po.ProductCategory;
+import com.fjhx.xmhjc.mapper.product.ProductCategoryMapper;
+import com.fjhx.xmhjc.service.product.ProductCategoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductCategoryVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategorySelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.xmhjc.entity.product.dto.ProductCategoryDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品类目表 服务实现类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Service
+public class ProductCategoryServiceImpl extends ServiceImpl<ProductCategoryMapper, ProductCategory> implements ProductCategoryService {
+
+    @Override
+    public List<ProductCategoryVo> getList(ProductCategorySelectDto dto) {
+        IWrapper<ProductCategory> wrapper = getWrapper();
+        wrapper.orderByDesc("pc", ProductCategory::getId);
+        List<ProductCategoryVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<ProductCategoryVo> getPage(ProductCategorySelectDto dto) {
+        IWrapper<ProductCategory> wrapper = getWrapper();
+        wrapper.keyword(dto, new SqlField("pc", ProductCategory::getName));
+        wrapper.orderByAsc("pc", ProductCategory::getSort);
+        Page<ProductCategoryVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ProductCategoryVo detail(Long id) {
+        ProductCategory ProductCategory = this.getById(id);
+        ProductCategoryVo result = BeanUtil.toBean(ProductCategory, ProductCategoryVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(ProductCategoryDto productCategoryDto) {
+        this.save(productCategoryDto);
+    }
+
+    @Override
+    public void edit(ProductCategoryDto productCategoryDto) {
+        this.updateById(productCategoryDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 66 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductImageServiceImpl.java

@@ -0,0 +1,66 @@
+package com.fjhx.xmhjc.service.product.impl;
+
+import com.fjhx.xmhjc.entity.product.po.ProductImage;
+import com.fjhx.xmhjc.mapper.product.ProductImageMapper;
+import com.fjhx.xmhjc.service.product.ProductImageService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductImageVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.xmhjc.entity.product.dto.ProductImageDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 产品图片 服务实现类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Service
+public class ProductImageServiceImpl extends ServiceImpl<ProductImageMapper, ProductImage> implements ProductImageService {
+
+    @Override
+    public List<ProductImageVo> getList(ProductImageSelectDto dto) {
+        IWrapper<ProductImage> wrapper = getWrapper();
+        wrapper.orderByDesc("pi", ProductImage::getId);
+        List<ProductImageVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<ProductImageVo> getPage(ProductImageSelectDto dto) {
+        IWrapper<ProductImage> wrapper = getWrapper();
+        wrapper.orderByDesc("pi", ProductImage::getId);
+        Page<ProductImageVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ProductImageVo detail(Long id) {
+        ProductImage ProductImage = this.getById(id);
+        ProductImageVo result = BeanUtil.toBean(ProductImage, ProductImageVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(ProductImageDto productImageDto) {
+        this.save(productImageDto);
+    }
+
+    @Override
+    public void edit(ProductImageDto productImageDto) {
+        this.updateById(productImageDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 95 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductInfoServiceImpl.java

@@ -0,0 +1,95 @@
+package com.fjhx.xmhjc.service.product.impl;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.xmhjc.entity.product.po.ProductInfo;
+import com.fjhx.xmhjc.mapper.product.ProductInfoMapper;
+import com.fjhx.xmhjc.service.product.ProductInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.xmhjc.entity.product.vo.ProductInfoVo;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.xmhjc.entity.product.dto.ProductInfoDto;
+import cn.hutool.core.bean.BeanUtil;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 产品信息表 服务实现类
+ * </p>
+ *
+ * @author hj
+ * @since 2023-11-12
+ */
+@Service
+public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, ProductInfo> implements ProductInfoService {
+
+    @Override
+    public List<ProductInfoVo> getList(ProductInfoSelectDto dto) {
+        IWrapper<ProductInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("pi", ProductInfo::getId);
+        List<ProductInfoVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<ProductInfoVo> getPage(ProductInfoSelectDto dto) {
+        IWrapper<ProductInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("pi", ProductInfo::getId);
+        Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ProductInfoVo detail(Long id) {
+        ProductInfo productInfo = this.getById(id);
+        ProductInfoVo result = BeanUtil.toBean(productInfo, ProductInfoVo.class);
+        List<String> specList = new ArrayList<>();
+        if(StringUtils.isNotBlank(productInfo.getSpec())){
+            specList = Arrays.asList(productInfo.getSpec().split(","));
+        }
+        result.setSpecList(specList);
+        return result;
+    }
+
+    @Override
+    public void add(ProductInfoDto productInfoDto) {
+        if(!CollectionUtils.isEmpty(productInfoDto.getSpecList())){
+            productInfoDto.setSpec(productInfoDto.getSpecList().stream().collect(Collectors.joining(",")));
+        }
+        this.save(productInfoDto);
+        // 保存图片
+        ObsFileUtil.saveFile(productInfoDto.getCoverUrlList(), productInfoDto.getId(), 1);
+
+
+        ObsFileUtil.saveFile(productInfoDto.getContentImgList(), productInfoDto.getId(), 2);
+    }
+
+    @Override
+    public void edit(ProductInfoDto productInfoDto) {
+        if(!CollectionUtils.isEmpty(productInfoDto.getSpecList())){
+            productInfoDto.setSpec(productInfoDto.getSpecList().stream().collect(Collectors.joining(",")));
+        }
+        this.updateById(productInfoDto);
+        // 保存图片
+        ObsFileUtil.editFile(productInfoDto.getCoverUrlList(), productInfoDto.getId(), 1);
+
+
+        ObsFileUtil.editFile(productInfoDto.getContentImgList(), productInfoDto.getId(), 2);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 0 - 2
pom.xml

@@ -65,8 +65,6 @@
                 <artifactId>lombok</artifactId>
                 <version>1.18.26</version>
             </dependency>
-
-
         </dependencies>
     </dependencyManagement>
 

Some files were not shown because too many files changed in this diff