소스 검색

Merge remote-tracking branch 'origin/master'

ghost 4 년 전
부모
커밋
931b8c9225
57개의 변경된 파일4026개의 추가작업 그리고 102개의 파일을 삭제
  1. 184 0
      forest-admin/admin-mbg/src/main/java/com/hwrj/cloud/admin/model/PmsProduct.java
  2. 970 0
      forest-admin/admin-mbg/src/main/java/com/hwrj/cloud/admin/model/PmsProductExample.java
  3. 277 7
      forest-admin/admin-mbg/src/main/resources/com/hwrj/cloud/admin/mapper/PmsProductMapper.xml
  4. 1 1
      forest-admin/admin-mbg/src/main/resources/generatorConfig.xml
  5. 5 0
      forest-admin/admin-server/pom.xml
  6. 37 8
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/BigCompanyController.java
  7. 28 7
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/BigScreamController.java
  8. 32 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/FileUploadController.java
  9. 5 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/PmsProductBigDataController.java
  10. 611 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/UploadCompanyInfoAndProductController.java
  11. 2 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dao/BigScreamDao.java
  12. 13 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/ForestPath.java
  13. 2 1
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/PmsProductExcel.java
  14. 7 3
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/excelEntity/UmsMemberOriginExcel.java
  15. 6 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/BigScreamService.java
  16. 1 1
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/UmsCompanyService.java
  17. 5 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/BigScreamServiceImpl.java
  18. 6 4
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsCompanyInfoServiceImpl.java
  19. 24 2
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsMemberOriginServiceImpl.java
  20. 47 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/util/OrderNo.java
  21. 99 0
      forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/util/UploadFileUtil.java
  22. 2 2
      forest-admin/admin-server/src/main/resources/bootstrap.yml
  23. 4 4
      forest-admin/admin-server/src/main/resources/dao/BigCompanyDao.xml
  24. 3 0
      forest-admin/admin-server/src/main/resources/dao/BigScreamDao.xml
  25. 1 0
      forest-admin/admin-server/src/main/resources/dao/ProductExcelDao.xml
  26. 615 0
      forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/FirstUploadForestData.java
  27. 15 0
      forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/ForestPath.java
  28. 2 14
      forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/UploadTest.java
  29. 2 2
      forest-gateway/src/main/resources/bootstrap.yml
  30. 1 1
      forest-monitor/src/main/resources/application-dev.yml
  31. 84 0
      forest-portal/portal-common/src/main/java/com/hwrj/cloud/portal/model/UmsMember.java
  32. 12 0
      forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/PmsProduct.java
  33. 60 0
      forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/PmsProductExample.java
  34. 84 0
      forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/UmsMember.java
  35. 470 0
      forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/UmsMemberExample.java
  36. 26 7
      forest-portal/portal-mbg/src/main/resources/com/hwrj/cloud/portal/mapper/PmsProductMapper.xml
  37. 117 5
      forest-portal/portal-mbg/src/main/resources/com/hwrj/cloud/portal/mapper/UmsMemberMapper.xml
  38. 1 0
      forest-portal/portal-server/pom.xml
  39. 1 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/ForestPortalApplication.java
  40. 4 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/OmePreItemController.java
  41. 1 1
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/PmsPortalProductController.java
  42. 26 4
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/UmsCompanyInfoController.java
  43. 12 4
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/WechatH5Controller.java
  44. 12 15
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/domain/UmsCompanyInfoDto.java
  45. 10 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/domain/UmsMemberCert.java
  46. 7 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/PmsPortalProductService.java
  47. 3 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/UmsMemberPlatformService.java
  48. 8 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/OmsPreItemServiceImpl.java
  49. 15 0
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/PmsPortalProductServiceImpl.java
  50. 3 1
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/UmsCompanyInfoServiceImpl.java
  51. 48 4
      forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/UmsMemberPlatformServiceImpl.java
  52. 2 2
      forest-portal/portal-server/src/main/resources/bootstrap.yml
  53. 2 1
      forest-portal/portal-server/src/main/resources/dao/OmsPreItemDao.xml
  54. 1 1
      nacos/conf/application.properties
  55. 8 0
      nacos/data/config-data/DEFAULT_GROUP/forest-admin
  56. 1 0
      nacos/data/config-data/DEFAULT_GROUP/forest-gateway
  57. 1 0
      nacos/data/config-data/DEFAULT_GROUP/forest-portal

+ 184 - 0
forest-admin/admin-mbg/src/main/java/com/hwrj/cloud/admin/model/PmsProduct.java

