瀏覽代碼

供应商

home 2 年之前
父節點
當前提交
d86f92c8bc
共有 45 個文件被更改,包括 1613 次插入0 次删除
  1. 19 0
      hx-common/common-video/pom.xml
  2. 1 0
      hx-common/pom.xml
  3. 3 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/constant/common/ConfigConstant.java
  4. 74 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/common/CommonFile.java
  5. 118 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/Supplier.java
  6. 69 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierBank.java
  7. 61 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierContacts.java
  8. 49 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierKeep.java
  9. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonFileEx.java
  10. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonFileVo.java
  11. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierBankEx.java
  12. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierBankVo.java
  13. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierContactsEx.java
  14. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierContactsVo.java
  15. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierEx.java
  16. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierKeepEx.java
  17. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierKeepVo.java
  18. 31 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierVo.java
  19. 5 0
      hx-service/storage-restructure/pom.xml
  20. 43 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/common/CommonFileController.java
  21. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierBankController.java
  22. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierContactsController.java
  23. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierController.java
  24. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierKeepController.java
  25. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonFileMapper.java
  26. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonFileMapper.xml
  27. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierBankMapper.java
  28. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierBankMapper.xml
  29. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierContactsMapper.java
  30. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierContactsMapper.xml
  31. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierKeepMapper.java
  32. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierKeepMapper.xml
  33. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierMapper.java
  34. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierMapper.xml
  35. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/common/CommonFileService.java
  36. 86 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/common/impl/CommonFileServiceImpl.java
  37. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierBankService.java
  38. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierContactsService.java
  39. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierKeepService.java
  40. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierService.java
  41. 54 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierBankServiceImpl.java
  42. 54 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierContactsServiceImpl.java
  43. 54 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierKeepServiceImpl.java
  44. 133 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierServiceImpl.java
  45. 137 0
      hx-service/storage-restructure/src/main/java/com/fjhx/utils/OssUtil.java

+ 19 - 0
hx-common/common-video/pom.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>fjhx-cloud</artifactId>
+        <groupId>com.fjhx</groupId>
+        <version>3.2.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>common-video</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+</project>

+ 1 - 0
hx-common/pom.xml

@@ -20,6 +20,7 @@
         <module>common-rocketmq</module>
         <module>common-socket</module>
         <module>common-tool</module>
+        <module>common-video</module>
         <module>product-library</module>
     </modules>
 

+ 3 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/constant/common/ConfigConstant.java

@@ -5,6 +5,9 @@ package com.fjhx.constant.common;
  */
 public interface ConfigConstant {
 
+    /**
+     * 滞留周期
+     */
     String DELAY_PERIOD = "delayPeriod";
 
 }

+ 74 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/common/CommonFile.java

