Browse Source

产品库基础表生成

home 2 years ago
parent
commit
a87d46024b
32 changed files with 892 additions and 5 deletions
  1. 1 1
      hx-api/iot-management-api/src/main/java/com/fjhx/enums/classify/ClassifTypeEnum.java
  2. 15 0
      hx-api/product-library-api/pom.xml
  3. 18 0
      hx-api/product-library-api/src/main/java/com/fjhx/constant/LockConstant.java
  4. 54 0
      hx-api/product-library-api/src/main/java/com/fjhx/entity/classify/Classify.java
  5. 90 0
      hx-api/product-library-api/src/main/java/com/fjhx/entity/material/Material.java
  6. 69 0
      hx-api/product-library-api/src/main/java/com/fjhx/entity/product/Product.java
  7. 20 0
      hx-api/product-library-api/src/main/java/com/fjhx/enums/classify/ClassifyTypeEnum.java
  8. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/classify/ClassifyEx.java
  9. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/classify/ClassifyVo.java
  10. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/material/MaterialEx.java
  11. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/material/MaterialVo.java
  12. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/product/ProductEx.java
  13. 17 0
      hx-api/product-library-api/src/main/java/com/fjhx/params/product/ProductVo.java
  14. 0 1
      hx-serve/iot-management/src/main/java/com/fjhx/IotManagementApplication.java
  15. 1 1
      hx-serve/iot-management/src/main/java/com/fjhx/classif/service/impl/ClassifServiceImpl.java
  16. 0 1
      hx-serve/product-library/src/main/java/com/fjhx/ProductLibraryApplication.java
  17. 62 0
      hx-serve/product-library/src/main/java/com/fjhx/classify/controller/ClassifyController.java
  18. 16 0
      hx-serve/product-library/src/main/java/com/fjhx/classify/mapper/ClassifyMapper.java
  19. 5 0
      hx-serve/product-library/src/main/java/com/fjhx/classify/mapper/ClassifyMapper.xml
  20. 30 0
      hx-serve/product-library/src/main/java/com/fjhx/classify/service/ClassifyService.java
  21. 61 0
      hx-serve/product-library/src/main/java/com/fjhx/classify/service/impl/ClassifyServiceImpl.java
  22. 62 0
      hx-serve/product-library/src/main/java/com/fjhx/material/controller/MaterialController.java
  23. 16 0
      hx-serve/product-library/src/main/java/com/fjhx/material/mapper/MaterialMapper.java
  24. 5 0
      hx-serve/product-library/src/main/java/com/fjhx/material/mapper/MaterialMapper.xml
  25. 30 0
      hx-serve/product-library/src/main/java/com/fjhx/material/service/MaterialService.java
  26. 61 0
      hx-serve/product-library/src/main/java/com/fjhx/material/service/impl/MaterialServiceImpl.java
  27. 62 0
      hx-serve/product-library/src/main/java/com/fjhx/product/controller/ProductController.java
  28. 16 0
      hx-serve/product-library/src/main/java/com/fjhx/product/mapper/ProductMapper.java
  29. 5 0
      hx-serve/product-library/src/main/java/com/fjhx/product/mapper/ProductMapper.xml
  30. 30 0
      hx-serve/product-library/src/main/java/com/fjhx/product/service/ProductService.java
  31. 61 0
      hx-serve/product-library/src/main/java/com/fjhx/product/service/impl/ProductServiceImpl.java
  32. 0 1
      hx-serve/storage/src/main/java/com/fjhx/StorageApplication.java

+ 1 - 1
hx-api/iot-management-api/src/main/java/com/fjhx/enums/classif/ClassifTypeEnum.java → hx-api/iot-management-api/src/main/java/com/fjhx/enums/classify/ClassifTypeEnum.java

@@ -1,4 +1,4 @@
-package com.fjhx.enums.classif;
+package com.fjhx.enums.classify;
 
 import lombok.Getter;
 