@@ -8,12 +8,16 @@ import java.util.Date;
 public class PmsProduct implements Serializable {
     private Long id;
 
+    @ApiModelProperty(value = "品牌id")
     private Long brandId;
 
+    @ApiModelProperty(value = "产品类别标识")
     private Long productCategoryId;
 
+    @ApiModelProperty(value = "运费模版id")
     private Long feightTemplateId;
 
+    @ApiModelProperty(value = "产品属性类别标识")
     private Long productAttributeCategoryId;
 
     private String name;
@@ -109,6 +113,51 @@ public class PmsProduct implements Serializable {
     @ApiModelProperty(value = "商品分类名称")
     private String productCategoryName;
 
+    @ApiModelProperty(value = "供应商id")
+    private Long umsCompanyInfoId;
+
+    @ApiModelProperty(value = "供应商")
+    private String umsCompanyInfo;
+
+    @ApiModelProperty(value = "批发价")
+    private BigDecimal tradePrice;
+
+    @ApiModelProperty(value = "规格")
+    private String spec;
+
+    @ApiModelProperty(value = "生产日期")
+    private String dateOfManufacture;
+
+    @ApiModelProperty(value = "生产地id")
+    private Long placeOfProductionId;
+
+    @ApiModelProperty(value = "生产地")
+    private String placeOfProduction;
+
+    @ApiModelProperty(value = "使用说明")
+    private String instructions;
+
+    @ApiModelProperty(value = "保质期")
+    private String qualityGuaranteePeriod;
+
+    @ApiModelProperty(value = "注意事项")
+    private String pointsForAttention;
+
+    @ApiModelProperty(value = "创建人")
+    private Long createUser;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新人")
+    private Long updateUser;
+
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "0:后台发布1:移动端发布")
+    private Integer createType;
+
     @ApiModelProperty(value = "商品描述")
     private String description;
 
@@ -426,6 +475,126 @@ public class PmsProduct implements Serializable {
         this.productCategoryName = productCategoryName;
     }
 
+    public Long getUmsCompanyInfoId() {
+        return umsCompanyInfoId;
+    }
+
+    public void setUmsCompanyInfoId(Long umsCompanyInfoId) {
+        this.umsCompanyInfoId = umsCompanyInfoId;
+    }
+
+    public String getUmsCompanyInfo() {
+        return umsCompanyInfo;
+    }
+
+    public void setUmsCompanyInfo(String umsCompanyInfo) {
+        this.umsCompanyInfo = umsCompanyInfo;
+    }
+
+    public BigDecimal getTradePrice() {
+        return tradePrice;
+    }
+
+    public void setTradePrice(BigDecimal tradePrice) {
+        this.tradePrice = tradePrice;
+    }
+
+    public String getSpec() {
+        return spec;
+    }
+
+    public void setSpec(String spec) {
+        this.spec = spec;
+    }
+
+    public String getDateOfManufacture() {
+        return dateOfManufacture;
+    }
+
+    public void setDateOfManufacture(String dateOfManufacture) {
+        this.dateOfManufacture = dateOfManufacture;
+    }
+
+    public Long getPlaceOfProductionId() {
+        return placeOfProductionId;
+    }
+
+    public void setPlaceOfProductionId(Long placeOfProductionId) {
+        this.placeOfProductionId = placeOfProductionId;
+    }
+
+    public String getPlaceOfProduction() {
+        return placeOfProduction;
+    }
+
+    public void setPlaceOfProduction(String placeOfProduction) {
+        this.placeOfProduction = placeOfProduction;
+    }
+
+    public String getInstructions() {
+        return instructions;
+    }
+
+    public void setInstructions(String instructions) {
+        this.instructions = instructions;
+    }
+
+    public String getQualityGuaranteePeriod() {
+        return qualityGuaranteePeriod;
+    }
+
+    public void setQualityGuaranteePeriod(String qualityGuaranteePeriod) {
+        this.qualityGuaranteePeriod = qualityGuaranteePeriod;
+    }
+
+    public String getPointsForAttention() {
+        return pointsForAttention;
+    }
+
+    public void setPointsForAttention(String pointsForAttention) {
+        this.pointsForAttention = pointsForAttention;
+    }
+
+    public Long getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(Long createUser) {
+        this.createUser = createUser;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Long getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(Long updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Integer getCreateType() {
+        return createType;
+    }
+
+    public void setCreateType(Integer createType) {
+        this.createType = createType;
+    }
+
     public String getDescription() {
         return description;
     }
@@ -502,6 +671,21 @@ public class PmsProduct implements Serializable {
         sb.append(", promotionType=").append(promotionType);
         sb.append(", brandName=").append(brandName);
         sb.append(", productCategoryName=").append(productCategoryName);
+        sb.append(", umsCompanyInfoId=").append(umsCompanyInfoId);
+        sb.append(", umsCompanyInfo=").append(umsCompanyInfo);
+        sb.append(", tradePrice=").append(tradePrice);
+        sb.append(", spec=").append(spec);
+        sb.append(", dateOfManufacture=").append(dateOfManufacture);
+        sb.append(", placeOfProductionId=").append(placeOfProductionId);
+        sb.append(", placeOfProduction=").append(placeOfProduction);
+        sb.append(", instructions=").append(instructions);
+        sb.append(", qualityGuaranteePeriod=").append(qualityGuaranteePeriod);
+        sb.append(", pointsForAttention=").append(pointsForAttention);
+        sb.append(", createUser=").append(createUser);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateUser=").append(updateUser);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", createType=").append(createType);
         sb.append(", description=").append(description);
         sb.append(", detailDesc=").append(detailDesc);
         sb.append(", detailHtml=").append(detailHtml);

+ 970 - 0
forest-admin/admin-mbg/src/main/java/com/hwrj/cloud/admin/model/PmsProductExample.java

@@ -2505,6 +2505,976 @@ public class PmsProductExample {
             addCriterion("product_category_name not between", value1, value2, "productCategoryName");
             return (Criteria) this;
         }
+
+        public Criteria andUmsCompanyInfoIdIsNull() {
+            addCriterion("ums_company_info_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdIsNotNull() {
+            addCriterion("ums_company_info_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdEqualTo(Long value) {
+            addCriterion("ums_company_info_id =", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdNotEqualTo(Long value) {
+            addCriterion("ums_company_info_id <>", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdGreaterThan(Long value) {
+            addCriterion("ums_company_info_id >", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("ums_company_info_id >=", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdLessThan(Long value) {
+            addCriterion("ums_company_info_id <", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdLessThanOrEqualTo(Long value) {
+            addCriterion("ums_company_info_id <=", value, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdIn(List<Long> values) {
+            addCriterion("ums_company_info_id in", values, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdNotIn(List<Long> values) {
+            addCriterion("ums_company_info_id not in", values, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdBetween(Long value1, Long value2) {
+            addCriterion("ums_company_info_id between", value1, value2, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIdNotBetween(Long value1, Long value2) {
+            addCriterion("ums_company_info_id not between", value1, value2, "umsCompanyInfoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIsNull() {
+            addCriterion("ums_company_info is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIsNotNull() {
+            addCriterion("ums_company_info is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoEqualTo(String value) {
+            addCriterion("ums_company_info =", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoNotEqualTo(String value) {
+            addCriterion("ums_company_info <>", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoGreaterThan(String value) {
+            addCriterion("ums_company_info >", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoGreaterThanOrEqualTo(String value) {
+            addCriterion("ums_company_info >=", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoLessThan(String value) {
+            addCriterion("ums_company_info <", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoLessThanOrEqualTo(String value) {
+            addCriterion("ums_company_info <=", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoLike(String value) {
+            addCriterion("ums_company_info like", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoNotLike(String value) {
+            addCriterion("ums_company_info not like", value, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoIn(List<String> values) {
+            addCriterion("ums_company_info in", values, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoNotIn(List<String> values) {
+            addCriterion("ums_company_info not in", values, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoBetween(String value1, String value2) {
+            addCriterion("ums_company_info between", value1, value2, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andUmsCompanyInfoNotBetween(String value1, String value2) {
+            addCriterion("ums_company_info not between", value1, value2, "umsCompanyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceIsNull() {
+            addCriterion("trade_price is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceIsNotNull() {
+            addCriterion("trade_price is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceEqualTo(BigDecimal value) {
+            addCriterion("trade_price =", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceNotEqualTo(BigDecimal value) {
+            addCriterion("trade_price <>", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceGreaterThan(BigDecimal value) {
+            addCriterion("trade_price >", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceGreaterThanOrEqualTo(BigDecimal value) {
+            addCriterion("trade_price >=", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceLessThan(BigDecimal value) {
+            addCriterion("trade_price <", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceLessThanOrEqualTo(BigDecimal value) {
+            addCriterion("trade_price <=", value, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceIn(List<BigDecimal> values) {
+            addCriterion("trade_price in", values, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceNotIn(List<BigDecimal> values) {
+            addCriterion("trade_price not in", values, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("trade_price between", value1, value2, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andTradePriceNotBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("trade_price not between", value1, value2, "tradePrice");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecIsNull() {
+            addCriterion("spec is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecIsNotNull() {
+            addCriterion("spec is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecEqualTo(String value) {
+            addCriterion("spec =", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecNotEqualTo(String value) {
+            addCriterion("spec <>", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecGreaterThan(String value) {
+            addCriterion("spec >", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecGreaterThanOrEqualTo(String value) {
+            addCriterion("spec >=", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecLessThan(String value) {
+            addCriterion("spec <", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecLessThanOrEqualTo(String value) {
+            addCriterion("spec <=", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecLike(String value) {
+            addCriterion("spec like", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecNotLike(String value) {
+            addCriterion("spec not like", value, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecIn(List<String> values) {
+            addCriterion("spec in", values, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecNotIn(List<String> values) {
+            addCriterion("spec not in", values, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecBetween(String value1, String value2) {
+            addCriterion("spec between", value1, value2, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecNotBetween(String value1, String value2) {
+            addCriterion("spec not between", value1, value2, "spec");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureIsNull() {
+            addCriterion("date_of_manufacture is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureIsNotNull() {
+            addCriterion("date_of_manufacture is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureEqualTo(String value) {
+            addCriterion("date_of_manufacture =", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureNotEqualTo(String value) {
+            addCriterion("date_of_manufacture <>", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureGreaterThan(String value) {
+            addCriterion("date_of_manufacture >", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureGreaterThanOrEqualTo(String value) {
+            addCriterion("date_of_manufacture >=", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureLessThan(String value) {
+            addCriterion("date_of_manufacture <", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureLessThanOrEqualTo(String value) {
+            addCriterion("date_of_manufacture <=", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureLike(String value) {
+            addCriterion("date_of_manufacture like", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureNotLike(String value) {
+            addCriterion("date_of_manufacture not like", value, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureIn(List<String> values) {
+            addCriterion("date_of_manufacture in", values, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureNotIn(List<String> values) {
+            addCriterion("date_of_manufacture not in", values, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureBetween(String value1, String value2) {
+            addCriterion("date_of_manufacture between", value1, value2, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andDateOfManufactureNotBetween(String value1, String value2) {
+            addCriterion("date_of_manufacture not between", value1, value2, "dateOfManufacture");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdIsNull() {
+            addCriterion("place_of_production_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdIsNotNull() {
+            addCriterion("place_of_production_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdEqualTo(Long value) {
+            addCriterion("place_of_production_id =", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdNotEqualTo(Long value) {
+            addCriterion("place_of_production_id <>", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdGreaterThan(Long value) {
+            addCriterion("place_of_production_id >", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("place_of_production_id >=", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdLessThan(Long value) {
+            addCriterion("place_of_production_id <", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdLessThanOrEqualTo(Long value) {
+            addCriterion("place_of_production_id <=", value, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdIn(List<Long> values) {
+            addCriterion("place_of_production_id in", values, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdNotIn(List<Long> values) {
+            addCriterion("place_of_production_id not in", values, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdBetween(Long value1, Long value2) {
+            addCriterion("place_of_production_id between", value1, value2, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIdNotBetween(Long value1, Long value2) {
+            addCriterion("place_of_production_id not between", value1, value2, "placeOfProductionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIsNull() {
+            addCriterion("place_of_production is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIsNotNull() {
+            addCriterion("place_of_production is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionEqualTo(String value) {
+            addCriterion("place_of_production =", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionNotEqualTo(String value) {
+            addCriterion("place_of_production <>", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionGreaterThan(String value) {
+            addCriterion("place_of_production >", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionGreaterThanOrEqualTo(String value) {
+            addCriterion("place_of_production >=", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionLessThan(String value) {
+            addCriterion("place_of_production <", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionLessThanOrEqualTo(String value) {
+            addCriterion("place_of_production <=", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionLike(String value) {
+            addCriterion("place_of_production like", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionNotLike(String value) {
+            addCriterion("place_of_production not like", value, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionIn(List<String> values) {
+            addCriterion("place_of_production in", values, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionNotIn(List<String> values) {
+            addCriterion("place_of_production not in", values, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionBetween(String value1, String value2) {
+            addCriterion("place_of_production between", value1, value2, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlaceOfProductionNotBetween(String value1, String value2) {
+            addCriterion("place_of_production not between", value1, value2, "placeOfProduction");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsIsNull() {
+            addCriterion("instructions is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsIsNotNull() {
+            addCriterion("instructions is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsEqualTo(String value) {
+            addCriterion("instructions =", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsNotEqualTo(String value) {
+            addCriterion("instructions <>", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsGreaterThan(String value) {
+            addCriterion("instructions >", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsGreaterThanOrEqualTo(String value) {
+            addCriterion("instructions >=", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsLessThan(String value) {
+            addCriterion("instructions <", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsLessThanOrEqualTo(String value) {
+            addCriterion("instructions <=", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsLike(String value) {
+            addCriterion("instructions like", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsNotLike(String value) {
+            addCriterion("instructions not like", value, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsIn(List<String> values) {
+            addCriterion("instructions in", values, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsNotIn(List<String> values) {
+            addCriterion("instructions not in", values, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsBetween(String value1, String value2) {
+            addCriterion("instructions between", value1, value2, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstructionsNotBetween(String value1, String value2) {
+            addCriterion("instructions not between", value1, value2, "instructions");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodIsNull() {
+            addCriterion("quality_guarantee_period is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodIsNotNull() {
+            addCriterion("quality_guarantee_period is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodEqualTo(String value) {
+            addCriterion("quality_guarantee_period =", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodNotEqualTo(String value) {
+            addCriterion("quality_guarantee_period <>", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodGreaterThan(String value) {
+            addCriterion("quality_guarantee_period >", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodGreaterThanOrEqualTo(String value) {
+            addCriterion("quality_guarantee_period >=", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodLessThan(String value) {
+            addCriterion("quality_guarantee_period <", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodLessThanOrEqualTo(String value) {
+            addCriterion("quality_guarantee_period <=", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodLike(String value) {
+            addCriterion("quality_guarantee_period like", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodNotLike(String value) {
+            addCriterion("quality_guarantee_period not like", value, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodIn(List<String> values) {
+            addCriterion("quality_guarantee_period in", values, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodNotIn(List<String> values) {
+            addCriterion("quality_guarantee_period not in", values, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodBetween(String value1, String value2) {
+            addCriterion("quality_guarantee_period between", value1, value2, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andQualityGuaranteePeriodNotBetween(String value1, String value2) {
+            addCriterion("quality_guarantee_period not between", value1, value2, "qualityGuaranteePeriod");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionIsNull() {
+            addCriterion("points_for_attention is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionIsNotNull() {
+            addCriterion("points_for_attention is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionEqualTo(String value) {
+            addCriterion("points_for_attention =", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionNotEqualTo(String value) {
+            addCriterion("points_for_attention <>", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionGreaterThan(String value) {
+            addCriterion("points_for_attention >", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionGreaterThanOrEqualTo(String value) {
+            addCriterion("points_for_attention >=", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionLessThan(String value) {
+            addCriterion("points_for_attention <", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionLessThanOrEqualTo(String value) {
+            addCriterion("points_for_attention <=", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionLike(String value) {
+            addCriterion("points_for_attention like", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionNotLike(String value) {
+            addCriterion("points_for_attention not like", value, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionIn(List<String> values) {
+            addCriterion("points_for_attention in", values, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionNotIn(List<String> values) {
+            addCriterion("points_for_attention not in", values, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionBetween(String value1, String value2) {
+            addCriterion("points_for_attention between", value1, value2, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andPointsForAttentionNotBetween(String value1, String value2) {
+            addCriterion("points_for_attention not between", value1, value2, "pointsForAttention");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserIsNull() {
+            addCriterion("create_user is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserIsNotNull() {
+            addCriterion("create_user is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserEqualTo(Long value) {
+            addCriterion("create_user =", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserNotEqualTo(Long value) {
+            addCriterion("create_user <>", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserGreaterThan(Long value) {
+            addCriterion("create_user >", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserGreaterThanOrEqualTo(Long value) {
+            addCriterion("create_user >=", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserLessThan(Long value) {
+            addCriterion("create_user <", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserLessThanOrEqualTo(Long value) {
+            addCriterion("create_user <=", value, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserIn(List<Long> values) {
+            addCriterion("create_user in", values, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserNotIn(List<Long> values) {
+            addCriterion("create_user not in", values, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserBetween(Long value1, Long value2) {
+            addCriterion("create_user between", value1, value2, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateUserNotBetween(Long value1, Long value2) {
+            addCriterion("create_user not between", value1, value2, "createUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(Date value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Date value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Date value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Date value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Date> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Date> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Date value1, Date value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserIsNull() {
+            addCriterion("update_user is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserIsNotNull() {
+            addCriterion("update_user is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserEqualTo(Long value) {
+            addCriterion("update_user =", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserNotEqualTo(Long value) {
+            addCriterion("update_user <>", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserGreaterThan(Long value) {
+            addCriterion("update_user >", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserGreaterThanOrEqualTo(Long value) {
+            addCriterion("update_user >=", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserLessThan(Long value) {
+            addCriterion("update_user <", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserLessThanOrEqualTo(Long value) {
+            addCriterion("update_user <=", value, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserIn(List<Long> values) {
+            addCriterion("update_user in", values, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserNotIn(List<Long> values) {
+            addCriterion("update_user not in", values, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserBetween(Long value1, Long value2) {
+            addCriterion("update_user between", value1, value2, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateUserNotBetween(Long value1, Long value2) {
+            addCriterion("update_user not between", value1, value2, "updateUser");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeIsNull() {
+            addCriterion("create_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeIsNotNull() {
+            addCriterion("create_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeEqualTo(Integer value) {
+            addCriterion("create_type =", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotEqualTo(Integer value) {
+            addCriterion("create_type <>", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeGreaterThan(Integer value) {
+            addCriterion("create_type >", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("create_type >=", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeLessThan(Integer value) {
+            addCriterion("create_type <", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeLessThanOrEqualTo(Integer value) {
+            addCriterion("create_type <=", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeIn(List<Integer> values) {
+            addCriterion("create_type in", values, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotIn(List<Integer> values) {
+            addCriterion("create_type not in", values, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeBetween(Integer value1, Integer value2) {
+            addCriterion("create_type between", value1, value2, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotBetween(Integer value1, Integer value2) {
+            addCriterion("create_type not between", value1, value2, "createType");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 277 - 7
forest-admin/admin-mbg/src/main/resources/com/hwrj/cloud/admin/mapper/PmsProductMapper.xml

@@ -40,6 +40,21 @@
     <result column="promotion_type" jdbcType="INTEGER" property="promotionType" />
     <result column="brand_name" jdbcType="VARCHAR" property="brandName" />
     <result column="product_category_name" jdbcType="VARCHAR" property="productCategoryName" />
+    <result column="ums_company_info_id" jdbcType="BIGINT" property="umsCompanyInfoId" />
+    <result column="ums_company_info" jdbcType="VARCHAR" property="umsCompanyInfo" />
+    <result column="trade_price" jdbcType="DECIMAL" property="tradePrice" />
+    <result column="spec" jdbcType="VARCHAR" property="spec" />
+    <result column="date_of_manufacture" jdbcType="VARCHAR" property="dateOfManufacture" />
+    <result column="place_of_production_id" jdbcType="BIGINT" property="placeOfProductionId" />
+    <result column="place_of_production" jdbcType="VARCHAR" property="placeOfProduction" />
+    <result column="instructions" jdbcType="VARCHAR" property="instructions" />
+    <result column="quality_guarantee_period" jdbcType="VARCHAR" property="qualityGuaranteePeriod" />
+    <result column="points_for_attention" jdbcType="VARCHAR" property="pointsForAttention" />
+    <result column="create_user" jdbcType="BIGINT" property="createUser" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_user" jdbcType="BIGINT" property="updateUser" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="create_type" jdbcType="INTEGER" property="createType" />
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.hwrj.cloud.admin.model.PmsProduct">
     <result column="description" jdbcType="LONGVARCHAR" property="description" />
@@ -111,7 +126,10 @@
     verify_status, sort, sale, price, promotion_price, gift_growth, gift_point, use_point_limit, 
     sub_title, original_price, stock, low_stock, unit, weight, preview_status, service_ids, 
     keywords, note, album_pics, detail_title, promotion_start_time, promotion_end_time, 
-    promotion_per_limit, promotion_type, brand_name, product_category_name
+    promotion_per_limit, promotion_type, brand_name, product_category_name, ums_company_info_id, 
+    ums_company_info, trade_price, spec, date_of_manufacture, place_of_production_id, 
+    place_of_production, instructions, quality_guarantee_period, points_for_attention, 
+    create_user, create_time, update_user, update_time, create_type
   </sql>
   <sql id="Blob_Column_List">
     description, detail_desc, detail_html, detail_mobile_html
@@ -180,8 +198,14 @@
       keywords, note, album_pics, 
       detail_title, promotion_start_time, promotion_end_time, 
       promotion_per_limit, promotion_type, brand_name, 
-      product_category_name, description, detail_desc, 
-      detail_html, detail_mobile_html)
+      product_category_name, ums_company_info_id, ums_company_info, 
+      trade_price, spec, date_of_manufacture, 
+      place_of_production_id, place_of_production, 
+      instructions, quality_guarantee_period, points_for_attention, 
+      create_user, create_time, update_user, 
+      update_time, create_type, description, 
+      detail_desc, detail_html, detail_mobile_html
+      )
     values (#{brandId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{feightTemplateId,jdbcType=BIGINT}, 
       #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, 
       #{productSn,jdbcType=VARCHAR}, #{deleteStatus,jdbcType=INTEGER}, #{publishStatus,jdbcType=INTEGER}, 
@@ -194,8 +218,14 @@
       #{keywords,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{albumPics,jdbcType=VARCHAR}, 
       #{detailTitle,jdbcType=VARCHAR}, #{promotionStartTime,jdbcType=TIMESTAMP}, #{promotionEndTime,jdbcType=TIMESTAMP}, 
       #{promotionPerLimit,jdbcType=INTEGER}, #{promotionType,jdbcType=INTEGER}, #{brandName,jdbcType=VARCHAR}, 
-      #{productCategoryName,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}, #{detailDesc,jdbcType=LONGVARCHAR}, 
-      #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR})
+      #{productCategoryName,jdbcType=VARCHAR}, #{umsCompanyInfoId,jdbcType=BIGINT}, #{umsCompanyInfo,jdbcType=VARCHAR}, 
+      #{tradePrice,jdbcType=DECIMAL}, #{spec,jdbcType=VARCHAR}, #{dateOfManufacture,jdbcType=VARCHAR}, 
+      #{placeOfProductionId,jdbcType=BIGINT}, #{placeOfProduction,jdbcType=VARCHAR}, 
+      #{instructions,jdbcType=VARCHAR}, #{qualityGuaranteePeriod,jdbcType=VARCHAR}, #{pointsForAttention,jdbcType=VARCHAR}, 
+      #{createUser,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=BIGINT}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{createType,jdbcType=INTEGER}, #{description,jdbcType=LONGVARCHAR}, 
+      #{detailDesc,jdbcType=LONGVARCHAR}, #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.hwrj.cloud.admin.model.PmsProduct">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -314,6 +344,51 @@
       <if test="productCategoryName != null">
         product_category_name,
       </if>
+      <if test="umsCompanyInfoId != null">
+        ums_company_info_id,
+      </if>
+      <if test="umsCompanyInfo != null">
+        ums_company_info,
+      </if>
+      <if test="tradePrice != null">
+        trade_price,
+      </if>
+      <if test="spec != null">
+        spec,
+      </if>
+      <if test="dateOfManufacture != null">
+        date_of_manufacture,
+      </if>
+      <if test="placeOfProductionId != null">
+        place_of_production_id,
+      </if>
+      <if test="placeOfProduction != null">
+        place_of_production,
+      </if>
+      <if test="instructions != null">
+        instructions,
+      </if>
+      <if test="qualityGuaranteePeriod != null">
+        quality_guarantee_period,
+      </if>
+      <if test="pointsForAttention != null">
+        points_for_attention,
+      </if>
+      <if test="createUser != null">
+        create_user,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="updateUser != null">
+        update_user,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+      <if test="createType != null">
+        create_type,
+      </if>
       <if test="description != null">
         description,
       </if>
@@ -439,6 +514,51 @@
       <if test="productCategoryName != null">
         #{productCategoryName,jdbcType=VARCHAR},
       </if>
+      <if test="umsCompanyInfoId != null">
+        #{umsCompanyInfoId,jdbcType=BIGINT},
+      </if>
+      <if test="umsCompanyInfo != null">
+        #{umsCompanyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="tradePrice != null">
+        #{tradePrice,jdbcType=DECIMAL},
+      </if>
+      <if test="spec != null">
+        #{spec,jdbcType=VARCHAR},
+      </if>
+      <if test="dateOfManufacture != null">
+        #{dateOfManufacture,jdbcType=VARCHAR},
+      </if>
+      <if test="placeOfProductionId != null">
+        #{placeOfProductionId,jdbcType=BIGINT},
+      </if>
+      <if test="placeOfProduction != null">
+        #{placeOfProduction,jdbcType=VARCHAR},
+      </if>
+      <if test="instructions != null">
+        #{instructions,jdbcType=VARCHAR},
+      </if>
+      <if test="qualityGuaranteePeriod != null">
+        #{qualityGuaranteePeriod,jdbcType=VARCHAR},
+      </if>
+      <if test="pointsForAttention != null">
+        #{pointsForAttention,jdbcType=VARCHAR},
+      </if>
+      <if test="createUser != null">
+        #{createUser,jdbcType=BIGINT},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUser != null">
+        #{updateUser,jdbcType=BIGINT},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createType != null">
+        #{createType,jdbcType=INTEGER},
+      </if>
       <if test="description != null">
         #{description,jdbcType=LONGVARCHAR},
       </if>
@@ -576,6 +696,51 @@
       <if test="record.productCategoryName != null">
         product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},
       </if>
+      <if test="record.umsCompanyInfoId != null">
+        ums_company_info_id = #{record.umsCompanyInfoId,jdbcType=BIGINT},
+      </if>
+      <if test="record.umsCompanyInfo != null">
+        ums_company_info = #{record.umsCompanyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="record.tradePrice != null">
+        trade_price = #{record.tradePrice,jdbcType=DECIMAL},
+      </if>
+      <if test="record.spec != null">
+        spec = #{record.spec,jdbcType=VARCHAR},
+      </if>
+      <if test="record.dateOfManufacture != null">
+        date_of_manufacture = #{record.dateOfManufacture,jdbcType=VARCHAR},
+      </if>
+      <if test="record.placeOfProductionId != null">
+        place_of_production_id = #{record.placeOfProductionId,jdbcType=BIGINT},
+      </if>
+      <if test="record.placeOfProduction != null">
+        place_of_production = #{record.placeOfProduction,jdbcType=VARCHAR},
+      </if>
+      <if test="record.instructions != null">
+        instructions = #{record.instructions,jdbcType=VARCHAR},
+      </if>
+      <if test="record.qualityGuaranteePeriod != null">
+        quality_guarantee_period = #{record.qualityGuaranteePeriod,jdbcType=VARCHAR},
+      </if>
+      <if test="record.pointsForAttention != null">
+        points_for_attention = #{record.pointsForAttention,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createUser != null">
+        create_user = #{record.createUser,jdbcType=BIGINT},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.updateUser != null">
+        update_user = #{record.updateUser,jdbcType=BIGINT},
+      </if>
+      <if test="record.updateTime != null">
+        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.createType != null">
+        create_type = #{record.createType,jdbcType=INTEGER},
+      </if>
       <if test="record.description != null">
         description = #{record.description,jdbcType=LONGVARCHAR},
       </if>
@@ -633,6 +798,21 @@
       promotion_type = #{record.promotionType,jdbcType=INTEGER},
       brand_name = #{record.brandName,jdbcType=VARCHAR},
       product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},
+      ums_company_info_id = #{record.umsCompanyInfoId,jdbcType=BIGINT},
+      ums_company_info = #{record.umsCompanyInfo,jdbcType=VARCHAR},
+      trade_price = #{record.tradePrice,jdbcType=DECIMAL},
+      spec = #{record.spec,jdbcType=VARCHAR},
+      date_of_manufacture = #{record.dateOfManufacture,jdbcType=VARCHAR},
+      place_of_production_id = #{record.placeOfProductionId,jdbcType=BIGINT},
+      place_of_production = #{record.placeOfProduction,jdbcType=VARCHAR},
+      instructions = #{record.instructions,jdbcType=VARCHAR},
+      quality_guarantee_period = #{record.qualityGuaranteePeriod,jdbcType=VARCHAR},
+      points_for_attention = #{record.pointsForAttention,jdbcType=VARCHAR},
+      create_user = #{record.createUser,jdbcType=BIGINT},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      update_user = #{record.updateUser,jdbcType=BIGINT},
+      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      create_type = #{record.createType,jdbcType=INTEGER},
       description = #{record.description,jdbcType=LONGVARCHAR},
       detail_desc = #{record.detailDesc,jdbcType=LONGVARCHAR},
       detail_html = #{record.detailHtml,jdbcType=LONGVARCHAR},
@@ -680,7 +860,22 @@
       promotion_per_limit = #{record.promotionPerLimit,jdbcType=INTEGER},
       promotion_type = #{record.promotionType,jdbcType=INTEGER},
       brand_name = #{record.brandName,jdbcType=VARCHAR},
-      product_category_name = #{record.productCategoryName,jdbcType=VARCHAR}
+      product_category_name = #{record.productCategoryName,jdbcType=VARCHAR},
+      ums_company_info_id = #{record.umsCompanyInfoId,jdbcType=BIGINT},
+      ums_company_info = #{record.umsCompanyInfo,jdbcType=VARCHAR},
+      trade_price = #{record.tradePrice,jdbcType=DECIMAL},
+      spec = #{record.spec,jdbcType=VARCHAR},
+      date_of_manufacture = #{record.dateOfManufacture,jdbcType=VARCHAR},
+      place_of_production_id = #{record.placeOfProductionId,jdbcType=BIGINT},
+      place_of_production = #{record.placeOfProduction,jdbcType=VARCHAR},
+      instructions = #{record.instructions,jdbcType=VARCHAR},
+      quality_guarantee_period = #{record.qualityGuaranteePeriod,jdbcType=VARCHAR},
+      points_for_attention = #{record.pointsForAttention,jdbcType=VARCHAR},
+      create_user = #{record.createUser,jdbcType=BIGINT},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      update_user = #{record.updateUser,jdbcType=BIGINT},
+      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      create_type = #{record.createType,jdbcType=INTEGER}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -799,6 +994,51 @@
       <if test="productCategoryName != null">
         product_category_name = #{productCategoryName,jdbcType=VARCHAR},
       </if>
+      <if test="umsCompanyInfoId != null">
+        ums_company_info_id = #{umsCompanyInfoId,jdbcType=BIGINT},
+      </if>
+      <if test="umsCompanyInfo != null">
+        ums_company_info = #{umsCompanyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="tradePrice != null">
+        trade_price = #{tradePrice,jdbcType=DECIMAL},
+      </if>
+      <if test="spec != null">
+        spec = #{spec,jdbcType=VARCHAR},
+      </if>
+      <if test="dateOfManufacture != null">
+        date_of_manufacture = #{dateOfManufacture,jdbcType=VARCHAR},
+      </if>
+      <if test="placeOfProductionId != null">
+        place_of_production_id = #{placeOfProductionId,jdbcType=BIGINT},
+      </if>
+      <if test="placeOfProduction != null">
+        place_of_production = #{placeOfProduction,jdbcType=VARCHAR},
+      </if>
+      <if test="instructions != null">
+        instructions = #{instructions,jdbcType=VARCHAR},
+      </if>
+      <if test="qualityGuaranteePeriod != null">
+        quality_guarantee_period = #{qualityGuaranteePeriod,jdbcType=VARCHAR},
+      </if>
+      <if test="pointsForAttention != null">
+        points_for_attention = #{pointsForAttention,jdbcType=VARCHAR},
+      </if>
+      <if test="createUser != null">
+        create_user = #{createUser,jdbcType=BIGINT},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUser != null">
+        update_user = #{updateUser,jdbcType=BIGINT},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createType != null">
+        create_type = #{createType,jdbcType=INTEGER},
+      </if>
       <if test="description != null">
         description = #{description,jdbcType=LONGVARCHAR},
       </if>
@@ -853,6 +1093,21 @@
       promotion_type = #{promotionType,jdbcType=INTEGER},
       brand_name = #{brandName,jdbcType=VARCHAR},
       product_category_name = #{productCategoryName,jdbcType=VARCHAR},
+      ums_company_info_id = #{umsCompanyInfoId,jdbcType=BIGINT},
+      ums_company_info = #{umsCompanyInfo,jdbcType=VARCHAR},
+      trade_price = #{tradePrice,jdbcType=DECIMAL},
+      spec = #{spec,jdbcType=VARCHAR},
+      date_of_manufacture = #{dateOfManufacture,jdbcType=VARCHAR},
+      place_of_production_id = #{placeOfProductionId,jdbcType=BIGINT},
+      place_of_production = #{placeOfProduction,jdbcType=VARCHAR},
+      instructions = #{instructions,jdbcType=VARCHAR},
+      quality_guarantee_period = #{qualityGuaranteePeriod,jdbcType=VARCHAR},
+      points_for_attention = #{pointsForAttention,jdbcType=VARCHAR},
+      create_user = #{createUser,jdbcType=BIGINT},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      update_user = #{updateUser,jdbcType=BIGINT},
+      update_time = #{updateTime,jdbcType=TIMESTAMP},
+      create_type = #{createType,jdbcType=INTEGER},
       description = #{description,jdbcType=LONGVARCHAR},
       detail_desc = #{detailDesc,jdbcType=LONGVARCHAR},
       detail_html = #{detailHtml,jdbcType=LONGVARCHAR},
@@ -897,7 +1152,22 @@
       promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER},
       promotion_type = #{promotionType,jdbcType=INTEGER},
       brand_name = #{brandName,jdbcType=VARCHAR},
-      product_category_name = #{productCategoryName,jdbcType=VARCHAR}
+      product_category_name = #{productCategoryName,jdbcType=VARCHAR},
+      ums_company_info_id = #{umsCompanyInfoId,jdbcType=BIGINT},
+      ums_company_info = #{umsCompanyInfo,jdbcType=VARCHAR},
+      trade_price = #{tradePrice,jdbcType=DECIMAL},
+      spec = #{spec,jdbcType=VARCHAR},
+      date_of_manufacture = #{dateOfManufacture,jdbcType=VARCHAR},
+      place_of_production_id = #{placeOfProductionId,jdbcType=BIGINT},
+      place_of_production = #{placeOfProduction,jdbcType=VARCHAR},
+      instructions = #{instructions,jdbcType=VARCHAR},
+      quality_guarantee_period = #{qualityGuaranteePeriod,jdbcType=VARCHAR},
+      points_for_attention = #{pointsForAttention,jdbcType=VARCHAR},
+      create_user = #{createUser,jdbcType=BIGINT},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      update_user = #{updateUser,jdbcType=BIGINT},
+      update_time = #{updateTime,jdbcType=TIMESTAMP},
+      create_type = #{createType,jdbcType=INTEGER}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>

+ 1 - 1
forest-admin/admin-mbg/src/main/resources/generatorConfig.xml

@@ -37,7 +37,7 @@
         <javaClientGenerator type="XMLMAPPER" targetPackage="com.hwrj.cloud.admin.mapper"
                              targetProject="forest-admin\admin-mbg\src\main\java"/>
         <!--生成全部表tableName设为%-->
-        <table tableName="ums_company%">
+        <table tableName="pms_product">
             <generatedKey column="id" sqlStatement="MySql" identity="true"/>
         </table>
     </context>

+ 5 - 0
forest-admin/admin-server/pom.xml

@@ -91,6 +91,11 @@
             <artifactId>commons-io</artifactId>
             <version>1.3.2</version>
         </dependency>
+        <dependency>
+            <groupId>com.qiniu</groupId>
+            <artifactId>qiniu-java-sdk</artifactId>
+            <version>[7.2.0, 7.2.99]</version>
+        </dependency>
 
     </dependencies>
 

+ 37 - 8
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/BigCompanyController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 @RestController
@@ -35,12 +36,8 @@ public class BigCompanyController {
 
     @GetMapping("/list")
     @ApiOperation("涉林分布-供应商信息获取")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "catId",value = "分类id",required = false,paramType = "Long"),
-            @ApiImplicitParam(name = "key",value = "关键字",required = false,paramType = "String")
-    })
-    public CommonResult compList(@RequestParam(value = "catId",required = false)Long catId, @RequestParam(value = "key",required = false)String key){
-        List<Map<String, Object>> companyList = bigCompanyService.getCompanyList(catId, key);
+    public CommonResult compList(@RequestParam(value = "id",required = false)Long id, @RequestParam(value = "key",required = false)String key){
+        List<Map<String, Object>> companyList = bigCompanyService.getCompanyList(id, key);
         List<Map<String,Object>> sh = new ArrayList<>();
         for (Map<String,Object> map:companyList){
             List<String> strings = new LinkedList<>();
@@ -139,6 +136,8 @@ public class BigCompanyController {
         String[] title = {"id","type","num"};
         List<String> dto = bigCompanyService.getCat();
         List<Map<String, Object>> title1 = getTitle(dto, title);
+        Map<String,Object> list = new HashMap<>();
+        list.put("list",title1);
         return CommonResult.success(title1);
     }
 
@@ -152,17 +151,47 @@ public class BigCompanyController {
         if (strings == null|| strings.size()<1){
             return null;
         }
+        Map<String,Object> maps = new HashMap<>();
+        maps.put("id",null);
+        maps.put("type","全部");
+
         List<Map<String,Object>> list = new ArrayList<>();
+        BigDecimal bigDecimal = new BigDecimal("0");
         for (String str:strings) {
             Map<String,Object> map = new HashMap<>();
             String[] split = str.split("---");
+            String titles = null;
+            BigDecimal decimal = new BigDecimal("0");
             for (int i = 0;i<split.length;i++){
                 String param = params[i];
                 String s = split[i];
                 map.put(param,s);
+                if ("num".equals(param)){
+                    try {
+                        decimal = new BigDecimal(s);
+                        bigDecimal =bigDecimal.add(decimal);
+                    }catch (Exception e){
+
+                    }
+
+                }
+                if ("type".equals(param)){
+                    titles=s;
+                }
+
+            }
+
+            if (Integer.valueOf(decimal.toString())>0){
+                map.put("title",titles+"涉林企统计");
+                list.add(map);
             }
-            list.add(map);
+
         }
-        return list;
+        maps.put("num",bigDecimal);
+        maps.put("title","全部涉林企业分布");
+        List<Map<String,Object>> list1 = new ArrayList<>();
+        list1.add(maps);
+        list1.addAll(list);
+        return list1;
     }
 }

+ 28 - 7
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/BigScreamController.java

@@ -56,6 +56,7 @@ public class BigScreamController  {
     @GetMapping("/1/data3")
     public CommonResult data13(){
         List<Map<String, Object>> map = bigScreamService.data4();
+        List<Map<String,Object>>  list = new ArrayList<>();
         return CommonResult.success(map);
     }
 
@@ -94,6 +95,23 @@ public class BigScreamController  {
         return CommonResult.success(title);
     }
 
+    @ApiOperation("林业态势-幽魂")
+    @GetMapping("/1/data9")
+    public CommonResult data19(){
+
+
+        String[] titles = {"id","name"};
+        String title1 = "黔林优选企业名录";
+
+        Map<String,Object> maps = new HashMap<>();
+        maps.put("title",title1);
+
+        List<String> strings = bigScreamService.data9();
+        List<Map<String, Object>> title = getTitle(strings, titles, null, null);
+        maps.put("detail",title);
+        return CommonResult.success(maps);
+    }
+
     /**
      * 分装返回大屏数据
      * @param title
@@ -113,14 +131,17 @@ public class BigScreamController  {
         has.put("tabHeader",tabHeader);
         List<List<Map<String,Object>>> list = new ArrayList<>();
         for (String str:strings) {
-            String[] split = str.split("---");
-            List<Map<String,Object>> maps = new LinkedList<>();
-            for (int i = 0;i<split.length;i++){
-                Map<String,Object> map = new HashMap<>();
-                map.put("value",split[i]);
-                maps.add(map);
+            if (!StringUtils.isEmpty(str)){
+                String[] split = str.split("---");
+                List<Map<String,Object>> maps = new LinkedList<>();
+                for (int i = 0;i<split.length;i++){
+                    Map<String,Object> map = new HashMap<>();
+                    map.put("value",split[i]);
+                    maps.add(map);
+                }
+                list.add(maps);
             }
-            list.add(maps);
+
         }
         has.put("list",list);
         return has;

+ 32 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/FileUploadController.java

@@ -0,0 +1,32 @@
+package com.hwrj.cloud.admin.controller;
+
+import com.hwrj.cloud.admin.util.OrderNo;
+import com.hwrj.cloud.admin.util.UploadFileUtil;
+import com.hwrj.cloud.common.api.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+@Api(tags = "FileUploadController",description = "图片上传接口")
+@RestController
+@RequestMapping("/upload")
+public class FileUploadController  {
+
+    @Autowired
+    private UploadFileUtil uploadFileUtil;
+
+    @ApiOperation("上传接口")
+    @GetMapping("/file")
+    public CommonResult uploadFile(@RequestParam(value = "file") MultipartFile file,String type){
+        if ((!"123456".contains(type))||type.length()>1){
+            return CommonResult.failed("上传失败");
+        }
+        uploadFileUtil.uploadQiNiuFiles(file,"0/"+type+"/"+ OrderNo.NextOrderNo());
+        return CommonResult.success();
+    }
+}

+ 5 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/PmsProductBigDataController.java

@@ -8,6 +8,7 @@ import com.hwrj.cloud.admin.service.PmsProductService;
 import com.hwrj.cloud.common.api.CommonPage;
 import com.hwrj.cloud.common.api.CommonResult;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import net.sf.jsqlparser.statement.select.SelectBody;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -19,22 +20,26 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/bigData")
+@Api(tags = "产品大屏接口",description = "获取大屏数据")
 public class PmsProductBigDataController {
     @Autowired
     private PmsProductService productService;
 
+    @ApiOperation("产品列表查询")
     @GetMapping(value = "/product/list")
     public CommonResult<CommonPage<BigDataListVo>> bigDataList(BigDataListParam bigDataListParam) throws IOException {
         List<BigDataListVo> list = productService.bigDataList(bigDataListParam);
         return CommonResult.success(CommonPage.restPage(list));
     }
 
+    @ApiOperation("产品类别查询")
     @GetMapping(value = "/product/type")
     public CommonResult<List<SelectVo> > bigDataType() throws IOException {
         List<SelectVo> list = productService.bigDataType();
         return CommonResult.success(list);
     }
 
+    @ApiOperation("产品详细信息查询")
     @GetMapping(value = "/product/info")
     public CommonResult<BigDataListInfoVo> bigDatainfo(Long id) {
         BigDataListInfoVo bigDataListInfoVo = productService.bigDatainfo(id);

+ 611 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/UploadCompanyInfoAndProductController.java

@@ -0,0 +1,611 @@
+package com.hwrj.cloud.admin.controller;
+
+
+import com.hwrj.cloud.admin.dao.PmsProductExcelDao;
+import com.hwrj.cloud.admin.dto.param.ForestPath;
+import com.hwrj.cloud.admin.dto.param.PmsProductExcel;
+import com.hwrj.cloud.admin.dto.param.PmsProductParam;
+import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
+import com.hwrj.cloud.admin.excelEntity.UmsMemberOriginExcel;
+import com.hwrj.cloud.admin.listener.ImportExcelEventListener;
+import com.hwrj.cloud.admin.mapper.PmsProductMapper;
+import com.hwrj.cloud.admin.mapper.UmsCompanyFileMapper;
+import com.hwrj.cloud.admin.mapper.UmsCompanyInfoMapper;
+import com.hwrj.cloud.admin.mapper.UmsMemberOriginMapper;
+import com.hwrj.cloud.admin.model.*;
+import com.hwrj.cloud.admin.service.PmsProductService;
+import com.hwrj.cloud.admin.service.UmsCompanyService;
+import com.hwrj.cloud.admin.service.UmsMemberOriginService;
+import com.hwrj.cloud.admin.util.EasyExcelUtil;
+import com.hwrj.cloud.admin.util.OrderNo;
+import com.hwrj.cloud.admin.util.UploadFileUtil;
+import com.hwrj.cloud.common.api.CommonResult;
+import com.hwrj.cloud.common.exception.GlobalException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.entity.ContentType;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@RestController
+@RequestMapping("/first")
+@Api(tags = "第一次上传用")
+@Slf4j
+public class UploadCompanyInfoAndProductController {
+
+    @Autowired
+    private UploadFileUtil uploadFileUtil;
+
+
+
+    @Value("${qiniu.path}")
+    private String url;
+
+    @ApiOperation("上传文件")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "paths",value = "文件路径",required = true),
+            @ApiImplicitParam(name = "type",value = "上传类型",required = true,allowableValues = "1,2,3"),
+            @ApiImplicitParam(name = "compName",value = "公司名称",required = false)
+    })
+    @GetMapping("/upload")
+    public CommonResult readFile(@RequestParam(value = "paths")String paths, @RequestParam(value = "type")String type, @RequestParam(value = "compName",required = false)String compName){
+
+        if ("1".equals(type)){
+            String filepath = paths;//D盘下的file文件夹的目录
+            List<String> file = getDirectory(filepath);
+            List<ForestPath> list = new ArrayList<>();
+            file.stream().forEach(item->{
+                ForestPath forestPath = new ForestPath();
+                forestPath.setCompanyName(item);
+                forestPath.setPath(filepath+"\\"+item);
+                forestPath.setType("1");
+                System.out.println(item);
+                list.add(forestPath);
+            });
+            for (ForestPath path:list){
+                return excelPut(path);
+            }
+        }else if ("2".equals(type)){
+            ForestPath fs = new ForestPath();
+            fs.setCompanyName(compName);
+            fs.setPath(paths);
+            return  excelPut(fs);
+        }else if ("3".equals(type)){
+            ForestPath fs = new ForestPath();
+            fs.setPath(paths+"\\"+compName);
+            fs.setCompanyName(compName);
+            return  excelPut(fs);
+        }
+
+        return CommonResult.success();
+
+    }
+
+    /**
+     * 上传公司的excel
+     * @param forestPath
+     */
+    public CommonResult excelPut(ForestPath forestPath){
+        String company = forestPath.getCompanyName();
+
+
+        List<String> strings = getDirectory(forestPath.getPath());
+        List<String> excel = getFile(forestPath.getPath());
+        for (String path:excel) {
+            if (path.endsWith(".xlsx")){
+                company = addCompanyInfo(new File(forestPath.getPath()+"\\"+path),company);
+                System.out.println("供应商导入表格--"+path);
+            }
+        }
+        if (StringUtils.isEmpty(company)){
+            return CommonResult.failed("导表失败");
+        }
+        Long companyId = companyId(company);
+        List<ForestPath> list = new ArrayList<>();
+        for (String str:strings) {
+            ForestPath forestPath1 = new ForestPath();
+            forestPath1.setType("2");
+            forestPath1.setPath(forestPath.getPath()+"\\"+str);
+            forestPath1.setCompanyName(str);
+            list.add(forestPath1);
+
+        }
+        for (ForestPath p:list) {
+            if ("产品".equals(p.getCompanyName())){
+
+
+                addProductImg(p,company,companyId);
+            }else if ("供应商".equals(p.getCompanyName())){
+                addCompanyImg(p,company,companyId);
+            }
+            else if ("生产地".equals(p.getCompanyName())){
+                addOriginImg(p,company,companyId);
+            }else {
+                System.out.println("没有对应文件夹的处理方式---"+p.getCompanyName());
+            }
+        }
+        return CommonResult.success();
+
+
+    }
+
+    @Autowired
+    private UmsCompanyFileMapper umsCompanyFileMapper;
+    public void addCompanyImg(ForestPath forestPath,String companyName,Long companyId){
+        String path = forestPath.getPath();
+        List<String> file = getFile(path);
+        String br = "0/3/"+companyId+"/";
+        int i = 0;
+        List<UmsCompanyFile> files = new ArrayList<>();
+        for (String str:file){
+            String s = OrderNo.NextOrderNo();
+            UmsCompanyFile infoFile = new UmsCompanyFile();
+            infoFile.setUpdateTime(new Date());
+            infoFile.setCompId(companyId(companyName));
+            infoFile.setFileStatus(0);
+            infoFile.setFileUrl(url+br+s);
+            if (str.contains("公众号二维码")){
+                infoFile.setFileType("qrl");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+            }else if (str.contains("logo")){
+                infoFile.setFileType("logo");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+            }else if (str.contains("供应商资质")){
+                infoFile.setFileType("cert");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+
+            }else if (str.contains("供应商图片")){
+                infoFile.setFileType("company");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+
+            }else{
+                i=1;
+                System.err.println("没有对应的照片");
+            }
+
+            if (i==0){
+                umsCompanyFileMapper.insertSelective(infoFile);
+            }
+        }
+
+    }
+
+
+    @Autowired
+    private UmsCompanyInfoMapper umsCompanyInfoMapper;
+    public Long companyId(String compName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsCompanyInfoExample example = new UmsCompanyInfoExample();
+        UmsCompanyInfoExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+        example.setOrderByClause("create_time desc");
+        List<UmsCompanyInfo> umsCompanyInfos = umsCompanyInfoMapper.selectByExample(example);
+        if (umsCompanyInfos != null && umsCompanyInfos.size()>0){
+            return umsCompanyInfos.get(0).getId();
+        }else {
+            return null;
+        }
+    }
+
+    public void addOriginImg(ForestPath forestPath,String companyName,Long companyId){
+
+        List<String> file = getFile(forestPath.getPath());
+
+        if (file != null &&file.size()>0){
+
+            Long aLong = originId(companyName, null);
+            if (aLong == null){
+                System.err.println("添加图片失败--"+forestPath.getPath());
+                return;
+            }else {
+                addImg(file,forestPath.getPath() ,aLong);
+
+            }
+            return;
+        }
+        List<String> list = getDirectory(forestPath.getPath());
+        List<UmsMemberOrigin> origin = origin(companyName);
+        if (list == null ||origin == null || origin.size()<list.size()){
+            return;
+        }
+        if (list != null && list.size()>0){
+            for (int i =0;i<list.size();i++) {
+                Long aLong = origin.get(i).getId();
+                String str= list.get(i);
+                if (aLong != null){
+                    List<String> file1 = getFile(forestPath.getPath() + "\\" + str);
+                    if (file1 != null&&file1.size()>0){
+                        addImg(file1,forestPath.getPath() + "\\" + str,aLong);
+                    }
+                }else {
+                    System.err.println("找不到对应的文件--"+str);
+
+                }
+            }
+        }
+
+
+    }
+
+    public void addImg(List<String> file,String path,Long aLong){
+        String br = "0/1/"+aLong+"/";
+        UmsMemberOrigin u = new UmsMemberOrigin();
+        u.setId(aLong);
+        StringBuffer bu = new StringBuffer();
+        for(int i=0;i<file.size();i++){
+            String s = OrderNo.NextOrderNo();
+            uploadFileUtil.uploadLocalFile(path+"\\"+file.get(i),br+s);
+            if (i>0){
+                bu.append(","+url+br+s);
+            }else {
+                bu.append(url+br+s);
+            }
+        }
+        u.setImgUrl(bu.toString());
+        umsMemberOriginMapper.updateByPrimaryKeySelective(u);
+    }
+
+    @Autowired
+    private UmsMemberOriginMapper  umsMemberOriginMapper;
+    public Long originId(String compName,String originName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsMemberOriginExample example = new UmsMemberOriginExample();
+        UmsMemberOriginExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+        if (!StringUtils.isEmpty(originName)){
+            criteria.andOriginNameEqualTo(originName);
+        }
+
+        example.setOrderByClause("id desc");
+        List<UmsMemberOrigin> umsMemberOrigins = umsMemberOriginMapper.selectByExample(example);
+        if (umsMemberOrigins != null&&umsMemberOrigins.size()>0){
+            return umsMemberOrigins.get(0).getId();
+        }
+        return null;
+    }
+
+    public List<UmsMemberOrigin> origin(String compName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsMemberOriginExample example = new UmsMemberOriginExample();
+        UmsMemberOriginExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+
+
+        example.setOrderByClause("id asc");
+        List<UmsMemberOrigin> umsMemberOrigins = umsMemberOriginMapper.selectByExample(example);
+        return umsMemberOrigins;
+    }
+
+
+    public void addProductImg(ForestPath forestPath,String companyName,Long companyId){
+        List<String> directory = getDirectory(forestPath.getPath());
+        Long aLong = companyId(companyName);
+        List<PmsProduct> products = selectProduct(companyName);
+        if (products != null&&directory != null&& products.size()>0&&directory.size()>0&&products.size()==directory.size()){
+            for (int i = 0;i<directory.size();i++){
+                updateFile(forestPath.getPath(),products.get(i).getId(),directory.get(i));
+            }
+        }
+
+
+
+
+    }
+    
+    @Test
+    public void productImg(){
+//        List<String> directory = getDirectory(forestPath.getPath());
+//        Long aLong = companyId(companyName);
+        List<String> directory = getDirectory("D:\\developerUtil\\code\\hwrj\\forest\\到数据\\上传\\石阡县猫寨农林专业合作社\\产品");
+        List<PmsProduct> products = selectProduct("石阡县猫寨农林专业合作");
+        if (products != null&&directory != null&& products.size()>0&&directory.size()>0&&products.size()==directory.size()){
+            for (int i = 0;i<directory.size();i++){
+                updateFile("D:\\developerUtil\\code\\hwrj\\forest\\到数据\\上传\\石阡县猫寨农林专业合作社\\产品",products.get(i).getId(),directory.get(i));
+            }
+        }
+
+
+
+
+    }
+
+
+    public void updateFile(String path,Long along,String str){
+        String upPath = path + "\\" + str;
+        String br = "0/2/"+along+"/";
+        List<String> file = getFile(upPath);
+        if (file != null && file.size()>0){
+            PmsProduct p = new PmsProduct();
+            p.setId(along);
+            StringBuilder builder = new StringBuilder();
+            for (String s:file) {
+                String fs = br+OrderNo.NextOrderNo();
+                uploadFileUtil.uploadLocalFile(upPath+"\\"+s,fs);
+                if (s.contains("首图")){
+                    p.setPic(url+fs);
+                }else {
+                    builder.append(url+fs+",");
+                }
+            }
+            String st = null;
+            if (!StringUtils.isEmpty(builder.toString())){
+                String s =builder.toString();
+                st = s.substring(0,s.lastIndexOf(","));
+            }
+            p.setAlbumPics(st);
+            pmsProductMapper.updateByPrimaryKeySelective(p);
+        }
+
+    }
+
+
+    @Autowired
+    private PmsProductMapper pmsProductMapper;
+    public List<PmsProduct> selectProduct(String companyName){
+        PmsProductExample pms = new PmsProductExample();
+        PmsProductExample.Criteria criteria = pms.createCriteria();
+
+        criteria.andUmsCompanyInfoEqualTo(companyName);
+
+//        criteria.andUmsCompanyInfoIdEqualTo(companyId);
+        pms.setOrderByClause("id asc");
+        List<PmsProduct> pmsProducts = pmsProductMapper.selectByExample(pms);
+        return pmsProducts;
+    }
+
+    public List<String> getDirectory(String path){
+        List<String> paths = new ArrayList<>();
+        File file = new File(path);//File类型可以是文件也可以是文件夹
+        File[] fileList = file.listFiles();//将该目录下的所有文件放置在一个File类型的数组中
+        for (int j = 0; j < fileList.length; j++) {
+            File f = fileList[j];
+            if (f.isDirectory()){
+                paths.add(f.getName());
+            }
+        }
+        return paths;
+
+    }
+
+    public List<String> getFile(String path){
+        List<String> paths = new ArrayList<>();
+        File file = new File(path);//File类型可以是文件也可以是文件夹
+        File[] fileList = file.listFiles();//将该目录下的所有文件放置在一个File类型的数组中
+        for (int j = 0; j < fileList.length; j++) {
+            File f = fileList[j];
+            if (f.isFile()){
+                paths.add(f.getName());
+            }
+        }
+        return paths;
+    }
+
+    public String addCompanyInfo(File pdf,String companyName){
+        try {
+//                    File pdf = fileList[i];
+            System.out.println(pdf.getPath());
+            FileInputStream fileInputStream = null;
+            fileInputStream = new FileInputStream(pdf);
+            MultipartFile multipartFile = new MockMultipartFile(pdf.getName(), pdf.getName(),
+                    ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
+//                        String url = ossFileUtils.upload(multipartFile.getOriginalFilename(), multipartFile);
+            String name = importExcel(multipartFile,companyName);
+            return name;
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+
+        }
+        return  null;
+
+    }
+
+    @Autowired
+    private UmsCompanyService umsCompanyService;
+
+    @Autowired
+    private UmsMemberOriginService umsMemberOriginService;
+
+    @Autowired
+    private PmsProductService pmsProductService;
+
+    @Transactional(rollbackFor = Exception.class)
+    public String importExcel(MultipartFile file,String companyName)throws Exception{
+
+        //导入公司
+        String companyId = null;
+        List<UmsCompanyInfoExcel> listAll = new ArrayList<>();
+        List<Object> list = EasyExcelUtil.readExcel(file, new UmsCompanyInfoExcel(),1,2);
+        if(list != null && list.size() > 0){
+            for(Object o : list){
+                UmsCompanyInfoExcel umsCompanyInfoExcel = (UmsCompanyInfoExcel) o;
+                umsCompanyInfoExcel.setCreateId(0l);
+                companyId = umsCompanyInfoExcel.getCompName();
+                listAll.add(umsCompanyInfoExcel);
+            }
+        }
+        umsCompanyService.importExcel(listAll);
+
+        if (StringUtils.isEmpty(companyId)){
+            return null;
+        }
+        //导入生产地
+        importOriginExcel(file,companyId);
+
+        //导入铲平
+        importBasic(file);
+
+        return companyId;
+    }
+
+    @Autowired
+    private ImportExcelEventListener importExcelEventListener;
+
+    public void importOriginExcel(MultipartFile file,String companyName){
+        List<UmsMemberOriginExcel> listAll = new ArrayList<>();
+        if(file != null){
+            List<Object> list = null;
+            try {
+                list = EasyExcelUtil.readExcel(file, new UmsMemberOriginExcel(),2,2);
+            } catch (IOException e) {
+                //e.printStackTrace();
+                throw new GlobalException(1,"上传文件错误");
+            }
+            if(list != null && list.size() > 0){
+                for(Object obj : list){
+                    UmsMemberOriginExcel excel = (UmsMemberOriginExcel) obj;
+                    excel.setCreateId(1);
+                    excel.setState(0);
+                    excel.setCompName(companyName);
+                    listAll.add(excel);
+                }
+            }
+        }
+        int saveNum = 0;
+        if (listAll != null && listAll.size() > 0){
+            int batchNum = 500;
+            if (listAll.size() > batchNum){
+                List<UmsMemberOriginExcel> list = listAll.subList(0,batchNum);
+                saveNum = umsMemberOriginService.batchSave(list);
+                //if (saveNum > 0){ //存在前面数据已存在情况
+                //异步导入
+                importExcelEventListener.batchSaveOriginExcel(listAll.subList(batchNum,listAll.size()));
+                log.info("正在导入数据,请稍后刷新!");
+                //}
+            }
+            saveNum = umsMemberOriginService.batchSave(listAll);
+            if (saveNum < 1){
+                log.info ("导入数据已存在,请勿重复导入");
+            }
+        }
+
+    }
+
+    @Autowired
+    private PmsProductExcelDao productExcelDao;
+
+    public void importBasic(MultipartFile file) throws IOException {
+
+//        PmsProductExcelListener basicExcelListener = new PmsProductExcelListener(productExcelDao,null);
+//        ExcelReader excelReader = null;
+//        try {
+//            excelReader = EasyExcel.read(file.getInputStream()).build();
+//            ReadSheet readSheet3 =
+//                    EasyExcel.readSheet(2).head(PmsProductExcel.class).registerReadListener(basicExcelListener).headRowNumber(2).build();
+//            // 这里注意 一定要把sheet1 sheet2 一起传进去,不然有个问题就是03版的excel 会读取多次,浪费性能
+//            excelReader.read(readSheet3);
+//        } finally {
+//            if (excelReader != null) {
+//                // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的
+//                excelReader.finish();
+//            }
+//        }
+
+        List<PmsProductParam> listAll = new ArrayList<>();
+        if(file != null){
+            List<Object> list = null;
+            try {
+                list = EasyExcelUtil.readExcel(file, new PmsProductExcel(),3,2);
+            } catch (IOException e) {
+                //e.printStackTrace();
+                throw new GlobalException(1,"上传文件错误");
+            }
+            if(list != null && list.size() > 0){
+                for(Object obj : list){
+                    PmsProductExcel excel = (PmsProductExcel) obj;
+                    PmsProductParam pmsProductParam = addData(excel);
+                    listAll.add(pmsProductParam);
+                }
+            }
+        }
+        log.info("sssss");
+        productExcelDao.saveData(listAll);
+
+    }
+
+
+
+
+    private PmsProductParam addData(PmsProductExcel pmsProductExcel) {
+
+        PmsProductParam pmsProductParam = new PmsProductParam();
+        BeanUtils.copyProperties(pmsProductExcel, pmsProductParam);
+        //名称
+        String name = pmsProductExcel.getName();
+        //价格
+        BigDecimal price = pmsProductExcel.getPrice();
+        //标题
+        pmsProductParam.setDetailTitle(name);
+        //笔记
+        pmsProductParam.setNote(name);
+        //关键字
+        pmsProductParam.setKeywords(name);
+
+        String description = replaceBlank(pmsProductExcel.getDescription());
+
+        pmsProductParam.setUmsCompanyInfoId(companyId(pmsProductExcel.getUmsCompanyInfo()));
+
+        //商品描述
+        pmsProductParam.setDescription(description);
+        //简述
+        pmsProductParam.setSubTitle(description);
+        //使用说明
+        String instructions = replaceBlank(pmsProductExcel.getInstructions());
+        //默认文本
+        pmsProductParam.setDetailDesc(instructions);
+        //web网页显示
+        pmsProductParam.setDetailHtml(instructions);
+        //手机网页显示
+        pmsProductParam.setDetailMobileHtml(instructions);
+        //市场价
+        pmsProductParam.setOriginalPrice(price);
+        //创建人 admin 1
+        pmsProductParam.setCreateUser((long) 1);
+        //创建时间
+        pmsProductParam.setCreateTime(new Date());
+        return pmsProductParam;
+    }
+
+    public static String replaceBlank(String str) {
+        String dest = "";
+        if (str != null) {
+            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
+            Matcher m = p.matcher(str);
+            dest = m.replaceAll("");
+        }
+        return dest;
+    }
+
+
+}

+ 2 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dao/BigScreamDao.java

@@ -29,4 +29,6 @@ public interface BigScreamDao {
     public List<String> data7();
 
     public List<String> data8();
+
+    public List<String> data9();
 }

+ 13 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/ForestPath.java

@@ -0,0 +1,13 @@
+package com.hwrj.cloud.admin.dto.param;
+
+import lombok.Data;
+
+@Data
+public class ForestPath {
+    private String companyName;
+
+    private String path;
+
+    private String type;
+
+}

+ 2 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/PmsProductExcel.java

@@ -1,6 +1,7 @@
 package com.hwrj.cloud.admin.dto.param;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.metadata.BaseRowModel;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -8,7 +9,7 @@ import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
-public class PmsProductExcel implements Serializable {
+public class PmsProductExcel extends BaseRowModel implements Serializable {
     /**
      * 商品名称
      */

+ 7 - 3
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/excelEntity/UmsMemberOriginExcel.java

@@ -20,15 +20,15 @@ public class UmsMemberOriginExcel extends BaseRowModel {
     @ApiModelProperty(value = "生产地名称")
     private String originName;
 
-    @ExcelProperty("生产地面积(亩)")
+    @ExcelProperty(value = "生产地面积(亩)")
     @ApiModelProperty(value = "生产地面积(亩)")
     private Double originArea;
 
-    @ExcelProperty("生产地图片")
+    @ExcelProperty(value = "生产地图片")
     @ApiModelProperty(value = "生产地图片")
     private String imgUrl;
 
-    @ExcelProperty("生产地宣传视频")
+    @ExcelProperty(value = "生产地宣传视频")
     @ApiModelProperty(value = "生产地宣传视频地址")
     private String videoUrl;
 
@@ -118,4 +118,8 @@ public class UmsMemberOriginExcel extends BaseRowModel {
 
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
+
+    @ExcelProperty(value = "供应商名称")
+    @ApiModelProperty(value = "供应商名称")
+    private String compName;
 }

+ 6 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/BigScreamService.java

@@ -46,4 +46,10 @@ public interface BigScreamService {
      * @return
      */
     public List<String> data8();
+
+    /**
+     * 获取供应商信息
+     * @return
+     */
+    public List<String> data9();
 }

+ 1 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/UmsCompanyService.java

@@ -34,7 +34,7 @@ public interface UmsCompanyService {
      * excel导入供应商
      * @param infoExcels
      */
-    public void importExcel(List<UmsCompanyInfoExcel> infoExcels);
+    public String importExcel(List<UmsCompanyInfoExcel> infoExcels);
 
 
     /**

+ 5 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/BigScreamServiceImpl.java

@@ -53,4 +53,9 @@ public class BigScreamServiceImpl implements BigScreamService {
     public List<String> data8() {
         return bigScreamDao.data8();
     }
+
+    @Override
+    public List<String> data9() {
+        return bigScreamDao.data9();
+    }
 }

+ 6 - 4
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsCompanyInfoServiceImpl.java

@@ -92,10 +92,11 @@ public class UmsCompanyInfoServiceImpl implements UmsCompanyService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void importExcel(List<UmsCompanyInfoExcel> infoExcels) {
+    public String importExcel(List<UmsCompanyInfoExcel> infoExcels) {
       if (infoExcels == null || infoExcels.size()<1){
-          return;
+          return null;
       }
+
       List<UmsCompanyShop> listShops = new ArrayList<>();
       infoExcels.stream().forEach(item->{
           UmsCompanyInfo umsCompanyInfo = new UmsCompanyInfo();
@@ -104,6 +105,7 @@ public class UmsCompanyInfoServiceImpl implements UmsCompanyService {
           umsCompanyInfo.setCompStatus(0);
           try {
               int i = umsCompanyInfoMapper.insertSelective(umsCompanyInfo);
+
               item.setId(umsCompanyInfo.getId());
               List<UmsCompanyShop> shops = getShopsFromUmsCompanyInfoExcel(item);
               listShops.addAll(shops);
@@ -114,10 +116,10 @@ public class UmsCompanyInfoServiceImpl implements UmsCompanyService {
 
 
       });
-      if (listShops != null){
+      if (listShops != null &&listShops.size()>0){
           int i = umsCompanyShopDao.addUmsCompanyShopList(listShops);
       }
-      return;
+      return null;
     }
 
     @Override

+ 24 - 2
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsMemberOriginServiceImpl.java

@@ -4,7 +4,10 @@ import com.hwrj.cloud.admin.dao.UmsMemberOriginDao;
 import com.hwrj.cloud.admin.dao.UmsMemberOriginProductDao;
 import com.hwrj.cloud.admin.dto.UmsMemberOriginParam;
 import com.hwrj.cloud.admin.excelEntity.UmsMemberOriginExcel;
+import com.hwrj.cloud.admin.mapper.UmsCompanyInfoMapper;
 import com.hwrj.cloud.admin.mapper.UmsMemberOriginMapper;
+import com.hwrj.cloud.admin.model.UmsCompanyInfo;
+import com.hwrj.cloud.admin.model.UmsCompanyInfoExample;
 import com.hwrj.cloud.admin.model.UmsMemberOrigin;
 import com.hwrj.cloud.admin.model.UmsMemberOriginProduct;
 import com.hwrj.cloud.admin.service.UmsMemberOriginService;
@@ -33,6 +36,9 @@ public class UmsMemberOriginServiceImpl implements UmsMemberOriginService {
     @Resource
     private UmsMemberOriginDao umsMemberOriginDao;
 
+    @Resource
+    private UmsCompanyInfoMapper umsCompanyInfoMapper;
+
     @Override
     //@Transactional
     public int batchSave(List<UmsMemberOriginExcel> list) {
@@ -44,7 +50,11 @@ public class UmsMemberOriginServiceImpl implements UmsMemberOriginService {
             BeanUtils.copyProperties(excel,origin);
             //检验是否唯一
             int i = umsMemberOriginDao.isExist(origin);
-            if (i > 0) continue; //已存在
+//            if (i > 0) continue; //已存在
+            List<UmsCompanyInfo> umsCompanyInfos = companyInfoList(excel.getCompName());
+            if (umsCompanyInfos != null && umsCompanyInfos.size()>0){
+                origin.setFkCompanyInfoId(umsCompanyInfos.get(0).getId());
+            }
             i = umsMemberOriginMapper.insertSelective(origin); //添加生产地信息
             if (i > 0){
                 saveNum ++;
@@ -108,7 +118,7 @@ public class UmsMemberOriginServiceImpl implements UmsMemberOriginService {
                     originProduct.setOutputNum(outputNum);
                     originProduct.setOutputValue(outputValue);
                     originProduct.setState(0);
-                    originProduct.setCreateId(CurrUserUtil.getUserId());
+                    originProduct.setCreateId(1);
                     originProductList.add(originProduct);
                 }
             }
@@ -120,4 +130,16 @@ public class UmsMemberOriginServiceImpl implements UmsMemberOriginService {
         return list;
     }
 
+    public List<UmsCompanyInfo> companyInfoList(String companyName){
+        if (StringUtils.isEmpty(companyName)){
+            return null;
+        }
+        UmsCompanyInfoExample example = new UmsCompanyInfoExample();
+        UmsCompanyInfoExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(companyName);
+        example.setOrderByClause("create_time desc");
+        List<UmsCompanyInfo> umsCompanyInfos = umsCompanyInfoMapper.selectByExample(example);
+        return umsCompanyInfos;
+    }
+
 }

+ 47 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/util/OrderNo.java

@@ -0,0 +1,47 @@
+package com.hwrj.cloud.admin.util;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class OrderNo{
+    private static int sn = 0;
+
+    public static String NextOrderNo(){
+        if(sn == 999999999)
+            sn = 0;
+        else
+            sn++;
+        DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
+        return df.format(new Date()) + padRight(String.valueOf(sn),9, '0');
+    }
+    public static String padLeft(String src, int len, char ch) {
+        int diff = len - src.length();
+        if (diff <= 0) {
+            return src;
+        }
+
+        char[] charr = new char[len];
+        System.arraycopy(src.toCharArray(), 0, charr, 0, src.length());
+        for (int i = src.length(); i < len; i++) {
+            charr[i] = ch;
+        }
+        return new String(charr);
+    }
+    public static String padRight(String src, int len, char ch) {
+        int diff = len - src.length();
+        if (diff <= 0) {
+            return src;
+        }
+
+        char[] charr = new char[len];
+        System.arraycopy(src.toCharArray(), 0, charr, diff, src.length());
+        for (int i = 0; i < diff; i++) {
+            charr[i] = ch;
+        }
+        return new String(charr);
+    }
+    // 防止创建类的实例
+    private OrderNo(){}
+
+}

+ 99 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/util/UploadFileUtil.java

@@ -0,0 +1,99 @@
+package com.hwrj.cloud.admin.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
+import com.qiniu.common.QiniuException;
+import com.qiniu.common.Zone;
+import com.qiniu.http.Response;
+import com.qiniu.storage.Configuration;
+import com.qiniu.storage.UploadManager;
+import com.qiniu.storage.model.DefaultPutRet;
+import com.qiniu.util.Auth;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+import static org.bouncycastle.asn1.cmc.CMCStatus.success;
+@Slf4j
+@Component
+public class UploadFileUtil {
+    @Value("${qiniu.accessKey}")
+    private String accessKey;
+
+    @Value("${qiniu.secretKey}")
+    private String secretKey;
+
+    @Value("${qiniu.bucket}")
+    private String bucket;
+
+    @Value("${qiniu.path}")
+    private String url;
+
+    public String uploadQiNiuFiles(@RequestParam("file") MultipartFile file, String path){
+        String contentType = file.getContentType();
+        //构建一个带指定对象的配置类
+        Configuration cof = new Configuration(Zone.autoZone());
+        String s = path;
+        UploadManager uploadManager = new UploadManager(cof);
+        String uploadToken = getUploadToken();
+        DefaultPutRet defaultPutRet = null;
+        try{
+            Response response = uploadManager.put(file.getInputStream(), s, uploadToken, null, null);
+            defaultPutRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class);
+            log.info(JSONObject.toJSONString(defaultPutRet));
+            return url+path;
+        }catch (QiniuException ex){
+            Response r = ex.response;
+            log.error(""+r.toString());
+            try {
+                log.error(r.bodyString());
+            } catch (QiniuException ex2) {
+                //ignore
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+           return null;
+        }
+        return null;
+    }
+    /**
+     * @MethodName getUploadToken
+     * @Param []
+     * @Return java.lang.String
+     * @Author qiubo
+     * @Date 2020/5/11
+     * @Description 获取七牛云上传图片的token
+     */
+    public String getUploadToken(){
+        Auth auth = Auth.create(accessKey, secretKey);
+        return auth.uploadToken(bucket);
+    }
+
+    public String uploadLocalFile(String path,String url){
+        Configuration cof = new Configuration(Zone.autoZone());
+        String s = path;
+        UploadManager uploadManager = new UploadManager(cof);
+        try {
+            Response response = uploadManager.put(path, url, getUploadToken());
+            //解析上传成功的结果
+            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
+            System.out.println(putRet.key);
+            return putRet.key;
+        } catch (QiniuException ex) {
+            Response r = ex.response;
+            System.err.println(r.toString());
+            try {
+                System.err.println(r.bodyString());
+            } catch (QiniuException ex2) {
+                //ignore
+            }
+        }
+        return null;
+    }
+}

+ 2 - 2
forest-admin/admin-server/src/main/resources/bootstrap.yml

@@ -9,8 +9,8 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 172.16.90.64:8898
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 172.16.90.64:8898
         prefix: forest-admin
         file-extension: yaml

+ 4 - 4
forest-admin/admin-server/src/main/resources/dao/BigCompanyDao.xml

@@ -15,12 +15,12 @@
             ums_company_info a
         WHERE
             a.comp_status =0
-            <if test="param1 != null and param1 != ''">
-                and a.comp_name like concat('%',#{param1},'%')
+            <if test="key != null and key != ''">
+                and a.comp_name like concat('%',#{key},'%')
             </if>
-            <if test="param2 != null">
+            <if test="catId != null">
                 and a.id in (
-                select p.ums_company_info_id from pms_product p LEFT JOIN pms_product_category pc on p.product_category_id =#{param2} pc.id where pc.parent_id =  GROUP BY p.ums_company_info_id
+                select p.ums_company_info_id from pms_product p LEFT JOIN pms_product_category pc on p.product_category_id = pc.id  where pc.parent_id = #{catId} GROUP BY p.ums_company_info_id
 
                 )
             </if>

+ 3 - 0
forest-admin/admin-server/src/main/resources/dao/BigScreamDao.xml

@@ -69,4 +69,7 @@ END
     <select id="data8" resultType="java.lang.String">
         select CONCAT(company_type,'---',company_type,'---',COUNT(0)) comp from ums_company_info where comp_status=0 GROUP BY company_type
     </select>
+    <select id="data9" resultType="java.lang.String">
+        select concat(id,'---',comp_name) from ums_company_info where comp_status=0
+    </select>
 </mapper>

+ 1 - 0
forest-admin/admin-server/src/main/resources/dao/ProductExcelDao.xml

@@ -187,6 +187,7 @@
         WHERE
         a.show_status = 1
         AND a.parent_id = 0
+        order by a.sort ASC
     </select>
     <select id="checkOne" resultType="java.lang.Long">
         SELECT

+ 615 - 0
forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/FirstUploadForestData.java

@@ -0,0 +1,615 @@
+package com.hwrj.cloud.admin;
+
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelReader;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.metadata.ReadSheet;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.internal.$Gson$Preconditions;
+import com.hwrj.cloud.admin.dao.PmsProductExcelDao;
+import com.hwrj.cloud.admin.dto.param.PmsProductExcel;
+import com.hwrj.cloud.admin.dto.param.PmsProductParam;
+import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
+import com.hwrj.cloud.admin.excelEntity.UmsMemberOriginExcel;
+import com.hwrj.cloud.admin.listener.ImportExcelEventListener;
+import com.hwrj.cloud.admin.listener.PmsProductExcelListener;
+import com.hwrj.cloud.admin.mapper.PmsProductMapper;
+import com.hwrj.cloud.admin.mapper.UmsCompanyFileMapper;
+import com.hwrj.cloud.admin.mapper.UmsCompanyInfoMapper;
+import com.hwrj.cloud.admin.mapper.UmsMemberOriginMapper;
+import com.hwrj.cloud.admin.model.*;
+import com.hwrj.cloud.admin.service.PmsProductService;
+import com.hwrj.cloud.admin.service.UmsCompanyService;
+import com.hwrj.cloud.admin.service.UmsMemberOriginService;
+import com.hwrj.cloud.admin.util.CurrUserUtil;
+import com.hwrj.cloud.admin.util.EasyExcelUtil;
+import com.hwrj.cloud.admin.util.OrderNo;
+import com.hwrj.cloud.admin.util.UploadFileUtil;
+import com.hwrj.cloud.common.api.CommonResult;
+import com.hwrj.cloud.common.exception.GlobalException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.entity.ContentType;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+import static com.hwrj.cloud.admin.listener.PmsProductExcelListener.replaceBlank;
+
+@Slf4j
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = AdminApplication.class)
+public class FirstUploadForestData {
+
+    @Autowired
+    private UploadFileUtil uploadFileUtil;
+
+private int i = 1;
+
+    @Value("${qiniu.path}")
+    private String url;
+
+
+    @Test
+    public void readFile(){
+        i++;
+
+        if (i>2){
+            return;
+        }
+        String filepath = "D:\\developerUtil\\code\\hwrj\\forest\\到数据\\待上传\\文件上传";//D盘下的file文件夹的目录
+        List<String> file = getDirectory(filepath);
+        List<ForestPath> list = new ArrayList<>();
+        file.stream().forEach(item->{
+            ForestPath forestPath = new ForestPath();
+            forestPath.setCompanyName(item);
+            forestPath.setPath(filepath+"\\"+item);
+            forestPath.setType("1");
+            System.out.println(item);
+            list.add(forestPath);
+        });
+        for (ForestPath path:list){
+            excelPut(path);
+        }
+
+
+    }
+
+    /**
+     * 上传公司的excel
+     * @param forestPath
+     */
+    public void excelPut(ForestPath forestPath){
+        String company = forestPath.getCompanyName();
+
+
+        List<String> strings = getDirectory(forestPath.getPath());
+        List<String> excel = getFile(forestPath.getPath());
+        for (String path:excel) {
+            if (path.endsWith(".xlsx")){
+                company = addCompanyInfo(new File(forestPath.getPath()+"\\"+path),company);
+                System.out.println("供应商导入表格--"+path);
+            }
+        }
+        if (StringUtils.isEmpty(company)){
+            return;
+        }
+        Long companyId = companyId(company);
+        List<ForestPath> list = new ArrayList<>();
+        for (String str:strings) {
+            ForestPath forestPath1 = new ForestPath();
+            forestPath1.setType("2");
+            forestPath1.setPath(forestPath.getPath()+"\\"+str);
+            forestPath1.setCompanyName(str);
+            list.add(forestPath1);
+
+        }
+        for (ForestPath p:list) {
+            if ("产品".equals(p.getCompanyName())){
+
+
+                addProductImg(p,company,companyId);
+            }else if ("供应商".equals(p.getCompanyName())){
+                addCompanyImg(p,company,companyId);
+            }
+            else if ("生产地".equals(p.getCompanyName())){
+                addOriginImg(p,company,companyId);
+            }else {
+                System.out.println("没有对应文件夹的处理方式---"+p.getCompanyName());
+            }
+        }
+
+
+    }
+
+    @Autowired
+    private UmsCompanyFileMapper umsCompanyFileMapper;
+    public void addCompanyImg(ForestPath forestPath,String companyName,Long companyId){
+        String path = forestPath.getPath();
+        List<String> file = getFile(path);
+        String br = "0/3/"+companyId+"/";
+        int i = 0;
+        List<UmsCompanyFile> files = new ArrayList<>();
+        for (String str:file){
+            String s = OrderNo.NextOrderNo();
+            UmsCompanyFile infoFile = new UmsCompanyFile();
+            infoFile.setUpdateTime(new Date());
+            infoFile.setCompId(companyId(companyName));
+            infoFile.setFileStatus(0);
+            infoFile.setFileUrl(url+br+s);
+            if (str.contains("公众号二维码")){
+                infoFile.setFileType("qrl");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+            }else if (str.contains("logo")){
+                infoFile.setFileType("logo");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+            }else if (str.contains("供应商资质")){
+                infoFile.setFileType("cert");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+
+            }else if (str.contains("供应商图片")){
+                infoFile.setFileType("company");
+                uploadFileUtil.uploadLocalFile(path+"\\"+str,br+s);
+
+
+            }else{
+                i=1;
+                System.err.println("没有对应的照片");
+            }
+
+            if (i==0){
+                umsCompanyFileMapper.insertSelective(infoFile);
+            }
+        }
+
+    }
+
+
+    @Autowired
+    private UmsCompanyInfoMapper umsCompanyInfoMapper;
+    public Long companyId(String compName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsCompanyInfoExample example = new UmsCompanyInfoExample();
+        UmsCompanyInfoExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+        example.setOrderByClause("create_time desc");
+        List<UmsCompanyInfo> umsCompanyInfos = umsCompanyInfoMapper.selectByExample(example);
+        if (umsCompanyInfos != null && umsCompanyInfos.size()>0){
+            return umsCompanyInfos.get(0).getId();
+        }else {
+            return null;
+        }
+    }
+
+    @Test
+    public void getImg(){
+        if (i>1){
+            return;
+        }
+        i++;
+        ForestPath fs = new ForestPath();
+        fs.setCompanyName("威宁县乌蒙绿色产业有限责任公司");
+        fs.setPath("D:\\developerUtil\\code\\hwrj\\forest\\到数据\\上传\\威宁县乌蒙绿色产业有限责任公司\\生产地");
+        addOriginImg(fs,"威宁县乌蒙绿色产业有限责任公司",null);
+    }
+    public void addOriginImg(ForestPath forestPath, String companyName, Long companyId){
+
+        List<String> file = getFile(forestPath.getPath());
+
+        if (file != null &&file.size()>0){
+
+            Long aLong = originId(companyName, null);
+            if (aLong == null){
+                System.err.println("添加图片失败--"+forestPath.getPath());
+                return;
+            }else {
+                addImg(file,forestPath.getPath() ,aLong);
+
+            }
+            return;
+        }
+        List<String> list = getDirectory(forestPath.getPath());
+        List<UmsMemberOrigin> origin = origin(companyName);
+        if (list == null ||origin == null || origin.size()<list.size()){
+            return;
+        }
+        if (list != null && list.size()>0){
+            for (int i =0;i<list.size();i++) {
+                Long aLong = origin.get(i).getId();
+                String str = list.get(i);
+                if (aLong != null){
+                    List<String> file1 = getFile(forestPath.getPath() + "\\" + str);
+                    if (file1 != null&&file1.size()>0){
+                        addImg(file1,forestPath.getPath() + "\\" + str,aLong);
+                    }
+                }else {
+                    System.err.println("找不到对应的文件--"+str);
+
+                }
+            }
+        }
+
+
+    }
+
+    public void addImg(List<String> file,String path,Long aLong){
+        String br = "0/1/"+aLong+"/";
+        UmsMemberOrigin u = new UmsMemberOrigin();
+        u.setId(aLong);
+        StringBuffer bu = new StringBuffer();
+        for(int i=0;i<file.size();i++){
+            String s = OrderNo.NextOrderNo();
+            uploadFileUtil.uploadLocalFile(path+"\\"+file.get(i),br+s);
+            if (i>0){
+                bu.append(","+url+br+s);
+            }else {
+                bu.append(url+br+s);
+            }
+        }
+        u.setImgUrl(bu.toString());
+        umsMemberOriginMapper.updateByPrimaryKeySelective(u);
+    }
+
+    public List<UmsMemberOrigin> origin(String compName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsMemberOriginExample example = new UmsMemberOriginExample();
+        UmsMemberOriginExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+
+
+        example.setOrderByClause("id asc");
+        List<UmsMemberOrigin> umsMemberOrigins = umsMemberOriginMapper.selectByExample(example);
+        return umsMemberOrigins;
+    }
+
+    @Autowired
+    private UmsMemberOriginMapper  umsMemberOriginMapper;
+    public Long originId(String compName,String originName){
+        if (StringUtils.isEmpty(compName)){
+            return null;
+        }
+        UmsMemberOriginExample example = new UmsMemberOriginExample();
+        UmsMemberOriginExample.Criteria criteria = example.createCriteria();
+        criteria.andCompNameEqualTo(compName);
+        if (!StringUtils.isEmpty(originName)){
+            criteria.andOriginNameEqualTo(originName);
+        }
+
+        example.setOrderByClause("id desc");
+        List<UmsMemberOrigin> umsMemberOrigins = umsMemberOriginMapper.selectByExample(example);
+        if (umsMemberOrigins != null&&umsMemberOrigins.size()>0){
+            return umsMemberOrigins.get(0).getId();
+        }
+        return null;
+    }
+
+
+    public void addProductImg(ForestPath forestPath,String companyName,Long companyId){
+        List<String> directory = getDirectory(forestPath.getPath());
+        Long aLong = companyId(companyName);
+        List<PmsProduct> products = selectProduct(companyName);
+        if (products != null&&directory != null&& products.size()>0&&directory.size()>0&&products.size()==directory.size()){
+            for (int i = 0;i<directory.size();i++){
+                updateFile(forestPath.getPath(),products.get(i).getId(),directory.get(i));
+            }
+        }
+
+
+
+
+    }
+
+    @Test
+    public void productImg(){
+        List<String> directory = getDirectory("D:\\developerUtil\\code\\hwrj\\forest\\到数据\\上传\\石阡县猫寨农林专业合作社\\产品");
+        Long aLong = 111l;
+        List<PmsProduct> products = selectProduct("石阡县猫寨农林专业合作");
+        if (products != null&&directory != null&& products.size()>0&&directory.size()>0&&products.size()==directory.size()){
+            for (int i = 0;i<directory.size();i++){
+                updateFile("D:\\developerUtil\\code\\hwrj\\forest\\到数据\\上传\\石阡县猫寨农林专业合作社\\产品",products.get(i).getId(),directory.get(i));
+            }
+        }
+
+
+
+
+    }
+
+
+    public void updateFile(String path,Long along,String str){
+        String upPath = path + "\\" + str;
+        String br = "0/2/"+along+"/";
+        List<String> file = getFile(upPath);
+        if (file != null && file.size()>0){
+            PmsProduct p = new PmsProduct();
+            p.setId(along);
+            StringBuilder builder = new StringBuilder();
+            for (String s:file) {
+                String fs = br+OrderNo.NextOrderNo();
+                uploadFileUtil.uploadLocalFile(upPath+"\\"+s,fs);
+                if (s.contains("首图")){
+                    p.setPic(url+fs);
+                }else {
+                    builder.append(url+fs+",");
+                }
+            }
+            String st = null;
+            if (!StringUtils.isEmpty(builder.toString())){
+                String s =builder.toString();
+                st = s.substring(0,s.lastIndexOf(","));
+            }
+            p.setAlbumPics(st);
+            pmsProductMapper.updateByPrimaryKeySelective(p);
+        }
+
+    }
+
+
+    @Autowired
+    private PmsProductMapper pmsProductMapper;
+    public List<PmsProduct> selectProduct(String companyName){
+        PmsProductExample pms = new PmsProductExample();
+        PmsProductExample.Criteria criteria = pms.createCriteria();
+
+            criteria.andUmsCompanyInfoEqualTo(companyName);
+
+//        criteria.andUmsCompanyInfoIdEqualTo(companyId);
+        pms.setOrderByClause("id asc");
+        List<PmsProduct> pmsProducts = pmsProductMapper.selectByExample(pms);
+        return pmsProducts;
+    }
+
+    public List<String> getDirectory(String path){
+        List<String> paths = new ArrayList<>();
+        File file = new File(path);//File类型可以是文件也可以是文件夹
+        File[] fileList = file.listFiles();//将该目录下的所有文件放置在一个File类型的数组中
+        for (int j = 0; j < fileList.length; j++) {
+            File f = fileList[j];
+            if (f.isDirectory()){
+                paths.add(f.getName());
+            }
+        }
+        return paths;
+
+    }
+
+    public List<String> getFile(String path){
+        List<String> paths = new ArrayList<>();
+        File file = new File(path);//File类型可以是文件也可以是文件夹
+        File[] fileList = file.listFiles();//将该目录下的所有文件放置在一个File类型的数组中
+        for (int j = 0; j < fileList.length; j++) {
+            File f = fileList[j];
+            if (f.isFile()){
+                paths.add(f.getName());
+            }
+        }
+        return paths;
+    }
+
+    public String addCompanyInfo(File pdf,String companyName){
+        try {
+//                    File pdf = fileList[i];
+            System.out.println(pdf.getPath());
+            FileInputStream fileInputStream = null;
+            fileInputStream = new FileInputStream(pdf);
+            MultipartFile multipartFile = new MockMultipartFile(pdf.getName(), pdf.getName(),
+                    ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
+//                        String url = ossFileUtils.upload(multipartFile.getOriginalFilename(), multipartFile);
+            String name = importExcel(multipartFile,companyName);
+            return name;
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+
+        }
+        return  null;
+
+    }
+
+    @Autowired
+    private UmsCompanyService umsCompanyService;
+
+    @Autowired
+    private UmsMemberOriginService umsMemberOriginService;
+
+    @Autowired
+    private PmsProductService pmsProductService;
+
+
+    public String importExcel(MultipartFile file,String companyName)throws Exception{
+
+        //导入公司
+        String companyId = null;
+        List<UmsCompanyInfoExcel> listAll = new ArrayList<>();
+        List<Object> list = EasyExcelUtil.readExcel(file, new UmsCompanyInfoExcel(),1,2);
+        if(list != null && list.size() > 0){
+            for(Object o : list){
+                UmsCompanyInfoExcel umsCompanyInfoExcel = (UmsCompanyInfoExcel) o;
+                umsCompanyInfoExcel.setCreateId(0l);
+                companyId = umsCompanyInfoExcel.getCompName();
+                listAll.add(umsCompanyInfoExcel);
+            }
+        }
+        umsCompanyService.importExcel(listAll);
+
+        if (StringUtils.isEmpty(companyId)){
+            return null;
+        }
+        //导入生产地
+        importOriginExcel(file,companyId);
+
+        //导入铲平
+        importBasic(file);
+
+        return companyId;
+    }
+
+    @Autowired
+    private ImportExcelEventListener importExcelEventListener;
+
+    public void importOriginExcel(MultipartFile file,String companyName){
+        List<UmsMemberOriginExcel> listAll = new ArrayList<>();
+        if(file != null){
+            List<Object> list = null;
+            try {
+                list = EasyExcelUtil.readExcel(file, new UmsMemberOriginExcel(),2,2);
+            } catch (IOException e) {
+                //e.printStackTrace();
+                throw new GlobalException(1,"上传文件错误");
+            }
+            if(list != null && list.size() > 0){
+                for(Object obj : list){
+                    UmsMemberOriginExcel excel = (UmsMemberOriginExcel) obj;
+                    excel.setCreateId(1);
+                    excel.setState(0);
+                    excel.setCompName(companyName);
+                    listAll.add(excel);
+                }
+            }
+        }
+        int saveNum = 0;
+        if (listAll != null && listAll.size() > 0){
+            int batchNum = 500;
+            if (listAll.size() > batchNum){
+                List<UmsMemberOriginExcel> list = listAll.subList(0,batchNum);
+                saveNum = umsMemberOriginService.batchSave(list);
+                //if (saveNum > 0){ //存在前面数据已存在情况
+                //异步导入
+                importExcelEventListener.batchSaveOriginExcel(listAll.subList(batchNum,listAll.size()));
+                log.info("正在导入数据,请稍后刷新!");
+                //}
+            }
+            saveNum = umsMemberOriginService.batchSave(listAll);
+            if (saveNum < 1){
+                log.info ("导入数据已存在,请勿重复导入");
+            }
+        }
+
+    }
+
+    @Autowired
+    private PmsProductExcelDao productExcelDao;
+
+    public void importBasic(MultipartFile file) throws IOException {
+
+//        PmsProductExcelListener basicExcelListener = new PmsProductExcelListener(productExcelDao,null);
+//        ExcelReader excelReader = null;
+//        try {
+//            excelReader = EasyExcel.read(file.getInputStream()).build();
+//            ReadSheet readSheet3 =
+//                    EasyExcel.readSheet(2).head(PmsProductExcel.class).registerReadListener(basicExcelListener).headRowNumber(2).build();
+//            // 这里注意 一定要把sheet1 sheet2 一起传进去,不然有个问题就是03版的excel 会读取多次,浪费性能
+//            excelReader.read(readSheet3);
+//        } finally {
+//            if (excelReader != null) {
+//                // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的
+//                excelReader.finish();
+//            }
+//        }
+
+        List<PmsProductParam> listAll = new ArrayList<>();
+        if(file != null){
+            List<Object> list = null;
+            try {
+                list = EasyExcelUtil.readExcel(file, new PmsProductExcel(),3,2);
+            } catch (IOException e) {
+                //e.printStackTrace();
+                throw new GlobalException(1,"上传文件错误");
+            }
+            if(list != null && list.size() > 0){
+                for(Object obj : list){
+                    PmsProductExcel excel = (PmsProductExcel) obj;
+                    PmsProductParam pmsProductParam = addData(excel);
+                    listAll.add(pmsProductParam);
+                }
+            }
+        }
+        log.info("sssss");
+        productExcelDao.saveData(listAll);
+
+    }
+
+
+
+
+    private PmsProductParam addData(PmsProductExcel pmsProductExcel) {
+
+        PmsProductParam pmsProductParam = new PmsProductParam();
+        BeanUtils.copyProperties(pmsProductExcel, pmsProductParam);
+        //名称
+        String name = pmsProductExcel.getName();
+        //价格
+        BigDecimal price = pmsProductExcel.getPrice();
+        //标题
+        pmsProductParam.setDetailTitle(name);
+        //笔记
+        pmsProductParam.setNote(name);
+        //关键字
+        pmsProductParam.setKeywords(name);
+
+        String description = replaceBlank(pmsProductExcel.getDescription());
+
+        pmsProductParam.setUmsCompanyInfoId(companyId(pmsProductExcel.getUmsCompanyInfo()));
+
+        //商品描述
+        pmsProductParam.setDescription(description);
+        //简述
+        pmsProductParam.setSubTitle(description);
+        //使用说明
+        String instructions = replaceBlank(pmsProductExcel.getInstructions());
+        //默认文本
+        pmsProductParam.setDetailDesc(instructions);
+        //web网页显示
+        pmsProductParam.setDetailHtml(instructions);
+        //手机网页显示
+        pmsProductParam.setDetailMobileHtml(instructions);
+        //市场价
+        pmsProductParam.setOriginalPrice(price);
+        //创建人 admin 1
+        pmsProductParam.setCreateUser((long) 1);
+        //创建时间
+        pmsProductParam.setCreateTime(new Date());
+        return pmsProductParam;
+    }
+
+    public static String replaceBlank(String str) {
+        String dest = "";
+        if (str != null) {
+            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
+            Matcher m = p.matcher(str);
+            dest = m.replaceAll("");
+        }
+        return dest;
+    }
+
+
+
+
+}

+ 15 - 0
forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/ForestPath.java

@@ -0,0 +1,15 @@
+package com.hwrj.cloud.admin;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ForestPath {
+    private String companyName;
+
+    private String path;
+
+    private String type;
+
+}

+ 2 - 14
forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/UploadTest.java

@@ -36,14 +36,7 @@ public class UploadTest {
     @Test
     public void readFile(){
 
-        String filepath = "D:\\developerUtil\\code\\hwrj\\forest\\data\\companyInfo";//D盘下的file文件夹的目录
-//        File file = new File(filepath);//File类型可以是文件也可以是文件夹
-//        File[] fileList = file.listFiles();//将该目录下的所有文件放置在一个File类型的数组中
-//        for (int j = 0; j < fileList.length; j++) {
-//            File[] files = fileList[j].listFiles();
-//            List<File> fs = new ArrayList<>(files)
-//
-//        }
+        String filepath = "D:\\developerUtil\\code\\hwrj\\forest\\到数据";//D盘下的file文件夹的目录
         List<File> file = getFile(filepath);
         file.stream().forEach(item->{
             String path = item.getPath();
@@ -51,11 +44,6 @@ public class UploadTest {
                 System.out.println(path);
             }
         });
-//        List<String> files = FileUtil.getFiles(filepath);
-//        for (String file:files
-//             ) {
-//            System.out.println(file);
-//        }
 
 
     }
@@ -115,7 +103,7 @@ public class UploadTest {
             MultipartFile multipartFile = new MockMultipartFile(pdf.getName(), pdf.getName(),
                     ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
 //                        String url = ossFileUtils.upload(multipartFile.getOriginalFilename(), multipartFile);
-            List<Applay> excelData = getExcelData(multipartFile);
+//            List<Applay> excelData = getExcelData(multipartFile);
         } catch (Exception e) {
             System.out.println(e.getMessage());
 

+ 2 - 2
forest-gateway/src/main/resources/bootstrap.yml

@@ -9,9 +9,9 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 127.0.0.1:8898
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 127.0.0.1:8898
         prefix: forest-gateway
         file-extension: yaml
     gateway:

+ 1 - 1
forest-monitor/src/main/resources/application-dev.yml

@@ -2,4 +2,4 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: http://localhost:8848
+        server-addr: http://localhost:8898

+ 84 - 0
forest-portal/portal-common/src/main/java/com/hwrj/cloud/portal/model/UmsMember.java

@@ -61,6 +61,27 @@ public class UmsMember implements Serializable {
     @ApiModelProperty(value = "历史积分数量")
     private Integer historyIntegration;
 
+    @ApiModelProperty(value = "会员类型")
+    private String type;
+
+    @ApiModelProperty(value = "供应商")
+    private String companyInfo;
+
+    @ApiModelProperty(value = "认证方式")
+    private String way;
+
+    @ApiModelProperty(value = "认证类型0、普通1、其他职业2、供应商")
+    private Integer cert;
+
+    @ApiModelProperty(value = "详细地址")
+    private String address;
+
+    @ApiModelProperty(value = "邮箱")
+    private String mail;
+
+    @ApiModelProperty(value = "供应商id")
+    private Long compId;
+
     private static final long serialVersionUID = 1L;
 
     public Long getId() {
@@ -215,6 +236,62 @@ public class UmsMember implements Serializable {
         this.historyIntegration = historyIntegration;
     }
 
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCompanyInfo() {
+        return companyInfo;
+    }
+
+    public void setCompanyInfo(String companyInfo) {
+        this.companyInfo = companyInfo;
+    }
+
+    public String getWay() {
+        return way;
+    }
+
+    public void setWay(String way) {
+        this.way = way;
+    }
+
+    public Integer getCert() {
+        return cert;
+    }
+
+    public void setCert(Integer cert) {
+        this.cert = cert;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getMail() {
+        return mail;
+    }
+
+    public void setMail(String mail) {
+        this.mail = mail;
+    }
+
+    public Long getCompId() {
+        return compId;
+    }
+
+    public void setCompId(Long compId) {
+        this.compId = compId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -240,6 +317,13 @@ public class UmsMember implements Serializable {
         sb.append(", growth=").append(growth);
         sb.append(", luckeyCount=").append(luckeyCount);
         sb.append(", historyIntegration=").append(historyIntegration);
+        sb.append(", type=").append(type);
+        sb.append(", companyInfo=").append(companyInfo);
+        sb.append(", way=").append(way);
+        sb.append(", cert=").append(cert);
+        sb.append(", address=").append(address);
+        sb.append(", mail=").append(mail);
+        sb.append(", compId=").append(compId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 12 - 0
forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/PmsProduct.java

@@ -155,6 +155,9 @@ public class PmsProduct implements Serializable {
     @ApiModelProperty(value = "更新时间")
     private Date updateTime;
 
+    @ApiModelProperty(value = "0:后台发布1:移动端发布")
+    private Integer createType;
+
     @ApiModelProperty(value = "商品描述")
     private String description;
 
@@ -584,6 +587,14 @@ public class PmsProduct implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public Integer getCreateType() {
+        return createType;
+    }
+
+    public void setCreateType(Integer createType) {
+        this.createType = createType;
+    }
+
     public String getDescription() {
         return description;
     }
@@ -674,6 +685,7 @@ public class PmsProduct implements Serializable {
         sb.append(", createTime=").append(createTime);
         sb.append(", updateUser=").append(updateUser);
         sb.append(", updateTime=").append(updateTime);
+        sb.append(", createType=").append(createType);
         sb.append(", description=").append(description);
         sb.append(", detailDesc=").append(detailDesc);
         sb.append(", detailHtml=").append(detailHtml);

+ 60 - 0
forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/PmsProductExample.java

@@ -3415,6 +3415,66 @@ public class PmsProductExample {
             addCriterion("update_time not between", value1, value2, "updateTime");
             return (Criteria) this;
         }
+
+        public Criteria andCreateTypeIsNull() {
+            addCriterion("create_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeIsNotNull() {
+            addCriterion("create_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeEqualTo(Integer value) {
+            addCriterion("create_type =", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotEqualTo(Integer value) {
+            addCriterion("create_type <>", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeGreaterThan(Integer value) {
+            addCriterion("create_type >", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("create_type >=", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeLessThan(Integer value) {
+            addCriterion("create_type <", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeLessThanOrEqualTo(Integer value) {
+            addCriterion("create_type <=", value, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeIn(List<Integer> values) {
+            addCriterion("create_type in", values, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotIn(List<Integer> values) {
+            addCriterion("create_type not in", values, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeBetween(Integer value1, Integer value2) {
+            addCriterion("create_type between", value1, value2, "createType");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTypeNotBetween(Integer value1, Integer value2) {
+            addCriterion("create_type not between", value1, value2, "createType");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 84 - 0
forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/UmsMember.java

@@ -60,6 +60,27 @@ public class UmsMember implements Serializable {
     @ApiModelProperty(value = "历史积分数量")
     private Integer historyIntegration;
 
+    @ApiModelProperty(value = "会员类型")
+    private String type;
+
+    @ApiModelProperty(value = "供应商")
+    private String companyInfo;
+
+    @ApiModelProperty(value = "认证方式")
+    private String way;
+
+    @ApiModelProperty(value = "认证类型0、普通1、其他职业2、供应商")
+    private Integer cert;
+
+    @ApiModelProperty(value = "详细地址")
+    private String address;
+
+    @ApiModelProperty(value = "邮箱")
+    private String mail;
+
+    @ApiModelProperty(value = "供应商id")
+    private Long compId;
+
     private static final long serialVersionUID = 1L;
 
     public Long getId() {
@@ -214,6 +235,62 @@ public class UmsMember implements Serializable {
         this.historyIntegration = historyIntegration;
     }
 
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCompanyInfo() {
+        return companyInfo;
+    }
+
+    public void setCompanyInfo(String companyInfo) {
+        this.companyInfo = companyInfo;
+    }
+
+    public String getWay() {
+        return way;
+    }
+
+    public void setWay(String way) {
+        this.way = way;
+    }
+
+    public Integer getCert() {
+        return cert;
+    }
+
+    public void setCert(Integer cert) {
+        this.cert = cert;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getMail() {
+        return mail;
+    }
+
+    public void setMail(String mail) {
+        this.mail = mail;
+    }
+
+    public Long getCompId() {
+        return compId;
+    }
+
+    public void setCompId(Long compId) {
+        this.compId = compId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -239,6 +316,13 @@ public class UmsMember implements Serializable {
         sb.append(", growth=").append(growth);
         sb.append(", luckeyCount=").append(luckeyCount);
         sb.append(", historyIntegration=").append(historyIntegration);
+        sb.append(", type=").append(type);
+        sb.append(", companyInfo=").append(companyInfo);
+        sb.append(", way=").append(way);
+        sb.append(", cert=").append(cert);
+        sb.append(", address=").append(address);
+        sb.append(", mail=").append(mail);
+        sb.append(", compId=").append(compId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 470 - 0
forest-portal/portal-mbg/src/main/java/com/hwrj/cloud/portal/model/UmsMemberExample.java

@@ -1351,6 +1351,476 @@ public class UmsMemberExample {
             addCriterion("history_integration not between", value1, value2, "historyIntegration");
             return (Criteria) this;
         }
+
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoIsNull() {
+            addCriterion("company_info is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoIsNotNull() {
+            addCriterion("company_info is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoEqualTo(String value) {
+            addCriterion("company_info =", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoNotEqualTo(String value) {
+            addCriterion("company_info <>", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoGreaterThan(String value) {
+            addCriterion("company_info >", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoGreaterThanOrEqualTo(String value) {
+            addCriterion("company_info >=", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoLessThan(String value) {
+            addCriterion("company_info <", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoLessThanOrEqualTo(String value) {
+            addCriterion("company_info <=", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoLike(String value) {
+            addCriterion("company_info like", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoNotLike(String value) {
+            addCriterion("company_info not like", value, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoIn(List<String> values) {
+            addCriterion("company_info in", values, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoNotIn(List<String> values) {
+            addCriterion("company_info not in", values, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoBetween(String value1, String value2) {
+            addCriterion("company_info between", value1, value2, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyInfoNotBetween(String value1, String value2) {
+            addCriterion("company_info not between", value1, value2, "companyInfo");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayIsNull() {
+            addCriterion("way is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayIsNotNull() {
+            addCriterion("way is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayEqualTo(String value) {
+            addCriterion("way =", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayNotEqualTo(String value) {
+            addCriterion("way <>", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayGreaterThan(String value) {
+            addCriterion("way >", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayGreaterThanOrEqualTo(String value) {
+            addCriterion("way >=", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayLessThan(String value) {
+            addCriterion("way <", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayLessThanOrEqualTo(String value) {
+            addCriterion("way <=", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayLike(String value) {
+            addCriterion("way like", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayNotLike(String value) {
+            addCriterion("way not like", value, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayIn(List<String> values) {
+            addCriterion("way in", values, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayNotIn(List<String> values) {
+            addCriterion("way not in", values, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayBetween(String value1, String value2) {
+            addCriterion("way between", value1, value2, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andWayNotBetween(String value1, String value2) {
+            addCriterion("way not between", value1, value2, "way");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertIsNull() {
+            addCriterion("cert is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertIsNotNull() {
+            addCriterion("cert is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertEqualTo(Integer value) {
+            addCriterion("cert =", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertNotEqualTo(Integer value) {
+            addCriterion("cert <>", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertGreaterThan(Integer value) {
+            addCriterion("cert >", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertGreaterThanOrEqualTo(Integer value) {
+            addCriterion("cert >=", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertLessThan(Integer value) {
+            addCriterion("cert <", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertLessThanOrEqualTo(Integer value) {
+            addCriterion("cert <=", value, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertIn(List<Integer> values) {
+            addCriterion("cert in", values, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertNotIn(List<Integer> values) {
+            addCriterion("cert not in", values, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertBetween(Integer value1, Integer value2) {
+            addCriterion("cert between", value1, value2, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andCertNotBetween(Integer value1, Integer value2) {
+            addCriterion("cert not between", value1, value2, "cert");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIsNull() {
+            addCriterion("address is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIsNotNull() {
+            addCriterion("address is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressEqualTo(String value) {
+            addCriterion("address =", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotEqualTo(String value) {
+            addCriterion("address <>", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressGreaterThan(String value) {
+            addCriterion("address >", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressGreaterThanOrEqualTo(String value) {
+            addCriterion("address >=", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLessThan(String value) {
+            addCriterion("address <", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLessThanOrEqualTo(String value) {
+            addCriterion("address <=", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLike(String value) {
+            addCriterion("address like", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotLike(String value) {
+            addCriterion("address not like", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIn(List<String> values) {
+            addCriterion("address in", values, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotIn(List<String> values) {
+            addCriterion("address not in", values, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressBetween(String value1, String value2) {
+            addCriterion("address between", value1, value2, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotBetween(String value1, String value2) {
+            addCriterion("address not between", value1, value2, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailIsNull() {
+            addCriterion("mail is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailIsNotNull() {
+            addCriterion("mail is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailEqualTo(String value) {
+            addCriterion("mail =", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailNotEqualTo(String value) {
+            addCriterion("mail <>", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailGreaterThan(String value) {
+            addCriterion("mail >", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailGreaterThanOrEqualTo(String value) {
+            addCriterion("mail >=", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailLessThan(String value) {
+            addCriterion("mail <", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailLessThanOrEqualTo(String value) {
+            addCriterion("mail <=", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailLike(String value) {
+            addCriterion("mail like", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailNotLike(String value) {
+            addCriterion("mail not like", value, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailIn(List<String> values) {
+            addCriterion("mail in", values, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailNotIn(List<String> values) {
+            addCriterion("mail not in", values, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailBetween(String value1, String value2) {
+            addCriterion("mail between", value1, value2, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andMailNotBetween(String value1, String value2) {
+            addCriterion("mail not between", value1, value2, "mail");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdIsNull() {
+            addCriterion("comp_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdIsNotNull() {
+            addCriterion("comp_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdEqualTo(Long value) {
+            addCriterion("comp_id =", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdNotEqualTo(Long value) {
+            addCriterion("comp_id <>", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdGreaterThan(Long value) {
+            addCriterion("comp_id >", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("comp_id >=", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdLessThan(Long value) {
+            addCriterion("comp_id <", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdLessThanOrEqualTo(Long value) {
+            addCriterion("comp_id <=", value, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdIn(List<Long> values) {
+            addCriterion("comp_id in", values, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdNotIn(List<Long> values) {
+            addCriterion("comp_id not in", values, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdBetween(Long value1, Long value2) {
+            addCriterion("comp_id between", value1, value2, "compId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompIdNotBetween(Long value1, Long value2) {
+            addCriterion("comp_id not between", value1, value2, "compId");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 26 - 7
forest-portal/portal-mbg/src/main/resources/com/hwrj/cloud/portal/mapper/PmsProductMapper.xml

@@ -54,6 +54,7 @@
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="update_user" jdbcType="BIGINT" property="updateUser" />
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="create_type" jdbcType="INTEGER" property="createType" />
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.hwrj.cloud.portal.model.PmsProduct">
     <result column="description" jdbcType="LONGVARCHAR" property="description" />
@@ -128,7 +129,7 @@
     promotion_per_limit, promotion_type, brand_name, product_category_name, ums_company_info_id, 
     ums_company_info, trade_price, spec, date_of_manufacture, place_of_production_id, 
     place_of_production, instructions, quality_guarantee_period, points_for_attention, 
-    create_user, create_time, update_user, update_time
+    create_user, create_time, update_user, update_time, create_type
   </sql>
   <sql id="Blob_Column_List">
     description, detail_desc, detail_html, detail_mobile_html
@@ -202,8 +203,9 @@
       place_of_production_id, place_of_production, 
       instructions, quality_guarantee_period, points_for_attention, 
       create_user, create_time, update_user, 
-      update_time, description, detail_desc, 
-      detail_html, detail_mobile_html)
+      update_time, create_type, description, 
+      detail_desc, detail_html, detail_mobile_html
+      )
     values (#{brandId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{feightTemplateId,jdbcType=BIGINT}, 
       #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, 
       #{productSn,jdbcType=VARCHAR}, #{deleteStatus,jdbcType=INTEGER}, #{publishStatus,jdbcType=INTEGER}, 
@@ -221,8 +223,9 @@
       #{placeOfProductionId,jdbcType=BIGINT}, #{placeOfProduction,jdbcType=VARCHAR}, 
       #{instructions,jdbcType=VARCHAR}, #{qualityGuaranteePeriod,jdbcType=VARCHAR}, #{pointsForAttention,jdbcType=VARCHAR}, 
       #{createUser,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=BIGINT}, 
-      #{updateTime,jdbcType=TIMESTAMP}, #{description,jdbcType=LONGVARCHAR}, #{detailDesc,jdbcType=LONGVARCHAR}, 
-      #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR})
+      #{updateTime,jdbcType=TIMESTAMP}, #{createType,jdbcType=INTEGER}, #{description,jdbcType=LONGVARCHAR}, 
+      #{detailDesc,jdbcType=LONGVARCHAR}, #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.hwrj.cloud.portal.model.PmsProduct">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -383,6 +386,9 @@
       <if test="updateTime != null">
         update_time,
       </if>
+      <if test="createType != null">
+        create_type,
+      </if>
       <if test="description != null">
         description,
       </if>
@@ -550,6 +556,9 @@
       <if test="updateTime != null">
         #{updateTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="createType != null">
+        #{createType,jdbcType=INTEGER},
+      </if>
       <if test="description != null">
         #{description,jdbcType=LONGVARCHAR},
       </if>
@@ -729,6 +738,9 @@
       <if test="record.updateTime != null">
         update_time = #{record.updateTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="record.createType != null">
+        create_type = #{record.createType,jdbcType=INTEGER},
+      </if>
       <if test="record.description != null">
         description = #{record.description,jdbcType=LONGVARCHAR},
       </if>
@@ -800,6 +812,7 @@
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       update_user = #{record.updateUser,jdbcType=BIGINT},
       update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      create_type = #{record.createType,jdbcType=INTEGER},
       description = #{record.description,jdbcType=LONGVARCHAR},
       detail_desc = #{record.detailDesc,jdbcType=LONGVARCHAR},
       detail_html = #{record.detailHtml,jdbcType=LONGVARCHAR},
@@ -861,7 +874,8 @@
       create_user = #{record.createUser,jdbcType=BIGINT},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       update_user = #{record.updateUser,jdbcType=BIGINT},
-      update_time = #{record.updateTime,jdbcType=TIMESTAMP}
+      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      create_type = #{record.createType,jdbcType=INTEGER}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -1022,6 +1036,9 @@
       <if test="updateTime != null">
         update_time = #{updateTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="createType != null">
+        create_type = #{createType,jdbcType=INTEGER},
+      </if>
       <if test="description != null">
         description = #{description,jdbcType=LONGVARCHAR},
       </if>
@@ -1090,6 +1107,7 @@
       create_time = #{createTime,jdbcType=TIMESTAMP},
       update_user = #{updateUser,jdbcType=BIGINT},
       update_time = #{updateTime,jdbcType=TIMESTAMP},
+      create_type = #{createType,jdbcType=INTEGER},
       description = #{description,jdbcType=LONGVARCHAR},
       detail_desc = #{detailDesc,jdbcType=LONGVARCHAR},
       detail_html = #{detailHtml,jdbcType=LONGVARCHAR},
@@ -1148,7 +1166,8 @@
       create_user = #{createUser,jdbcType=BIGINT},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       update_user = #{updateUser,jdbcType=BIGINT},
-      update_time = #{updateTime,jdbcType=TIMESTAMP}
+      update_time = #{updateTime,jdbcType=TIMESTAMP},
+      create_type = #{createType,jdbcType=INTEGER}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>

+ 117 - 5
forest-portal/portal-mbg/src/main/resources/com/hwrj/cloud/portal/mapper/UmsMemberMapper.xml

@@ -21,6 +21,13 @@
     <result column="growth" jdbcType="INTEGER" property="growth" />
     <result column="luckey_count" jdbcType="INTEGER" property="luckeyCount" />
     <result column="history_integration" jdbcType="INTEGER" property="historyIntegration" />
+    <result column="type" jdbcType="VARCHAR" property="type" />
+    <result column="company_info" jdbcType="VARCHAR" property="companyInfo" />
+    <result column="way" jdbcType="VARCHAR" property="way" />
+    <result column="cert" jdbcType="INTEGER" property="cert" />
+    <result column="address" jdbcType="VARCHAR" property="address" />
+    <result column="mail" jdbcType="VARCHAR" property="mail" />
+    <result column="comp_id" jdbcType="BIGINT" property="compId" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -83,7 +90,8 @@
   <sql id="Base_Column_List">
     id, member_level_id, username, password, nickname, phone, status, create_time, icon, 
     gender, birthday, city, job, personalized_signature, source_type, integration, growth, 
-    luckey_count, history_integration
+    luckey_count, history_integration, type, company_info, way, cert, address, mail, 
+    comp_id
   </sql>
   <select id="selectByExample" parameterType="com.hwrj.cloud.portal.model.UmsMemberExample" resultMap="BaseResultMap">
     select
@@ -124,13 +132,19 @@
       create_time, icon, gender, 
       birthday, city, job, personalized_signature, 
       source_type, integration, growth, 
-      luckey_count, history_integration)
+      luckey_count, history_integration, type, 
+      company_info, way, cert, 
+      address, mail, comp_id
+      )
     values (#{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
       #{nickname,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, 
       #{birthday,jdbcType=DATE}, #{city,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{personalizedSignature,jdbcType=VARCHAR}, 
       #{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, 
-      #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER})
+      #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER}, #{type,jdbcType=VARCHAR}, 
+      #{companyInfo,jdbcType=VARCHAR}, #{way,jdbcType=VARCHAR}, #{cert,jdbcType=INTEGER}, 
+      #{address,jdbcType=VARCHAR}, #{mail,jdbcType=VARCHAR}, #{compId,jdbcType=BIGINT}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.hwrj.cloud.portal.model.UmsMember">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -192,6 +206,27 @@
       <if test="historyIntegration != null">
         history_integration,
       </if>
+      <if test="type != null">
+        type,
+      </if>
+      <if test="companyInfo != null">
+        company_info,
+      </if>
+      <if test="way != null">
+        way,
+      </if>
+      <if test="cert != null">
+        cert,
+      </if>
+      <if test="address != null">
+        address,
+      </if>
+      <if test="mail != null">
+        mail,
+      </if>
+      <if test="compId != null">
+        comp_id,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="memberLevelId != null">
@@ -248,6 +283,27 @@
       <if test="historyIntegration != null">
         #{historyIntegration,jdbcType=INTEGER},
       </if>
+      <if test="type != null">
+        #{type,jdbcType=VARCHAR},
+      </if>
+      <if test="companyInfo != null">
+        #{companyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="way != null">
+        #{way,jdbcType=VARCHAR},
+      </if>
+      <if test="cert != null">
+        #{cert,jdbcType=INTEGER},
+      </if>
+      <if test="address != null">
+        #{address,jdbcType=VARCHAR},
+      </if>
+      <if test="mail != null">
+        #{mail,jdbcType=VARCHAR},
+      </if>
+      <if test="compId != null">
+        #{compId,jdbcType=BIGINT},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.hwrj.cloud.portal.model.UmsMemberExample" resultType="java.lang.Long">
@@ -316,6 +372,27 @@
       <if test="record.historyIntegration != null">
         history_integration = #{record.historyIntegration,jdbcType=INTEGER},
       </if>
+      <if test="record.type != null">
+        type = #{record.type,jdbcType=VARCHAR},
+      </if>
+      <if test="record.companyInfo != null">
+        company_info = #{record.companyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="record.way != null">
+        way = #{record.way,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cert != null">
+        cert = #{record.cert,jdbcType=INTEGER},
+      </if>
+      <if test="record.address != null">
+        address = #{record.address,jdbcType=VARCHAR},
+      </if>
+      <if test="record.mail != null">
+        mail = #{record.mail,jdbcType=VARCHAR},
+      </if>
+      <if test="record.compId != null">
+        comp_id = #{record.compId,jdbcType=BIGINT},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -341,7 +418,14 @@
       integration = #{record.integration,jdbcType=INTEGER},
       growth = #{record.growth,jdbcType=INTEGER},
       luckey_count = #{record.luckeyCount,jdbcType=INTEGER},
-      history_integration = #{record.historyIntegration,jdbcType=INTEGER}
+      history_integration = #{record.historyIntegration,jdbcType=INTEGER},
+      type = #{record.type,jdbcType=VARCHAR},
+      company_info = #{record.companyInfo,jdbcType=VARCHAR},
+      way = #{record.way,jdbcType=VARCHAR},
+      cert = #{record.cert,jdbcType=INTEGER},
+      address = #{record.address,jdbcType=VARCHAR},
+      mail = #{record.mail,jdbcType=VARCHAR},
+      comp_id = #{record.compId,jdbcType=BIGINT}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -403,6 +487,27 @@
       <if test="historyIntegration != null">
         history_integration = #{historyIntegration,jdbcType=INTEGER},
       </if>
+      <if test="type != null">
+        type = #{type,jdbcType=VARCHAR},
+      </if>
+      <if test="companyInfo != null">
+        company_info = #{companyInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="way != null">
+        way = #{way,jdbcType=VARCHAR},
+      </if>
+      <if test="cert != null">
+        cert = #{cert,jdbcType=INTEGER},
+      </if>
+      <if test="address != null">
+        address = #{address,jdbcType=VARCHAR},
+      </if>
+      <if test="mail != null">
+        mail = #{mail,jdbcType=VARCHAR},
+      </if>
+      <if test="compId != null">
+        comp_id = #{compId,jdbcType=BIGINT},
+      </if>
     </set>
     where id = #{id,jdbcType=BIGINT}
   </update>
@@ -425,7 +530,14 @@
       integration = #{integration,jdbcType=INTEGER},
       growth = #{growth,jdbcType=INTEGER},
       luckey_count = #{luckeyCount,jdbcType=INTEGER},
-      history_integration = #{historyIntegration,jdbcType=INTEGER}
+      history_integration = #{historyIntegration,jdbcType=INTEGER},
+      type = #{type,jdbcType=VARCHAR},
+      company_info = #{companyInfo,jdbcType=VARCHAR},
+      way = #{way,jdbcType=VARCHAR},
+      cert = #{cert,jdbcType=INTEGER},
+      address = #{address,jdbcType=VARCHAR},
+      mail = #{mail,jdbcType=VARCHAR},
+      comp_id = #{compId,jdbcType=BIGINT}
     where id = #{id,jdbcType=BIGINT}
   </update>
 </mapper>

+ 1 - 0
forest-portal/portal-server/pom.xml

@@ -137,6 +137,7 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
+
         </plugins>
     </build>
 

+ 1 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/ForestPortalApplication.java

@@ -12,3 +12,4 @@ public class ForestPortalApplication {
         SpringApplication.run(ForestPortalApplication.class, args);
     }
 }
+

+ 4 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/OmePreItemController.java

@@ -13,6 +13,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -37,6 +38,9 @@ public class OmePreItemController {
     public CommonResult add(@RequestBody OmsPreItem omsPreItem){
 
         UmsMember currentMember = umsMemberService.getCurrentMember();
+        if (StringUtils.isEmpty(currentMember.getId())){
+            return CommonResult.unauthorized(null);
+        }
         omsPreItem.setMemberId(currentMember.getId());
         omsPreItem.setMemberNickname(currentMember.getNickname());
         omsPreItemService.addOmsPreItem(omsPreItem);

+ 1 - 1
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/PmsPortalProductController.java

@@ -89,7 +89,7 @@ public class PmsPortalProductController {
             UmsCompanyInfoDto umsCompanyInfoDto = umsCompanyInfoService.detailInfo(companyInfoId);
             productDetail.setCompanyInfo(umsCompanyInfoDto);
         }
-
+        productDetail.setIsPred(0);
         try{
             UmsMember currentMember = umsMemberService.getCurrentMember();
             if (currentMember != null){

+ 26 - 4
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/UmsCompanyInfoController.java

@@ -2,11 +2,16 @@ package com.hwrj.cloud.portal.controller;
 
 import com.hwrj.cloud.common.api.CommonResult;
 import com.hwrj.cloud.portal.domain.UmsCompanyInfoDto;
+import com.hwrj.cloud.portal.domain.UmsMemberOriginDto;
+import com.hwrj.cloud.portal.model.PmsProduct;
 import com.hwrj.cloud.portal.model.UmsCompanyInfo;
+import com.hwrj.cloud.portal.service.PmsPortalProductService;
 import com.hwrj.cloud.portal.service.UmsCompanyInfoService;
+import com.hwrj.cloud.portal.service.UmsMemberOriginService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -20,18 +25,35 @@ public class UmsCompanyInfoController {
     @Autowired
     private UmsCompanyInfoService umsCompanyInfoService;
 
+    @Autowired
+    private UmsMemberOriginService umsMemberOriginService;
+
+    @Autowired
+    private PmsPortalProductService productService;
+
     @ApiOperation("获取供应商详情")
-    @RequestMapping("/cp/detail")
+    @GetMapping("/cp/detail")
     public CommonResult detail(@RequestParam(value = "compId",required = true)Long compId){
         UmsCompanyInfoDto infoDto = umsCompanyInfoService.detailInfo(compId);
+        List<UmsMemberOriginDto> umsMemberOriginDtos = umsMemberOriginService.detailListOfCompany(infoDto.getId());
+        List<PmsProduct> productByCompanyId = productService.getProductByCompanyId(infoDto.getId());
+        infoDto.setOrigines(umsMemberOriginDtos);
+        infoDto.setProducts(productByCompanyId);
         return CommonResult.success(infoDto);
     }
-
-    @ApiOperation("获取供应商详情")
-    @RequestMapping("/cp/search")
+    @ApiOperation("搜索供应商列表")
+    @GetMapping("/cp/search")
     public CommonResult search(@RequestParam(value = "key",required = false)String key){
         List<UmsCompanyInfo> infos = umsCompanyInfoService.searchCompanyInfo(key);
         return CommonResult.success(infos);
     }
 
+    @ApiOperation("获取生产地")
+    @GetMapping("/cp/origin")
+    public CommonResult searchOrigin(@RequestParam(value = "compId",required = true)Long compId){
+        List<UmsMemberOriginDto> umsMemberOriginDtos = umsMemberOriginService.detailListOfCompany(compId);
+        return CommonResult.success(umsMemberOriginDtos);
+    }
+
+
 }

+ 12 - 4
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/WechatH5Controller.java

@@ -2,6 +2,7 @@ package com.hwrj.cloud.portal.controller;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.hwrj.cloud.common.api.CommonResult;
+import com.hwrj.cloud.portal.domain.UmsMemberCert;
 import com.hwrj.cloud.portal.model.UmsMember;
 import com.hwrj.cloud.portal.model.UmsMemberPlatform;
 import com.hwrj.cloud.portal.service.UmsMemberPlatformService;
@@ -19,10 +20,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Controller;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -155,6 +153,16 @@ public class WechatH5Controller {
 
     }
 
+    @ApiOperation(value = "认证类型")
+    @PutMapping("/cert")
+    @ResponseBody
+    public CommonResult cert(@RequestBody UmsMemberCert cert) {
+        UmsMember member = memberService.getCurrentMember();
+        cert.setId(member.getId());
+        umsMemberPlatformService.certMember(cert);
+        return CommonResult.success();
+
+    }
 
     /**
      * //签名成功生成支付订单

+ 12 - 15
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/domain/UmsCompanyInfoDto.java

@@ -1,28 +1,25 @@
 package com.hwrj.cloud.portal.domain;
 
+import com.hwrj.cloud.portal.model.PmsProduct;
 import com.hwrj.cloud.portal.model.UmsCompanyFile;
 import com.hwrj.cloud.portal.model.UmsCompanyInfo;
 import com.hwrj.cloud.portal.model.UmsCompanyShop;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.util.List;
-
+@Data
+@ApiModel(description = "供应商更详细信息")
 public class UmsCompanyInfoDto extends UmsCompanyInfo {
+    @ApiModelProperty("文件集合")
     private List<UmsCompanyFile> files;
+    @ApiModelProperty("商店集合")
     private List<UmsCompanyShop> shops;
+    @ApiModelProperty("生产基地集合")
+    private List<UmsMemberOriginDto> origines;
 
-    public List<UmsCompanyFile> getFiles() {
-        return files;
-    }
-
-    public void setFiles(List<UmsCompanyFile> files) {
-        this.files = files;
-    }
-
-    public List<UmsCompanyShop> getShops() {
-        return shops;
-    }
+    @ApiModelProperty("产品集合")
+    private List<PmsProduct> products;
 
-    public void setShops(List<UmsCompanyShop> shops) {
-        this.shops = shops;
-    }
 }

+ 10 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/domain/UmsMemberCert.java

@@ -0,0 +1,10 @@
+package com.hwrj.cloud.portal.domain;
+
+import com.hwrj.cloud.portal.model.UmsMember;
+import lombok.Data;
+
+@Data
+public class UmsMemberCert extends UmsMember {
+    private String companyName;
+    private String certNo;
+}

+ 7 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/PmsPortalProductService.java

@@ -66,4 +66,11 @@ public interface PmsPortalProductService {
      */
     PmsProduct getPmsProductById(Long productId);
 
+    /**
+     * 根据供应商获取对应的商品详情
+     * @param companyId
+     * @return
+     */
+    List<PmsProduct> getProductByCompanyId(Long companyId);
+
 }

+ 3 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/UmsMemberPlatformService.java

@@ -1,6 +1,7 @@
 package com.hwrj.cloud.portal.service;
 
 
+import com.hwrj.cloud.portal.domain.UmsMemberCert;
 import com.hwrj.cloud.portal.model.UmsMemberPlatform;
 
 public interface UmsMemberPlatformService {
@@ -12,4 +13,6 @@ public interface UmsMemberPlatformService {
     public String addUmsMemberPlatformService(UmsMemberPlatform umsMemberPlatform);
 
 
+    public void certMember(UmsMemberCert cert);
+
 }

+ 8 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/OmsPreItemServiceImpl.java

@@ -43,6 +43,14 @@ public class OmsPreItemServiceImpl implements OmsPreItemService {
         if (omsPreItem.getProductId() == null){
             throw new RuntimeException("非法操作");
         }
+        OmsPreItemExample example = new OmsPreItemExample();
+        OmsPreItemExample.Criteria criteria = example.createCriteria();
+        criteria.andMemberIdEqualTo(omsPreItem.getMemberId());
+        criteria.andProductIdEqualTo(omsPreItem.getProductId());
+        List<OmsPreItem> omsPreItems = omsPreItemMapper.selectByExample(example);
+        if (omsPreItems != null && omsPreItems.size()>0){
+            throw new RuntimeException("已经购买过");
+        }
 
         PmsPortalProductDetail detail = pmsPortalProductService.detail(productId);
         PmsProduct product = detail.getProduct();

+ 15 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/PmsPortalProductServiceImpl.java

@@ -112,6 +112,7 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
     public List<PmsProductCategoryNode> categoryTreeList() {
         PmsProductCategoryExample example = new PmsProductCategoryExample();
         List<PmsProductCategory> allList = productCategoryMapper.selectByExample(example);
+        example.setOrderByClause("sort ASC");
         List<PmsProductCategoryNode> result = allList.stream()
                 .filter(item -> item.getParentId().equals(0L))
                 .map(item -> covert(item, allList)).collect(Collectors.toList());
@@ -122,6 +123,7 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
     public List<PmsProductCategoryNode> categorySearchTreeList(String key) {
         List<PmsProductCategory> pms = new ArrayList<>();
         PmsProductCategoryExample example = new PmsProductCategoryExample();
+        example.setOrderByClause("sort ASC");
         PmsProductCategoryExample.Criteria criteria = example.createCriteria();
         criteria.andParentIdNotEqualTo(0l);
         if (!StringUtils.isEmpty(key)){
@@ -254,6 +256,19 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
         return productMapper.selectByPrimaryKey(productId);
     }
 
+    @Override
+    public List<PmsProduct> getProductByCompanyId(Long companyId) {
+        if (companyId == null){
+            return null;
+        }
+        PmsProductExample example = new PmsProductExample();
+        PmsProductExample.Criteria criteria = example.createCriteria();
+        criteria.andUmsCompanyInfoIdEqualTo(companyId);
+        criteria.andDeleteStatusEqualTo(0);
+        List<PmsProduct> pmsProducts = productMapper.selectByExample(example);
+        return pmsProducts;
+    }
+
 
     /**
      * 初始对象转化为节点对象

+ 3 - 1
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/UmsCompanyInfoServiceImpl.java

@@ -57,7 +57,9 @@ public class UmsCompanyInfoServiceImpl implements UmsCompanyInfoService {
         UmsCompanyShopExample example = new UmsCompanyShopExample();
         UmsCompanyShopExample.Criteria criteria = example.createCriteria();
         criteria.andCompIdEqualTo(compId);
-        return null;
+        criteria.andShopStatusEqualTo(0);
+        return umsCompanyShopMapper.selectByExample(example);
+
     }
 
     @Override

+ 48 - 4
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/UmsMemberPlatformServiceImpl.java

@@ -2,13 +2,12 @@ package com.hwrj.cloud.portal.service.impl;
 
 
 import com.hwrj.cloud.portal.domain.MemberDetails;
+import com.hwrj.cloud.portal.domain.UmsMemberCert;
 import com.hwrj.cloud.portal.domain.UmsMemberPlaformDo;
+import com.hwrj.cloud.portal.mapper.UmsCompanyInfoMapper;
 import com.hwrj.cloud.portal.mapper.UmsMemberMapper;
 import com.hwrj.cloud.portal.mapper.UmsMemberPlatformMapper;
-import com.hwrj.cloud.portal.model.UmsMember;
-import com.hwrj.cloud.portal.model.UmsMemberExample;
-import com.hwrj.cloud.portal.model.UmsMemberPlatform;
-import com.hwrj.cloud.portal.model.UmsMemberPlatformExample;
+import com.hwrj.cloud.portal.model.*;
 import com.hwrj.cloud.portal.service.UmsMemberCacheService;
 import com.hwrj.cloud.portal.service.UmsMemberPlatformService;
 import com.hwrj.cloud.portal.service.UmsMemberService;
@@ -35,6 +34,9 @@ public class UmsMemberPlatformServiceImpl implements UmsMemberPlatformService {
     @Autowired
     private UmsMemberMapper umsMemberMapper;
 
+    @Autowired
+    private UmsCompanyInfoMapper umsCompanyInfoMapper;
+
     @Autowired
     private UmsMemberCacheService memberCacheService;
 
@@ -90,6 +92,48 @@ public class UmsMemberPlatformServiceImpl implements UmsMemberPlatformService {
         }
         return token;
     }
+    @Override
+    public void certMember(UmsMemberCert cert) {
+        UmsMember umsMember = new UmsMember();
+        umsMember.setId(cert.getId());
+        umsMember.setPhone(cert.getPhone());
+        umsMember.setMail(cert.getMail());
+        umsMember.setAddress(cert.getAddress());
+        umsMember.setNickname(cert.getNickname());
+        if("供应商".equals(cert.getType())){
+            String companyName = cert.getCompanyName();
+            String certNo = cert.getCertNo();
+            if (!StringUtils.isEmpty(companyName)){
+                UmsCompanyInfoExample companyInfoExample = new UmsCompanyInfoExample();
+                UmsCompanyInfoExample.Criteria criteria = companyInfoExample.createCriteria();
+                criteria.andCompNameEqualTo(companyName);
+                if (!StringUtils.isEmpty(certNo)){
+                    criteria.andCompManageLicenseNumEqualTo(certNo);
+                }
+                List<UmsCompanyInfo> umsCompanyInfos = umsCompanyInfoMapper.selectByExample(companyInfoExample);
+                if (umsCompanyInfos != null&&umsCompanyInfos.size()>0){
+                    UmsCompanyInfo info = umsCompanyInfos.get(0);
+                    Long id = info.getId();
+                    umsMember.setCompId(id);
+
+                }
+
+                umsMember.setCompanyInfo(companyName);
+                umsMember.setCert(2);
+                umsMember.setType(companyName);
+                umsMember.setWay("供应商");
+
+
+            }else {
+                throw new RuntimeException("认证失败");
+            }
+        }else{
+            umsMember.setWay(umsMember.getWay());
+        }
+        umsMemberMapper.updateByPrimaryKeySelective(umsMember);
+
+    }
+
     public UmsMemberPlaformDo loadUmsMemberPlatform(UmsMemberPlatform umsMemberPlatform){
         if (umsMemberPlatform != null){
             return new UmsMemberPlaformDo(umsMemberPlatform);

+ 2 - 2
forest-portal/portal-server/src/main/resources/bootstrap.yml

@@ -9,9 +9,9 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 127.0.0.1:8898
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 127.0.0.1:8898
         prefix: forest-portal
         file-extension: yaml
 redis:

+ 2 - 1
forest-portal/portal-server/src/main/resources/dao/OmsPreItemDao.xml

@@ -26,13 +26,14 @@
     <collection property="pmsProduct" ofType="com.hwrj.cloud.portal.model.PmsProduct" select="selectByProductId" column="product_id"/>
   </resultMap>
   <select id="selectOmsPreItemDao" resultMap="BaseResultMap" parameterType="java.lang.Long">
-    select * from oms_pre_item a where a.delete_status=0
+    select a.* from oms_pre_item a left join pms_product b on a.product_id=b.id where a.delete_status=0 and b.id is not null and b.delete_status=0
     <if test="memberId != null">
       and a.member_id = #{memberId}
     </if>
     <if test="pushId != null">
       and a.push_id = #{pushId}
     </if>
+    order by a.create_date desc
   </select>
 
   <select id="selectByProductId" resultType="com.hwrj.cloud.portal.model.PmsProduct" parameterType="java.lang.Long">

+ 1 - 1
nacos/conf/application.properties

@@ -18,7 +18,7 @@
 ### Default web context path:
 server.servlet.contextPath=/nacos
 ### Default web server port:
-server.port=8848
+server.port=8898
 
 #*************** Network Related Configurations ***************#
 ### If prefer hostname over ip for Nacos server addresses in cluster.conf:

+ 8 - 0
nacos/data/config-data/DEFAULT_GROUP/forest-admin

@@ -32,6 +32,8 @@ spring:
       client:
         # admin 服务端的地址
         url: http://localhost:8095
+        instance:
+          service-base-url: http://localhost:8099
 
 management:
   endpoints:
@@ -97,3 +99,9 @@ redis:
     resourceList: 'ums:resourceList'
   expire:
     common: 86400 # 24小时
+qiniu:
+  accessKey: FLWUJxiZY1_N-5d6J_jsdgbqyjVDUg86ghZHsaQW
+  bucket: forestcloud
+  path: http://qny.gzsdtfp.com/
+  processName: 'null'
+  secretKey: So55w4fQ2dTQ6uMlWuUywmKG8ZTqVhWfr_3Ii7GI

+ 1 - 0
nacos/data/config-data/DEFAULT_GROUP/forest-gateway

@@ -51,6 +51,7 @@ secure:
       - /sso/loginPhone
       - /product/import
       - /big/**
+      - /company/**
 jwt:
   tokenHeader: Authorization
   secret: forest-admin-secret

+ 1 - 0
nacos/data/config-data/DEFAULT_GROUP/forest-portal

@@ -73,6 +73,7 @@ secure:
       - /home/**
       - /product/**
       - /brand/**
+      - /company/**
 
 
 # 消息队列定义