@@ -0,0 +1,74 @@
+package com.fjhx.entity.common;
+
+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.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 文件
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonFile extends StorageBaseEntity {
+
+
+    /**
+     * 文件名称
+     */
+    private String fileName;
+
+    /**
+     * 文件后缀
+     */
+    private String fileSuffix;
+
+    /**
+     * 文件大小
+     */
+    private Long fileSize;
+
+    /**
+     * 文件类型
+     */
+    private String contentType;
+
+    /**
+     * 文件路径
+     */
+    private String filePath;
+
+    /**
+     * 业务id
+     */
+    private Long businessId;
+
+    /**
+     * 业务类型
+     */
+    private Integer businessType;
+
+    /**
+     * 模块名称
+     */
+    private String applicationName;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 118 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/Supplier.java

@@ -0,0 +1,118 @@
+package com.fjhx.entity.supplier;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.StorageBaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 供应商
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Supplier extends StorageBaseEntity {
+
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 绑定用户
+     */
+    private Long bindUserId;
+
+    /**
+     * 物料类型
+     */
+    private String materialClassifyId;
+
+    /**
+     * 供应商名称
+     */
+    private String name;
+
+    /**
+     * 帐期
+     */
+    private Integer accountDate;
+
+    /**
+     * 账期说明
+     */
+    private String accountDateRemark;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 法定代表人
+     */
+    private String legalPerson;
+
+    /**
+     * 社会信用代码
+     */
+    private String societyCreditCode;
+
+    /**
+     * 注册地址
+     */
+    private String registeredAddress;
+
+    /**
+     * 成立日期
+     */
+    private Date establishDate;
+
+    /**
+     * 注册资本
+     */
+    private String registeredCapital;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
+
+    /**
+     * 运营期限
+     */
+    private String businessTerm;
+
+    /**
+     * 运营范围
+     */
+    private String businessScope;
+
+    /**
+     * 营业执照
+     */
+    private String businessLicense;
+
+    /**
+     * 加州65号法令合规测试证书
+     */
+    private String certificate;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 69 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierBank.java

@@ -0,0 +1,69 @@
+package com.fjhx.entity.supplier;
+
+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.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 供应商收款账户
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierBank extends StorageBaseEntity {
+
+
+    /**
+     * 供应商ID
+     */
+    private Long supplierId;
+
+    /**
+     * 对公户名
+     */
+    private String accoutName;
+
+    /**
+     * 开户银行
+     */
+    private String openBank;
+
+    /**
+     * 对公账号
+     */
+    private String bankAccout;
+
+    /**
+     * 对私户名
+     */
+    private String privateAccoutName;
+
+    /**
+     * 开户银行
+     */
+    private String privateOpenBank;
+
+    /**
+     * 对私账号
+     */
+    private String privateBankAccout;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 61 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierContacts.java

@@ -0,0 +1,61 @@
+package com.fjhx.entity.supplier;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.StorageBaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 供应商联系人
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierContacts extends StorageBaseEntity {
+
+
+    /**
+     * 供应商ID
+     */
+    private Long supplierId;
+
+    /**
+     * 联系人
+     */
+    private String linkMen;
+
+    /**
+     * 手机
+     */
+    private String mobile;
+
+    /**
+     * 电话
+     */
+    private String telephone;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 传真
+     */
+    private String fax;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 49 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/supplier/SupplierKeep.java

@@ -0,0 +1,49 @@
+package com.fjhx.entity.supplier;
+
+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.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 供应商维护记录
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierKeep extends StorageBaseEntity {
+
+
+    /**
+     * 供应商ID
+     */
+    private Long supplierId;
+
+    /**
+     * 照片
+     */
+    private String picUrl;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonFileEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.common;
+
+import com.fjhx.entity.common.CommonFile;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 文件
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonFileEx extends CommonFile {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonFileVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.common;
+
+import com.fjhx.entity.common.CommonFile;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 文件
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonFileVo extends CommonFile {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierBankEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierBank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商收款账户
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierBankEx extends SupplierBank {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierBankVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierBank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商收款账户
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierBankVo extends SupplierBank {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierContactsEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierContacts;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商联系人
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierContactsEx extends SupplierContacts {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierContactsVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierContacts;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商联系人
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierContactsVo extends SupplierContacts {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.Supplier;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierEx extends Supplier {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierKeepEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierKeep;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商维护记录
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierKeepEx extends SupplierKeep {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierKeepVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.supplier.SupplierKeep;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 供应商维护记录
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierKeepVo extends SupplierKeep {
+
+}

+ 31 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/supplier/SupplierVo.java

@@ -0,0 +1,31 @@
+package com.fjhx.params.supplier;
+
+import com.fjhx.entity.common.CommonFile;
+import com.fjhx.entity.supplier.Supplier;
+import com.fjhx.entity.supplier.SupplierBank;
+import com.fjhx.entity.supplier.SupplierContacts;
+import com.fjhx.entity.supplier.SupplierKeep;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 供应商
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SupplierVo extends Supplier {
+
+    private SupplierBank supplierBank;
+
+    private SupplierContacts supplierContacts;
+
+    private List<SupplierKeep> supplierKeepList;
+
+    private List<CommonFile> otherQualifications;
+
+}

+ 5 - 0
hx-service/storage-restructure/pom.xml

@@ -33,6 +33,11 @@
             <artifactId>blade-user-api</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.aliyun.oss</groupId>
+            <artifactId>aliyun-sdk-oss</artifactId>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 43 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/common/CommonFileController.java

@@ -0,0 +1,43 @@
+package com.fjhx.controller.common;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.entity.common.CommonFile;
+import com.fjhx.service.common.CommonFileService;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 文件 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@RestController
+@RequestMapping("/commonFile")
+public class CommonFileController {
+
+    @Autowired
+    private CommonFileService commonFileService;
+
+    @PostMapping("/upload")
+    public R uploadFile(@RequestParam("file") MultipartFile file) {
+        Map<String, String> result = commonFileService.uploadFile(file);
+        return R.success(result);
+    }
+
+    @PostMapping("list")
+    public R list(@RequestBody CommonFile commonFile) {
+        List<CommonFile> list = commonFileService.list(Wrappers.<CommonFile>lambdaQuery()
+                .eq(CommonFile::getBusinessId, commonFile.getBusinessId()));
+        return R.success(list);
+    }
+    
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierBankController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.supplier.SupplierBank;
+import com.fjhx.params.supplier.SupplierBankVo;
+import com.fjhx.service.supplier.SupplierBankService;
+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-08-08
+ */
+@RestController
+@RequestMapping("/supplierBank")
+public class SupplierBankController {
+
+    @Autowired
+    private SupplierBankService supplierBankService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<SupplierBank> result = supplierBankService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody SupplierBankVo supplierBankVo){
+        supplierBankService.add(supplierBankVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody SupplierBankVo supplierBankVo){
+        supplierBankService.edit(supplierBankVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody SupplierBankVo supplierBankVo){
+        supplierBankService.delete(supplierBankVo);
+        return R.success();
+    }
+
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierContactsController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.supplier.SupplierContacts;
+import com.fjhx.params.supplier.SupplierContactsVo;
+import com.fjhx.service.supplier.SupplierContactsService;
+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-08-08
+ */
+@RestController
+@RequestMapping("/supplierContacts")
+public class SupplierContactsController {
+
+    @Autowired
+    private SupplierContactsService supplierContactsService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<SupplierContacts> result = supplierContactsService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody SupplierContactsVo supplierContactsVo){
+        supplierContactsService.add(supplierContactsVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody SupplierContactsVo supplierContactsVo){
+        supplierContactsService.edit(supplierContactsVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody SupplierContactsVo supplierContactsVo){
+        supplierContactsService.delete(supplierContactsVo);
+        return R.success();
+    }
+
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.supplier.Supplier;
+import com.fjhx.params.supplier.SupplierVo;
+import com.fjhx.service.supplier.SupplierService;
+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-08-08
+ */
+@RestController
+@RequestMapping("/supplier")
+public class SupplierController {
+
+    @Autowired
+    private SupplierService supplierService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<Supplier> result = supplierService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody SupplierVo supplierVo){
+        supplierService.add(supplierVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody SupplierVo supplierVo){
+        supplierService.edit(supplierVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody SupplierVo supplierVo){
+        supplierService.delete(supplierVo);
+        return R.success();
+    }
+
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/supplier/SupplierKeepController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.supplier.SupplierKeep;
+import com.fjhx.params.supplier.SupplierKeepVo;
+import com.fjhx.service.supplier.SupplierKeepService;
+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-08-08
+ */
+@RestController
+@RequestMapping("/supplierKeep")
+public class SupplierKeepController {
+
+    @Autowired
+    private SupplierKeepService supplierKeepService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<SupplierKeep> result = supplierKeepService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody SupplierKeepVo supplierKeepVo){
+        supplierKeepService.add(supplierKeepVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody SupplierKeepVo supplierKeepVo){
+        supplierKeepService.edit(supplierKeepVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody SupplierKeepVo supplierKeepVo){
+        supplierKeepService.delete(supplierKeepVo);
+        return R.success();
+    }
+
+}
+

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonFileMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.common;
+
+import com.fjhx.entity.common.CommonFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 文件 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface CommonFileMapper extends BaseMapper<CommonFile> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonFileMapper.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.mapper.common.CommonFileMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierBankMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.supplier;
+
+import com.fjhx.entity.supplier.SupplierBank;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 供应商收款账户 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierBankMapper extends BaseMapper<SupplierBank> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierBankMapper.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.mapper.supplier.SupplierBankMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierContactsMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.supplier;
+
+import com.fjhx.entity.supplier.SupplierContacts;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 供应商联系人 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierContactsMapper extends BaseMapper<SupplierContacts> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierContactsMapper.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.mapper.supplier.SupplierContactsMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierKeepMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.supplier;
+
+import com.fjhx.entity.supplier.SupplierKeep;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 供应商维护记录 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierKeepMapper extends BaseMapper<SupplierKeep> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierKeepMapper.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.mapper.supplier.SupplierKeepMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.supplier;
+
+import com.fjhx.entity.supplier.Supplier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 供应商 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierMapper extends BaseMapper<Supplier> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/supplier/SupplierMapper.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.mapper.supplier.SupplierMapper">
+
+</mapper>

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/common/CommonFileService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.common;
+
+import com.fjhx.base.StorageBaseService;
+import com.fjhx.entity.common.CommonFile;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 文件 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface CommonFileService extends StorageBaseService<CommonFile> {
+
+    Map<String, String> uploadFile(MultipartFile file);
+
+    void add(Long businessId, List<CommonFile> list);
+
+    void edit(Long businessId, List<CommonFile> list);
+
+    void delete(Long id);
+
+}

+ 86 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/common/impl/CommonFileServiceImpl.java

@@ -0,0 +1,86 @@
+package com.fjhx.service.common.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.base.StorageBaseEntity;
+import com.fjhx.entity.common.CommonFile;
+import com.fjhx.mapper.common.CommonFileMapper;
+import com.fjhx.service.common.CommonFileService;
+import com.fjhx.utils.OssUtil;
+import org.springblade.core.log.exception.ServiceException;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 文件 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Service
+public class CommonFileServiceImpl extends ServiceImpl<CommonFileMapper, CommonFile> implements CommonFileService {
+
+    @Override
+    public Map<String, String> uploadFile(MultipartFile file) {
+
+        String fileName = file.getOriginalFilename();
+        String suffix = FileUtil.getSuffix(fileName);
+
+        String filePath = OssUtil.getFileKey(suffix);
+
+        try {
+            OssUtil.uploadFile(filePath, file.getInputStream());
+        } catch (IOException e) {
+            throw new ServiceException("文件上传失败");
+        }
+
+        CommonFile fileInfo = new CommonFile();
+        fileInfo.setFileName(fileName);
+        fileInfo.setFileSuffix(suffix);
+        fileInfo.setContentType(file.getContentType());
+        fileInfo.setFileSize(file.getSize());
+        fileInfo.setFilePath(filePath);
+        save(fileInfo);
+
+        Map<String, String> map = new HashMap<>();
+
+        map.put("fileName", fileName);
+        map.put("filePath", filePath);
+        map.put("id", fileInfo.getId().toString());
+
+        return null;
+    }
+
+    @Override
+    public void add(Long businessId, List<CommonFile> list) {
+        if (ObjectUtil.isEmpty(list)) return;
+        list.forEach(commonFile -> commonFile.setBusinessId(businessId));
+        updateBatchById(list);
+    }
+
+    @Override
+    public void edit(Long businessId, List<CommonFile> list) {
+        add(businessId, list);
+
+        List<Long> idList = list.stream().map(CommonFile::getId).collect(Collectors.toList());
+
+        remove(Wrappers.<CommonFile>lambdaQuery()
+                .eq(CommonFile::getBusinessId, businessId).notIn(StorageBaseEntity::getId, idList));
+    }
+
+    @Override
+    public void delete(Long id) {
+        remove(CommonFile::getBusinessId, id);
+    }
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierBankService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.supplier.SupplierBank;
+import com.fjhx.params.supplier.SupplierBankVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商收款账户 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierBankService extends StorageBaseService<SupplierBank> {
+
+    Page<SupplierBank> getPage(Map<String, String> condition);
+
+    void add(SupplierBankVo supplierBankVo);
+
+    void edit(SupplierBankVo supplierBankVo);
+
+    void delete(SupplierBankVo supplierBankVo);
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierContactsService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.supplier.SupplierContacts;
+import com.fjhx.params.supplier.SupplierContactsVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商联系人 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierContactsService extends StorageBaseService<SupplierContacts> {
+
+    Page<SupplierContacts> getPage(Map<String, String> condition);
+
+    void add(SupplierContactsVo supplierContactsVo);
+
+    void edit(SupplierContactsVo supplierContactsVo);
+
+    void delete(SupplierContactsVo supplierContactsVo);
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierKeepService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.supplier.SupplierKeep;
+import com.fjhx.params.supplier.SupplierKeepVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商维护记录 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierKeepService extends StorageBaseService<SupplierKeep> {
+
+    Page<SupplierKeep> getPage(Map<String, String> condition);
+
+    void add(SupplierKeepVo supplierKeepVo);
+
+    void edit(SupplierKeepVo supplierKeepVo);
+
+    void delete(SupplierKeepVo supplierKeepVo);
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/SupplierService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.supplier;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.supplier.Supplier;
+import com.fjhx.params.supplier.SupplierVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+public interface SupplierService extends StorageBaseService<Supplier> {
+
+    Page<Supplier> getPage(Map<String, String> condition);
+
+    void add(SupplierVo supplierVo);
+
+    void edit(SupplierVo supplierVo);
+
+    void delete(SupplierVo supplierVo);
+
+}

+ 54 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierBankServiceImpl.java

@@ -0,0 +1,54 @@
+package com.fjhx.service.supplier.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.supplier.SupplierBank;
+import com.fjhx.params.supplier.SupplierBankVo;
+import com.fjhx.mapper.supplier.SupplierBankMapper;
+import com.fjhx.service.supplier.SupplierBankService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商收款账户 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Service
+public class SupplierBankServiceImpl extends ServiceImpl<SupplierBankMapper, SupplierBank> implements SupplierBankService {
+
+    @Override
+    public Page<SupplierBank> getPage(Map<String, String> condition) {
+
+        QueryWrapper<SupplierBank> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .createTimeDesc();
+
+        Page<SupplierBank> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(SupplierBankVo supplierBankVo) {
+        save(supplierBankVo);
+    }
+
+    @Override
+    public void edit(SupplierBankVo supplierBankVo) {
+        updateById(supplierBankVo);
+    }
+
+    @Override
+    public void delete(SupplierBankVo supplierBankVo) {
+        removeById(supplierBankVo.getId());
+    }
+
+}

+ 54 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierContactsServiceImpl.java

@@ -0,0 +1,54 @@
+package com.fjhx.service.supplier.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.supplier.SupplierContacts;
+import com.fjhx.params.supplier.SupplierContactsVo;
+import com.fjhx.mapper.supplier.SupplierContactsMapper;
+import com.fjhx.service.supplier.SupplierContactsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商联系人 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Service
+public class SupplierContactsServiceImpl extends ServiceImpl<SupplierContactsMapper, SupplierContacts> implements SupplierContactsService {
+
+    @Override
+    public Page<SupplierContacts> getPage(Map<String, String> condition) {
+
+        QueryWrapper<SupplierContacts> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .createTimeDesc();
+
+        Page<SupplierContacts> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(SupplierContactsVo supplierContactsVo) {
+        save(supplierContactsVo);
+    }
+
+    @Override
+    public void edit(SupplierContactsVo supplierContactsVo) {
+        updateById(supplierContactsVo);
+    }
+
+    @Override
+    public void delete(SupplierContactsVo supplierContactsVo) {
+        removeById(supplierContactsVo.getId());
+    }
+
+}

+ 54 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierKeepServiceImpl.java

@@ -0,0 +1,54 @@
+package com.fjhx.service.supplier.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.supplier.SupplierKeep;
+import com.fjhx.params.supplier.SupplierKeepVo;
+import com.fjhx.mapper.supplier.SupplierKeepMapper;
+import com.fjhx.service.supplier.SupplierKeepService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商维护记录 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Service
+public class SupplierKeepServiceImpl extends ServiceImpl<SupplierKeepMapper, SupplierKeep> implements SupplierKeepService {
+
+    @Override
+    public Page<SupplierKeep> getPage(Map<String, String> condition) {
+
+        QueryWrapper<SupplierKeep> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .createTimeDesc();
+
+        Page<SupplierKeep> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Override
+    public void add(SupplierKeepVo supplierKeepVo) {
+        save(supplierKeepVo);
+    }
+
+    @Override
+    public void edit(SupplierKeepVo supplierKeepVo) {
+        updateById(supplierKeepVo);
+    }
+
+    @Override
+    public void delete(SupplierKeepVo supplierKeepVo) {
+        removeById(supplierKeepVo.getId());
+    }
+
+}

+ 133 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/supplier/impl/SupplierServiceImpl.java

@@ -0,0 +1,133 @@
+package com.fjhx.service.supplier.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.common.CommonFile;
+import com.fjhx.entity.supplier.Supplier;
+import com.fjhx.entity.supplier.SupplierBank;
+import com.fjhx.entity.supplier.SupplierContacts;
+import com.fjhx.entity.supplier.SupplierKeep;
+import com.fjhx.mapper.supplier.SupplierMapper;
+import com.fjhx.params.supplier.SupplierVo;
+import com.fjhx.service.common.CommonFileService;
+import com.fjhx.service.supplier.SupplierBankService;
+import com.fjhx.service.supplier.SupplierContactsService;
+import com.fjhx.service.supplier.SupplierKeepService;
+import com.fjhx.service.supplier.SupplierService;
+import com.fjhx.utils.WrapperUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 供应商 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-08
+ */
+@Service
+public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements SupplierService {
+
+    @Autowired
+    private SupplierBankService supplierBankService;
+
+    @Autowired
+    private SupplierContactsService supplierContactsService;
+
+    @Autowired
+    private SupplierKeepService supplierKeepService;
+
+    @Autowired
+    private CommonFileService commonFileService;
+
+    @Override
+    public Page<Supplier> getPage(Map<String, String> condition) {
+
+        QueryWrapper<Supplier> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .createTimeDesc();
+
+        Page<Supplier> page = page(condition, wrapper);
+        return page;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(SupplierVo supplierVo) {
+        save(supplierVo);
+
+        Long id = supplierVo.getId();
+
+        // 供应商收款账户
+        SupplierBank supplierBank = supplierVo.getSupplierBank();
+        supplierBank.setSupplierId(id);
+        supplierBankService.save(supplierBank);
+
+        // 供应商联系人
+        SupplierContacts supplierContacts = supplierVo.getSupplierContacts();
+        supplierContacts.setSupplierId(id);
+        supplierContactsService.save(supplierContacts);
+
+        // 供应商维护记录
+        List<SupplierKeep> supplierKeepList = supplierVo.getSupplierKeepList();
+        supplierKeepList.forEach(supplierKeep -> supplierKeep.setSupplierId(id));
+        supplierKeepService.saveBatch(supplierKeepList);
+
+        // 其他资质
+        List<CommonFile> otherQualifications = supplierVo.getOtherQualifications();
+        commonFileService.add(id, otherQualifications);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(SupplierVo supplierVo) {
+        updateById(supplierVo);
+
+        Long id = supplierVo.getId();
+
+        // 供应商收款账户
+        SupplierBank supplierBank = supplierVo.getSupplierBank();
+        if (supplierBank != null) {
+            supplierBankService.updateById(supplierBank);
+        }
+
+        // 供应商联系人
+        SupplierContacts supplierContacts = supplierVo.getSupplierContacts();
+        if (supplierContacts != null) {
+            supplierContactsService.updateById(supplierContacts);
+        }
+
+        // 供应商维护记录
+        List<SupplierKeep> supplierKeepList = supplierVo.getSupplierKeepList();
+        if (ObjectUtil.isNotEmpty(supplierKeepList)) {
+            supplierKeepService.updateBatchById(supplierKeepList);
+        }
+
+        // 其他资质
+        List<CommonFile> otherQualifications = supplierVo.getOtherQualifications();
+        commonFileService.edit(id, otherQualifications);
+
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(SupplierVo supplierVo) {
+        Long id = supplierVo.getId();
+        removeById(id);
+
+        supplierBankService.remove(SupplierBank::getSupplierId, id);
+        supplierContactsService.remove(SupplierContacts::getSupplierId, id);
+        supplierKeepService.remove(SupplierKeep::getSupplierId, id);
+        commonFileService.delete(id);
+    }
+
+}

+ 137 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/utils/OssUtil.java

@@ -0,0 +1,137 @@
+package com.fjhx.utils;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.IdUtil;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.aliyun.oss.common.utils.BinaryUtil;
+import com.aliyun.oss.model.MatchMode;
+import com.aliyun.oss.model.PolicyConditions;
+import org.springblade.core.log.exception.ServiceException;
+import sun.misc.BASE64Decoder;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+public class OssUtil {
+
+    public static final String endpoint = "oss-cn-hangzhou.aliyuncs.com";
+
+    public static final String accessKeyId = "LTAI4G5JQxLKhvc53izDwT4x";
+
+    public static final String secretAccessKey = "oQBndIWAzxsNbM96zFkkFZZAAtuy1c";
+
+    public static final String bucketName = "fzjx";
+
+    private OssUtil() {
+    }
+
+    private static OSS getOssClient() {
+        return new OSSClientBuilder().build(endpoint, accessKeyId, secretAccessKey);
+    }
+
+    /**
+     * Base64字符串上传文件
+     */
+    public static void uploadFile(String key, String base64) {
+        ByteArrayInputStream stream;
+
+        try {
+            BASE64Decoder decoder = new BASE64Decoder();
+            byte[] bytes = decoder.decodeBuffer(base64);
+            stream = new ByteArrayInputStream(bytes);
+        } catch (IOException e) {
+            throw new ServiceException("base64错误");
+        }
+        OSS ossClient = getOssClient();
+        ossClient.putObject(bucketName, key, stream);
+        ossClient.shutdown();
+    }
+
+
+    /**
+     * inputStream上传文件
+     */
+    public static void uploadFile(String key, InputStream inputStream) {
+        OSS ossClient = getOssClient();
+        ossClient.putObject(bucketName, key, inputStream);
+        ossClient.shutdown();
+    }
+
+    /**
+     * 删除文件夹
+     */
+    public static void deleteFile(String key) {
+        OSS ossClient = getOssClient();
+        ossClient.deleteObject(bucketName, key);
+        ossClient.shutdown();
+    }
+
+    /**
+     * 获取文件key
+     *
+     * @param suffix
+     * @return
+     */
+    public static String getFileKey(String suffix) {
+        StringJoiner joiner = new StringJoiner("/");
+        joiner.add("fzjs");
+        joiner.add(DateUtil.format(new Date(), "yyyyMM/dd"));
+        joiner.add(IdUtil.fastSimpleUUID() + "." + suffix);
+        return joiner.toString();
+    }
+
+    public static String getFilePath(String fileKey) {
+        return "https://" + bucketName + "." + endpoint + "/" + fileKey;
+    }
+
+    /**
+     * oss前端获取签名直传
+     *
+     * @param fileName 文件名称,带后缀
+     * @return
+     */
+    public static Map<String, Object> getOssSign(String fileName) {
+        // 获取oss链接实例
+        OSS ossClient = OssUtil.getOssClient();
+        // 生成文件保存在oss中的存放位置
+        String dir = getFileKey(FileUtil.getSuffix(fileName));
+
+        HashMap<String, Object> map = new LinkedHashMap<>();
+        // 生成直连签名逻辑
+        try {
+            long expireTime = 60;
+            long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
+            Date expiration = new Date(expireEndTime);
+            PolicyConditions policyConditions = new PolicyConditions();
+            // PostObject请求最大可支持的文件大小为5 GB,在此设置最大上次文件大小为1000M
+            policyConditions.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
+            // MatchMode.Exact:精确匹配    MatchMode.StartWith:前缀匹配
+            policyConditions.addConditionItem(MatchMode.Exact, PolicyConditions.COND_KEY, dir);
+
+            String postPolicy = ossClient.generatePostPolicy(expiration, policyConditions);
+            byte[] binaryData = postPolicy.getBytes(StandardCharsets.UTF_8);
+            String encodedPolicy = BinaryUtil.toBase64String(binaryData);
+            String postSignature = ossClient.calculatePostSignature(postPolicy);
+
+            // 记录签名信息
+            map.put("accessId", accessKeyId);
+            map.put("policy", encodedPolicy);
+            map.put("signature", postSignature);
+            map.put("dir", dir);
+            map.put("host", getFilePath(""));
+            map.put("fileUrl", getFilePath(dir));
+
+        } catch (Exception e) {
+            throw new ServiceException("获取oss前端直传签名失败");
+        } finally {
+            ossClient.shutdown();
+        }
+
+        return map;
+    }
+}