+ 15 - 0
hx-api/product-library-api/pom.xml

@@ -16,4 +16,19 @@
         <maven.compiler.target>8</maven.compiler.target>
     </properties>
 
+    <dependencies>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-starter-mybatis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-tool</artifactId>
+        </dependency>
+    </dependencies>
+
 </project>

+ 18 - 0
hx-api/product-library-api/src/main/java/com/fjhx/constant/LockConstant.java

@@ -0,0 +1,18 @@
+package com.fjhx.constant;
+
+/**
+ * 锁常量
+ */
+public interface LockConstant {
+
+    /**
+     * 保证物料编码唯一
+     */
+    String MATERIAL_CODE_ONLY_LOCK = "materialCodeOnlyLock-";
+
+    /**
+     * 保证产品编码唯一
+     */
+    String PRODUCT_CODE_ONLY_LOCK = "productCodeOnlyLock-";
+
+}

+ 54 - 0
hx-api/product-library-api/src/main/java/com/fjhx/entity/classify/Classify.java

@@ -0,0 +1,54 @@
+package com.fjhx.entity.classify;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 分类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Classify extends BaseEntity {
+
+
+    /**
+     * 类型 (1:产品分类 2:物料分类)
+     */
+    private Integer type;
+
+    /**
+     * 父级分类id
+     */
+    private Long parentId;
+
+    /**
+     * 父级分类id集合,用,拼接
+     */
+    private String parentIdSet;
+
+    /**
+     * 分类名称
+     */
+    private String name;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 90 - 0
hx-api/product-library-api/src/main/java/com/fjhx/entity/material/Material.java

@@ -0,0 +1,90 @@
+package com.fjhx.entity.material;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 物料
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Material extends BaseEntity {
+
+
+    /**
+     * 分类id
+     */
+    private Long classifyId;
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 规格
+     */
+    private String spec;
+
+    /**
+     * 单位 
+     */
+    private String unit;
+
+    /**
+     * 安全库存
+     */
+    private BigDecimal safetyStock;
+
+    /**
+     * 采购周期/天
+     */
+    private Integer cycle;
+
+    /**
+     * 质检比例
+     */
+    private BigDecimal qualityTestingRate;
+
+    /**
+     * 是否卷材
+     */
+    private Integer coiled;
+
+    /**
+     * 头尾损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 69 - 0
hx-api/product-library-api/src/main/java/com/fjhx/entity/product/Product.java

@@ -0,0 +1,69 @@
+package com.fjhx.entity.product;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 产品
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Product extends BaseEntity {
+
+
+    /**
+     * 分类id
+     */
+    private Long classifyId;
+
+    /**
+     * 产品编号
+     */
+    private String code;
+
+    /**
+     * 产品名称
+     */
+    private String name;
+
+    /**
+     * 型号
+     */
+    private String model;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * 产品说明
+     */
+    private String introduce;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 20 - 0
hx-api/product-library-api/src/main/java/com/fjhx/enums/classify/ClassifyTypeEnum.java

@@ -0,0 +1,20 @@
+package com.fjhx.enums.classify;
+
+import lombok.Getter;
+
+@Getter
+public enum ClassifyTypeEnum {
+
+    PRODUCT_TYPE(1, "产品分类"),
+    MATERIAL_TYPE(2, "物料分类");
+
+    private final Integer code;
+
+    private final String message;
+
+    ClassifyTypeEnum(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/classify/ClassifyEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.classify;
+
+import com.fjhx.entity.classify.Classify;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 分类
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ClassifyEx extends Classify {
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/classify/ClassifyVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.classify;
+
+import com.fjhx.entity.classify.Classify;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 分类
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ClassifyVo extends Classify {
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/material/MaterialEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.Material;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialEx extends Material {
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/material/MaterialVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.Material;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialVo extends Material {
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/product/ProductEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.product;
+
+import com.fjhx.entity.product.Product;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 产品
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProductEx extends Product {
+
+}

+ 17 - 0
hx-api/product-library-api/src/main/java/com/fjhx/params/product/ProductVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.product;
+
+import com.fjhx.entity.product.Product;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 产品
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProductVo extends Product {
+
+}

+ 0 - 1
hx-serve/iot-management/src/main/java/com/fjhx/IotManagementApplication.java

@@ -14,7 +14,6 @@ public class IotManagementApplication {
     private static final String APP_NAME = "iot-management";
 
     public static void main(String[] args) {
-        // 调用ApiConstant.Server赋值appName会出现单服务打包失败的情况
         BladeApplication.run(APP_NAME, IotManagementApplication.class, args);
     }
 

+ 1 - 1
hx-serve/iot-management/src/main/java/com/fjhx/classif/service/impl/ClassifServiceImpl.java

@@ -3,7 +3,7 @@ package com.fjhx.classif.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.base.BaseEntity;
 import com.fjhx.entity.classif.Classif;
-import com.fjhx.enums.classif.ClassifTypeEnum;
+import com.fjhx.enums.classify.ClassifTypeEnum;
 import com.fjhx.classif.mapper.ClassifMapper;
 import com.fjhx.classif.service.ClassifService;
 import com.fjhx.params.classif.ClassifVo;

+ 0 - 1
hx-serve/product-library/src/main/java/com/fjhx/ProductLibraryApplication.java

@@ -12,7 +12,6 @@ public class ProductLibraryApplication {
     private static final String APP_NAME = "product-library";
 
     public static void main(String[] args) {
-        // 调用ApiConstant.Server赋值appName会出现单服务打包失败的情况
         BladeApplication.run(APP_NAME, ProductLibraryApplication.class, args);
     }
 

+ 62 - 0
hx-serve/product-library/src/main/java/com/fjhx/classify/controller/ClassifyController.java

@@ -0,0 +1,62 @@
+package com.fjhx.classify.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.classify.Classify;
+import com.fjhx.params.classify.ClassifyVo;
+import com.fjhx.classify.service.ClassifyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 分类 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@RestController
+@RequestMapping("/classify")
+public class ClassifyController {
+
+    @Autowired
+    private ClassifyService classifyService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<Classify> result = classifyService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody ClassifyVo classifyVo){
+        classifyService.add(classifyVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody ClassifyVo classifyVo){
+        classifyService.edit(classifyVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody ClassifyVo classifyVo){
+        classifyService.delete(classifyVo);
+        return R.success();
+    }
+
+    @PostMapping("/detail")
+    public R detail(@RequestBody ClassifyVo classifyVo){
+        Classify result = classifyService.detail(classifyVo);
+        return R.success(result);
+    }
+
+}
+

+ 16 - 0
hx-serve/product-library/src/main/java/com/fjhx/classify/mapper/ClassifyMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.classify.mapper;
+
+import com.fjhx.entity.classify.Classify;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 分类 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface ClassifyMapper extends BaseMapper<Classify> {
+
+}

+ 5 - 0
hx-serve/product-library/src/main/java/com/fjhx/classify/mapper/ClassifyMapper.xml

@@ -0,0 +1,5 @@
+<?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="com.fjhx.classify.mapper.ClassifyMapper">
+
+</mapper>

+ 30 - 0
hx-serve/product-library/src/main/java/com/fjhx/classify/service/ClassifyService.java

@@ -0,0 +1,30 @@
+package com.fjhx.classify.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.classify.Classify;
+import com.fjhx.params.classify.ClassifyVo;
+import com.fjhx.base.BaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 分类 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface ClassifyService extends BaseService<Classify> {
+
+    Page<Classify> getPage(Map<String, String> condition);
+
+    void add(ClassifyVo classifyVo);
+
+    void edit(ClassifyVo classifyVo);
+
+    void delete(ClassifyVo classifyVo);
+
+    Classify detail(ClassifyVo classifyVo);
+
+}

+ 61 - 0
hx-serve/product-library/src/main/java/com/fjhx/classify/service/impl/ClassifyServiceImpl.java

@@ -0,0 +1,61 @@
+package com.fjhx.classify.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.utils.WrapperUtil;
+import com.fjhx.entity.classify.Classify;
+import com.fjhx.params.classify.ClassifyVo;
+import com.fjhx.classify.mapper.ClassifyMapper;
+import com.fjhx.classify.service.ClassifyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 分类 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Service
+public class ClassifyServiceImpl extends ServiceImpl<ClassifyMapper, Classify> implements ClassifyService {
+
+    @Override
+    public Page<Classify> getPage(Map<String, String> condition) {
+
+        QueryWrapper<Classify> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .eqTenantId()
+                .createTimeDesc();
+
+        Page<Classify> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(ClassifyVo classifyVo) {
+        save(classifyVo);
+    }
+
+    @Override
+    public void edit(ClassifyVo classifyVo) {
+        updateById(classifyVo);
+    }
+
+    @Override
+    public void delete(ClassifyVo classifyVo) {
+        removeById(classifyVo.getId());
+    }
+
+    @Override
+    public Classify detail(ClassifyVo classifyVo) {
+        Classify result = getById(classifyVo.getId());
+        return result;
+    }
+
+}

+ 62 - 0
hx-serve/product-library/src/main/java/com/fjhx/material/controller/MaterialController.java

@@ -0,0 +1,62 @@
+package com.fjhx.material.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.material.Material;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.material.service.MaterialService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@RestController
+@RequestMapping("/material")
+public class MaterialController {
+
+    @Autowired
+    private MaterialService materialService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<Material> result = materialService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody MaterialVo materialVo){
+        materialService.add(materialVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody MaterialVo materialVo){
+        materialService.edit(materialVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody MaterialVo materialVo){
+        materialService.delete(materialVo);
+        return R.success();
+    }
+
+    @PostMapping("/detail")
+    public R detail(@RequestBody MaterialVo materialVo){
+        Material result = materialService.detail(materialVo);
+        return R.success(result);
+    }
+
+}
+

+ 16 - 0
hx-serve/product-library/src/main/java/com/fjhx/material/mapper/MaterialMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.material.mapper;
+
+import com.fjhx.entity.material.Material;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 物料 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface MaterialMapper extends BaseMapper<Material> {
+
+}

+ 5 - 0
hx-serve/product-library/src/main/java/com/fjhx/material/mapper/MaterialMapper.xml

@@ -0,0 +1,5 @@
+<?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="com.fjhx.material.mapper.MaterialMapper">
+
+</mapper>

+ 30 - 0
hx-serve/product-library/src/main/java/com/fjhx/material/service/MaterialService.java

@@ -0,0 +1,30 @@
+package com.fjhx.material.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.material.Material;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.base.BaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface MaterialService extends BaseService<Material> {
+
+    Page<Material> getPage(Map<String, String> condition);
+
+    void add(MaterialVo materialVo);
+
+    void edit(MaterialVo materialVo);
+
+    void delete(MaterialVo materialVo);
+
+    Material detail(MaterialVo materialVo);
+
+}

+ 61 - 0
hx-serve/product-library/src/main/java/com/fjhx/material/service/impl/MaterialServiceImpl.java

@@ -0,0 +1,61 @@
+package com.fjhx.material.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.utils.WrapperUtil;
+import com.fjhx.entity.material.Material;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.material.mapper.MaterialMapper;
+import com.fjhx.material.service.MaterialService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Service
+public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService {
+
+    @Override
+    public Page<Material> getPage(Map<String, String> condition) {
+
+        QueryWrapper<Material> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .eqTenantId()
+                .createTimeDesc();
+
+        Page<Material> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(MaterialVo materialVo) {
+        save(materialVo);
+    }
+
+    @Override
+    public void edit(MaterialVo materialVo) {
+        updateById(materialVo);
+    }
+
+    @Override
+    public void delete(MaterialVo materialVo) {
+        removeById(materialVo.getId());
+    }
+
+    @Override
+    public Material detail(MaterialVo materialVo) {
+        Material result = getById(materialVo.getId());
+        return result;
+    }
+
+}

+ 62 - 0
hx-serve/product-library/src/main/java/com/fjhx/product/controller/ProductController.java

@@ -0,0 +1,62 @@
+package com.fjhx.product.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.product.Product;
+import com.fjhx.params.product.ProductVo;
+import com.fjhx.product.service.ProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 产品 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@RestController
+@RequestMapping("/product")
+public class ProductController {
+
+    @Autowired
+    private ProductService productService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<Product> result = productService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody ProductVo productVo){
+        productService.add(productVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody ProductVo productVo){
+        productService.edit(productVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody ProductVo productVo){
+        productService.delete(productVo);
+        return R.success();
+    }
+
+    @PostMapping("/detail")
+    public R detail(@RequestBody ProductVo productVo){
+        Product result = productService.detail(productVo);
+        return R.success(result);
+    }
+
+}
+

+ 16 - 0
hx-serve/product-library/src/main/java/com/fjhx/product/mapper/ProductMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.product.mapper;
+
+import com.fjhx.entity.product.Product;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 产品 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface ProductMapper extends BaseMapper<Product> {
+
+}

+ 5 - 0
hx-serve/product-library/src/main/java/com/fjhx/product/mapper/ProductMapper.xml

@@ -0,0 +1,5 @@
+<?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="com.fjhx.product.mapper.ProductMapper">
+
+</mapper>

+ 30 - 0
hx-serve/product-library/src/main/java/com/fjhx/product/service/ProductService.java

@@ -0,0 +1,30 @@
+package com.fjhx.product.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.product.Product;
+import com.fjhx.params.product.ProductVo;
+import com.fjhx.base.BaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 产品 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+public interface ProductService extends BaseService<Product> {
+
+    Page<Product> getPage(Map<String, String> condition);
+
+    void add(ProductVo productVo);
+
+    void edit(ProductVo productVo);
+
+    void delete(ProductVo productVo);
+
+    Product detail(ProductVo productVo);
+
+}

+ 61 - 0
hx-serve/product-library/src/main/java/com/fjhx/product/service/impl/ProductServiceImpl.java

@@ -0,0 +1,61 @@
+package com.fjhx.product.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.utils.WrapperUtil;
+import com.fjhx.entity.product.Product;
+import com.fjhx.params.product.ProductVo;
+import com.fjhx.product.mapper.ProductMapper;
+import com.fjhx.product.service.ProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 产品 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-07-06
+ */
+@Service
+public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
+
+    @Override
+    public Page<Product> getPage(Map<String, String> condition) {
+
+        QueryWrapper<Product> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .eqTenantId()
+                .createTimeDesc();
+
+        Page<Product> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(ProductVo productVo) {
+        save(productVo);
+    }
+
+    @Override
+    public void edit(ProductVo productVo) {
+        updateById(productVo);
+    }
+
+    @Override
+    public void delete(ProductVo productVo) {
+        removeById(productVo.getId());
+    }
+
+    @Override
+    public Product detail(ProductVo productVo) {
+        Product result = getById(productVo.getId());
+        return result;
+    }
+
+}

+ 0 - 1
hx-serve/storage/src/main/java/com/fjhx/StorageApplication.java

@@ -12,7 +12,6 @@ public class StorageApplication {
     private static final String APP_NAME = "storage";
 
     public static void main(String[] args) {
-        // 调用ApiConstant.Server赋值appName会出现单服务打包失败的情况
         BladeApplication.run(APP_NAME, StorageApplication.class, args);
     }