Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlatformDataScopeInterceptor.java
#	ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierInfoBo.java
tjxt 2 mesiacov pred
rodič
commit
95e6ba9465
44 zmenil súbory, kde vykonal 2090 pridanie a 119 odobranie
  1. 2 1
      ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlatformDataScopeInterceptor.java
  2. 6 6
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/EnterpriseScaleController.java
  3. 6 6
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/IndustryCategoryController.java
  4. 1 1
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierAuthorizeController.java
  5. 8 4
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierInfoController.java
  6. 5 5
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/SupplierInfo.java
  7. 5 5
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/Supplierapprove.java
  8. 2 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierBankBo.java
  9. 6 15
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierInfoBo.java
  10. 1 1
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierapproveBo.java
  11. 5 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierBankVo.java
  12. 28 17
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierInfoVo.java
  13. 5 5
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierInformationVo.java
  14. 2 2
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierapproveVo.java
  15. 3 3
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/ISupplierInfoService.java
  16. 21 29
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierInfoServiceImpl.java
  17. 7 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierProcurementServiceImpl.java
  18. 2 1
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierapproveServiceImpl.java
  19. 54 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/QccUtils.java
  20. 47 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ARContact.java
  21. 47 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Area.java
  22. 86 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Branch.java
  23. 60 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ChangeRecord.java
  24. 62 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/CompanyInfoResponse.java
  25. 49 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ContactInfo.java
  26. 34 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/DesignatedRepresentative.java
  27. 47 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Employee.java
  28. 112 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Industry.java
  29. 34 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/OriginalName.java
  30. 296 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Partner.java
  31. 12 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/RelatedOrg.java
  32. 60 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/RelatedProduct.java
  33. 673 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Result.java
  34. 34 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Tag.java
  35. 34 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Website.java
  36. 11 6
      ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/controller/erp/ErpPullController.java
  37. 6 0
      ruoyi-modules/ruoyi-order/pom.xml
  38. 64 0
      ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/Kd100Util.java
  39. 38 0
      ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/QueryTrackDTO.java
  40. 37 0
      ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/TrackData.java
  41. 63 0
      ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/TrackVO.java
  42. 3 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/dubbo/RemoteCategoryServiceImpl.java
  43. 6 6
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SupplierLevelController.java
  44. 6 6
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SupplierTypeController.java

+ 2 - 1
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlatformDataScopeInterceptor.java

@@ -80,7 +80,8 @@ public class PlatformDataScopeInterceptor implements Interceptor {
         "supplier_level",
         "enterprise_scale",
         "industry_category",
-        "contract_product"
+        "contract_product",
+        "supplier_contact"
 
 
         // 注意:前缀匹配需特殊处理(如 qrtz_),见 isIgnoreTable 方法

+ 6 - 6
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/EnterpriseScaleController.java

@@ -40,7 +40,7 @@ public class EnterpriseScaleController extends BaseController {
     /**
      * 查询企业规模列表
      */
-    //@SaCheckPermission("customer:enterpriseScale:list")
+//    @SaCheckPermission("customer:enterpriseScale:list")
     @GetMapping("/list")
     public TableDataInfo<EnterpriseScaleVo> list(EnterpriseScaleBo bo, PageQuery pageQuery) {
         return enterpriseScaleService.queryPageList(bo, pageQuery);
@@ -57,7 +57,7 @@ public class EnterpriseScaleController extends BaseController {
     /**
      * 导出企业规模列表
      */
-    @SaCheckPermission("customer:enterpriseScale:export")
+//    @SaCheckPermission("customer:enterpriseScale:export")
     @Log(title = "企业规模", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(EnterpriseScaleBo bo, HttpServletResponse response) {
@@ -70,7 +70,7 @@ public class EnterpriseScaleController extends BaseController {
      *
      * @param id 主键
      */
-    @SaCheckPermission("customer:enterpriseScale:query")
+//    @SaCheckPermission("customer:enterpriseScale:query")
     @GetMapping("/{id}")
     public R<EnterpriseScaleVo> getInfo(@NotNull(message = "主键不能为空")
                                      @PathVariable("id") Long id) {
@@ -80,7 +80,7 @@ public class EnterpriseScaleController extends BaseController {
     /**
      * 新增企业规模
      */
-    @SaCheckPermission("customer:enterpriseScale:add")
+//    @SaCheckPermission("customer:enterpriseScale:add")
     @Log(title = "企业规模", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -91,7 +91,7 @@ public class EnterpriseScaleController extends BaseController {
     /**
      * 修改企业规模
      */
-    @SaCheckPermission("customer:enterpriseScale:edit")
+//    @SaCheckPermission("customer:enterpriseScale:edit")
     @Log(title = "企业规模", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
@@ -104,7 +104,7 @@ public class EnterpriseScaleController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("customer:enterpriseScale:remove")
+//    @SaCheckPermission("customer:enterpriseScale:remove")
     @Log(title = "企业规模", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")

+ 6 - 6
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/IndustryCategoryController.java

@@ -40,7 +40,7 @@ public class IndustryCategoryController extends BaseController {
     /**
      * 查询所属行业列表
      */
-    //@SaCheckPermission("customer:industryCategory:list")
+//    @SaCheckPermission("customer:industryCategory:list")
     @GetMapping("/list")
     public TableDataInfo<IndustryCategoryVo> list(IndustryCategoryBo bo, PageQuery pageQuery) {
         return industryCategoryService.queryPageList(bo, pageQuery);
@@ -57,7 +57,7 @@ public class IndustryCategoryController extends BaseController {
     /**
      * 导出所属行业列表
      */
-    @SaCheckPermission("customer:industryCategory:export")
+//    @SaCheckPermission("customer:industryCategory:export")
     @Log(title = "所属行业", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(IndustryCategoryBo bo, HttpServletResponse response) {
@@ -70,7 +70,7 @@ public class IndustryCategoryController extends BaseController {
      *
      * @param id 主键
      */
-    @SaCheckPermission("customer:industryCategory:query")
+//    @SaCheckPermission("customer:industryCategory:query")
     @GetMapping("/{id}")
     public R<IndustryCategoryVo> getInfo(@NotNull(message = "主键不能为空")
                                      @PathVariable("id") Long id) {
@@ -80,7 +80,7 @@ public class IndustryCategoryController extends BaseController {
     /**
      * 新增所属行业
      */
-    @SaCheckPermission("customer:industryCategory:add")
+//    @SaCheckPermission("customer:industryCategory:add")
     @Log(title = "所属行业", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -91,7 +91,7 @@ public class IndustryCategoryController extends BaseController {
     /**
      * 修改所属行业
      */
-    @SaCheckPermission("customer:industryCategory:edit")
+//    @SaCheckPermission("customer:industryCategory:edit")
     @Log(title = "所属行业", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
@@ -104,7 +104,7 @@ public class IndustryCategoryController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("customer:industryCategory:remove")
+//    @SaCheckPermission("customer:industryCategory:remove")
     @Log(title = "所属行业", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")

+ 1 - 1
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierAuthorizeController.java

@@ -74,7 +74,7 @@ public class SupplierAuthorizeController extends BaseController {
     /**
      * 根据供应商ID查询授权详情信息列表
      */
-    @SaCheckPermission("supplier:supplierauthorize:query")
+//    @SaCheckPermission("supplier:supplierauthorize:query")
     @GetMapping("/getAuthorizeDetailList")
     public R<List<SupplierAuthorizeVo>> getAuthorizeDetailList(Long supplierId) {
         return R.ok(supplierAuthorizeService.getAuthorizeDetailList(supplierId));

+ 8 - 4
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierInfoController.java

@@ -4,6 +4,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
@@ -62,7 +63,7 @@ public class SupplierInfoController extends BaseController {
      */
     @SaCheckPermission("customer:info:list")
     @GetMapping("/getList")
-    public TableDataInfo<SupplierInformationVo> getList(SupplierInfoBo bo, PageQuery pageQuery) {
+    public TableDataInfo<SupplierInfoVo> getList(SupplierInfoBo bo, PageQuery pageQuery) {
         return supplierInfoService.getSupplierInformation(bo, pageQuery);
     }
 
@@ -74,7 +75,7 @@ public class SupplierInfoController extends BaseController {
      */
     @SaCheckPermission("customer:info:list")
     @GetMapping("/getApproveList")
-    public TableDataInfo<SupplierInformationVo> getApproveList(SupplierInfoBo bo, PageQuery pageQuery) {
+    public TableDataInfo<SupplierInfoVo> getApproveList(SupplierInfoBo bo, PageQuery pageQuery) {
 
         return supplierInfoService.getSupplierApproveInformation(bo, pageQuery);
     }
@@ -87,7 +88,10 @@ public class SupplierInfoController extends BaseController {
     @GetMapping("/getSupplierCategories")
     public R<List<String>> getSupplierCategories(@RequestParam Long supplierId) throws JsonProcessingException {
         // 根据供应商ID查询已选择的品目ID列表
-        SupplierInformationVo supplierInfo = supplierInfoService.queryById(supplierId);
+        SupplierInfoVo supplierInfo = supplierInfoService.queryById(supplierId);
+        if (ObjectUtil.isEmpty(supplierInfo) || ObjectUtil.isEmpty(supplierInfo.getOperatingCategory())) {
+            return R.ok(List.of());
+        }
         List<String> collect = Arrays.stream(supplierInfo.getOperatingCategory().split(",")).collect(Collectors.toList());
         //List<String> categoryIds = supplierCategoryService.getCategoryIdsBySupplierId(supplierId);
         return R.ok(collect);
@@ -115,7 +119,7 @@ public class SupplierInfoController extends BaseController {
      */
     @SaCheckPermission("customer:info:query")
     @GetMapping("/{id}")
-    public R<SupplierInformationVo> getInfo(@NotNull(message = "主键不能为空")
+    public R<SupplierInfoVo> getInfo(@NotNull(message = "主键不能为空")
                                      @PathVariable("id") Long id) throws JsonProcessingException {
         return R.ok(supplierInfoService.queryById(id));
     }

+ 5 - 5
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/SupplierInfo.java

@@ -44,17 +44,17 @@ public class SupplierInfo extends BaseEntity {
     /**
      * 人员规模
      */
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 合作类型
      */
-    private String cooperationType;
+    private Long cooperationType;
 
     /**
      * 固定电话
@@ -264,7 +264,7 @@ public class SupplierInfo extends BaseEntity {
     /**
      * 所属行业
      */
-    private String industrCategory;
+    private Long industrCategory;
 
     /**
      * 类型(可能与supplier_type重复或细分)
@@ -274,7 +274,7 @@ public class SupplierInfo extends BaseEntity {
     /**
      * 所属公司
      */
-    private String ownedCompany;
+    private Long ownedCompany;
 
     /**
      * 推送状态(0-未推送, 1-已推送...)

+ 5 - 5
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/Supplierapprove.java

@@ -44,17 +44,17 @@ public class Supplierapprove extends TenantEntity {
     /**
      * 企业规模
      */
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 合作类型
      */
-    private String cooperationType;
+    private Long cooperationType;
 
     /**
      * 固定电话
@@ -264,7 +264,7 @@ public class Supplierapprove extends TenantEntity {
     /**
      * 所属行业
      */
-    private String industrCategory;
+    private Long industrCategory;
 
     /**
      * 类型(可能与supplier_type重复或细分)
@@ -274,7 +274,7 @@ public class Supplierapprove extends TenantEntity {
     /**
      * 所属公司
      */
-    private String ownedCompany;
+    private Long ownedCompany;
 
     /**
      * 推送状态(0-未推送, 1-已推送...)

+ 2 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierBankBo.java

@@ -20,6 +20,8 @@ import jakarta.validation.constraints.*;
 @AutoMapper(target = SupplierBank.class, reverseConvertGenerate = false)
 public class SupplierBankBo extends BaseEntity {
 
+    private Long id;
+
     /**
      * 账户序号
      */

+ 6 - 15
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierInfoBo.java

@@ -45,19 +45,20 @@ public class SupplierInfoBo extends BaseEntity {
      * 人员规模
      */
     //@NotBlank(message = "人员规模不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
     //@NotBlank(message = "供应商类型不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 合作类型
      */
     //@NotBlank(message = "合作类型不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String cooperationType;
+    private Long cooperationType;
+
 
     /**
      * 固定电话
@@ -306,7 +307,7 @@ public class SupplierInfoBo extends BaseEntity {
      * 所属行业
      */
     //@NotBlank(message = "所属行业不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String industrCategory;
+    private Long industrCategory;
 
     /**
      * 类型(可能与supplier_type重复或细分)
@@ -318,23 +319,13 @@ public class SupplierInfoBo extends BaseEntity {
      * 所属公司
      */
     //@NotBlank(message = "所属公司不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String ownedCompany;
+    private Long ownedCompany;
 
     /**
      * 推送状态(0-未推送, 1-已推送...)
      */
     private Long pushStatus;
 
-    /**
-     * 创建时间
-     */
-    private Date created;
-
-    /**
-     * 修改时间
-     */
-    //@NotNull(message = "修改时间不能为空", groups = { AddGroup.class, EditGroup.class })
-    private Date modify;
 
     /**
      * 有效期开始时间

+ 1 - 1
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/bo/SupplierapproveBo.java

@@ -33,7 +33,7 @@ public class SupplierapproveBo extends BaseEntity {
     /**
      * 供应商类型
      */
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 供货范围

+ 5 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierBankVo.java

@@ -28,6 +28,11 @@ public class SupplierBankVo implements Serializable {
     @Serial
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键
+     */
+    private Long id;
+
     /**
      * 账户序号
      */

+ 28 - 17
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierInfoVo.java

@@ -15,7 +15,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
-
+import java.util.Map;
 
 
 /**
@@ -54,19 +54,19 @@ public class SupplierInfoVo implements Serializable {
      * 人员规模
      */
     @ExcelProperty(value = "人员规模")
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
     @ExcelProperty(value = "供应商类型")
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 合作类型
      */
     @ExcelProperty(value = "合作类型")
-    private String cooperationType;
+    private Long cooperationType;
 
     /**
      * 固定电话
@@ -322,7 +322,7 @@ public class SupplierInfoVo implements Serializable {
      * 所属行业
      */
     @ExcelProperty(value = "所属行业")
-    private String industrCategory;
+    private Long industrCategory;
 
     /**
      * 类型(可能与supplier_type重复或细分)
@@ -335,7 +335,7 @@ public class SupplierInfoVo implements Serializable {
      * 所属公司
      */
     @ExcelProperty(value = "所属公司")
-    private String ownedCompany;
+    private Long ownedCompany;
 
     /**
      * 推送状态(0-未推送, 1-已推送...)
@@ -344,17 +344,6 @@ public class SupplierInfoVo implements Serializable {
     @ExcelDictFormat(readConverterExp = "0=-未推送,,1=-已推送...")
     private Long pushStatus;
 
-    /**
-     * 创建时间
-     */
-    @ExcelProperty(value = "创建时间")
-    private Date created;
-
-    /**
-     * 修改时间
-     */
-    @ExcelProperty(value = "修改时间")
-    private Date modify;
 
     /**
      * 有效期开始时间
@@ -399,6 +388,28 @@ public class SupplierInfoVo implements Serializable {
     @ExcelDictFormat(readConverterExp = "1=-是,,0=-否")
     private Long cooperative;
 
+    /**
+     * 产品经理
+     */
+    private String productManager;
+
+    /**
+     * 采购员
+     */
+    private String buyer;
+
+    /**
+     * 供应地区(省)
+     */
+    private String province;
+
+    /**
+     * 供应地区(市)
+     */
+    private String city;
+
+    private Map<String,Object> otherCustomersMap;
+
 
     private Date createTime;
 

+ 5 - 5
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierInformationVo.java

@@ -52,19 +52,19 @@ public class SupplierInformationVo implements Serializable {
      * 人员规模
      */
     @ExcelProperty(value = "人员规模")
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
     @ExcelProperty(value = "供应商类型")
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 合作类型
      */
     @ExcelProperty(value = "合作类型")
-    private String cooperationType;
+    private Long cooperationType;
 
     /**
      * 工商名称
@@ -191,14 +191,14 @@ public class SupplierInformationVo implements Serializable {
      * 所属行业
      */
     @ExcelProperty(value = "所属行业")
-    private String industrCategory;
+    private Long industrCategory;
 
 
     /**
      * 所属公司
      */
     @ExcelProperty(value = "所属公司")
-    private String ownedCompany;
+    private Long ownedCompany;
 
     /**
      * 推送状态(0-未推送, 1-已推送...)

+ 2 - 2
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/SupplierapproveVo.java

@@ -48,14 +48,14 @@ public class SupplierapproveVo implements Serializable {
      * 企业规模
      */
     @ExcelProperty(value = "企业规模")
-    private String membershipSize;
+    private Long membershipSize;
 
     /**
      * 供应商类型
      */
     @ExcelProperty(value = "供应商类型", converter = ExcelDictConvert.class)
     @ExcelDictFormat(dictType = "supplier_type")
-    private String supplierType;
+    private Long supplierType;
 
     /**
      * 经营类目

+ 3 - 3
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/ISupplierInfoService.java

@@ -28,7 +28,7 @@ public interface ISupplierInfoService extends IService<SupplierInfo>{
      * @param id 主键
      * @return 供应商信息
      */
-    SupplierInformationVo queryById(Long id) throws JsonProcessingException;
+    SupplierInfoVo queryById(Long id) throws JsonProcessingException;
 
     /**
      * 分页查询供应商信息列表
@@ -46,7 +46,7 @@ public interface ISupplierInfoService extends IService<SupplierInfo>{
      * @return 供应商信息列表
      */
 
-    TableDataInfo<SupplierInformationVo> getSupplierInformation(SupplierInfoBo bo, PageQuery pageQuery);
+    TableDataInfo<SupplierInfoVo> getSupplierInformation(SupplierInfoBo bo, PageQuery pageQuery);
 
     /**
      * 获取供应商审核列表
@@ -54,7 +54,7 @@ public interface ISupplierInfoService extends IService<SupplierInfo>{
      * @param pageQuery
      * @return
      */
-    TableDataInfo<SupplierInformationVo> getSupplierApproveInformation(SupplierInfoBo bo, PageQuery pageQuery);
+    TableDataInfo<SupplierInfoVo> getSupplierApproveInformation(SupplierInfoBo bo, PageQuery pageQuery);
 
     /**
      * 查询符合条件的供应商信息列表

+ 21 - 29
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.customer.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -62,22 +63,13 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
      * @return 供应商信息
      */
     @Override
-    public SupplierInformationVo queryById(Long id) throws JsonProcessingException {
+    public SupplierInfoVo queryById(Long id) throws JsonProcessingException {
         SupplierInfoVo supplierInfoVo = baseMapper.selectVoById(id);
-        SupplierInformationVo supplierInformationVo = handleProcurementInfo(supplierInfoVo);
-
-        ObjectMapper  objectMapper = new ObjectMapper();
-        Map<String, Object> originalMap = objectMapper.readValue(supplierInfoVo.getOtherCustomers(), Map.class);
-        // 2. 转换字段名(大写驼峰 -> 小驼峰)
-        Map<String, Object> convertedMap = convertFieldNames(originalMap);
-
-//        Map<String, Object> result = new HashMap<>();
-//        result.put("otherCustomers", convertedMap);
-        supplierInformationVo.setOtherCustomersMap(convertedMap);
+        SupplierInfoVo supplierInformationVo = handleProcurementInfo(supplierInfoVo);
         return supplierInformationVo;
     }
-    private SupplierInformationVo handleProcurementInfo(SupplierInfoVo records) {
-        SupplierInformationVo targetVo = new SupplierInformationVo();
+    private SupplierInfoVo handleProcurementInfo(SupplierInfoVo records) {
+        SupplierInfoVo targetVo = new SupplierInfoVo();
         BeanUtils.copyProperties(records, targetVo, "otherCustomers");
             // 查询管理人员和采购人员
             Long id = targetVo.getId();
@@ -150,11 +142,11 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
     }
 
     @Override
-    public TableDataInfo<SupplierInformationVo> getSupplierInformation(SupplierInfoBo bo, PageQuery pageQuery) {
+    public TableDataInfo<SupplierInfoVo> getSupplierInformation(SupplierInfoBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<SupplierInfo> lqw = buildQueryWrapper(bo);
         Page<SupplierInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        List<SupplierInformationVo> supplierInformationVos = handleProcurementInfo(result.getRecords());
-        Page<SupplierInformationVo> newPage = new Page<>();
+        List<SupplierInfoVo> supplierInformationVos = handleProcurementInfo(result.getRecords());
+        Page<SupplierInfoVo> newPage = new Page<>();
         newPage.setRecords(supplierInformationVos);
         newPage.setTotal(result.getTotal());
         newPage.setCurrent(result.getCurrent());
@@ -163,7 +155,7 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
     }
 
     @Override
-    public TableDataInfo<SupplierInformationVo> getSupplierApproveInformation(SupplierInfoBo bo, PageQuery pageQuery) {
+    public TableDataInfo<SupplierInfoVo> getSupplierApproveInformation(SupplierInfoBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<SupplierInfo> lqw = buildQueryWrapper(bo);
         if (bo.getSupplyStatus() == null){
             List<Long> status = new ArrayList<>();
@@ -172,8 +164,8 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
             lqw.in(SupplierInfo::getSupplyStatus,status);
         }
         Page<SupplierInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        List<SupplierInformationVo> supplierInformationVos = handleProcurementInfo(result.getRecords());
-        Page<SupplierInformationVo> newPage = new Page<>();
+        List<SupplierInfoVo> supplierInformationVos = handleProcurementInfo(result.getRecords());
+        Page<SupplierInfoVo> newPage = new Page<>();
         newPage.setRecords(supplierInformationVos);
         newPage.setTotal(result.getTotal());
         newPage.setCurrent(result.getCurrent());
@@ -184,22 +176,22 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
     /**
      * 处理采购员和产品经理信息
      */
-    private List<SupplierInformationVo> handleProcurementInfo(List<SupplierInfoVo> records) {
-        List<SupplierInformationVo> supplierInformationVos = records.stream()
+    private List<SupplierInfoVo> handleProcurementInfo(List<SupplierInfoVo> records) {
+        List<SupplierInfoVo> supplierInformationVos = records.stream()
             .map(supplierInfoVo -> {
-                SupplierInformationVo targetVo = new SupplierInformationVo();
+                SupplierInfoVo targetVo = new SupplierInfoVo();
                 BeanUtils.copyProperties(supplierInfoVo, targetVo);
                 return targetVo;
             })
             .collect(Collectors.toList());
         //获取供应类别
-        Map<Long, String> supplierCategoryMap = supplierInformationVos.stream().collect(Collectors.toMap(SupplierInformationVo::getId, SupplierInformationVo::getOperatingCategory));
+        Map<Long, String> supplierCategoryMap = supplierInformationVos.stream().collect(Collectors.toMap(SupplierInfoVo::getId, SupplierInfoVo::getOperatingCategory));
         //查询供应品类
         Map<Long, String> supplierCategoryNameMap = supplierCategoryNamesMap(supplierCategoryMap);
         supplierInformationVos.forEach(vo -> {
             vo.setOperatingCategory(supplierCategoryNameMap.get(vo.getId()));
         });
-        for (SupplierInformationVo vo : supplierInformationVos) {
+        for (SupplierInfoVo vo : supplierInformationVos) {
             // 查询管理人员和采购人员
             Long id = vo.getId();
             LambdaQueryWrapper<SupplierProcurement> procurementLqw = Wrappers.lambdaQuery();
@@ -326,9 +318,9 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
         lqw.orderByAsc(SupplierInfo::getId);
         lqw.eq(StringUtils.isNotBlank(bo.getSupplierNo()), SupplierInfo::getSupplierNo, bo.getSupplierNo());
         lqw.like(StringUtils.isNotBlank(bo.getEnterpriseName()), SupplierInfo::getEnterpriseName, bo.getEnterpriseName());
-        lqw.eq(StringUtils.isNotBlank(bo.getMembershipSize()), SupplierInfo::getMembershipSize, bo.getMembershipSize());
-        lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), SupplierInfo::getSupplierType, bo.getSupplierType());
-        lqw.eq(StringUtils.isNotBlank(bo.getCooperationType()), SupplierInfo::getCooperationType, bo.getCooperationType());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getMembershipSize()), SupplierInfo::getMembershipSize, bo.getMembershipSize());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getSupplierType()), SupplierInfo::getSupplierType, bo.getSupplierType());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getCooperationType()), SupplierInfo::getCooperationType, bo.getCooperationType());
         lqw.eq(StringUtils.isNotBlank(bo.getFixedPhone()), SupplierInfo::getFixedPhone, bo.getFixedPhone());
         lqw.eq(StringUtils.isNotBlank(bo.getFax()), SupplierInfo::getFax, bo.getFax());
         lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SupplierInfo::getUrl, bo.getUrl());
@@ -370,9 +362,9 @@ public class SupplierInfoServiceImpl  extends ServiceImpl<SupplierInfoMapper, Su
         lqw.eq(StringUtils.isNotBlank(bo.getOperatingBrand()), SupplierInfo::getOperatingBrand, bo.getOperatingBrand());
         lqw.eq(StringUtils.isNotBlank(bo.getOtherCustomers()), SupplierInfo::getOtherCustomers, bo.getOtherCustomers());
         lqw.like(StringUtils.isNotBlank(bo.getShortName()), SupplierInfo::getShortName, bo.getShortName());
-        lqw.eq(StringUtils.isNotBlank(bo.getIndustrCategory()), SupplierInfo::getIndustrCategory, bo.getIndustrCategory());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getIndustrCategory()), SupplierInfo::getIndustrCategory, bo.getIndustrCategory());
         lqw.eq(StringUtils.isNotBlank(bo.getType()), SupplierInfo::getType, bo.getType());
-        lqw.eq(StringUtils.isNotBlank(bo.getOwnedCompany()), SupplierInfo::getOwnedCompany, bo.getOwnedCompany());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getOwnedCompany()), SupplierInfo::getOwnedCompany, bo.getOwnedCompany());
         lqw.eq(bo.getPushStatus() != null, SupplierInfo::getPushStatus, bo.getPushStatus());
         lqw.eq(bo.getValidityFromDate() != null, SupplierInfo::getValidityFromDate, bo.getValidityFromDate());
         lqw.eq(bo.getValidityToDate() != null, SupplierInfo::getValidityToDate, bo.getValidityToDate());

+ 7 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierProcurementServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.customer.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -136,6 +137,12 @@ public class SupplierProcurementServiceImpl  extends ServiceImpl<SupplierProcure
         lqw.eq(SupplierProcurement::getSupplierId,id);
         SupplierProcurement supplierProcurement = baseMapper.selectOne(lqw);
         Map<String,Long> ids = new HashMap<>();
+        if(ObjectUtil.isEmpty(supplierProcurement)){
+            ids.put("productManager",null);
+            ids.put("purchaser",null);
+            return ids;
+        }
+
         ids.put("productManager",supplierProcurement.getProductManager());
         ids.put("purchaser",supplierProcurement.getPurchaser());
         return ids;

+ 2 - 1
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierapproveServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.customer.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -76,7 +77,7 @@ public class SupplierapproveServiceImpl  extends ServiceImpl<SupplierapproveMapp
         LambdaQueryWrapper<Supplierapprove> lqw = Wrappers.lambdaQuery();
         lqw.orderByAsc(Supplierapprove::getId);
         lqw.like(StringUtils.isNotBlank(bo.getEnterpriseName()), Supplierapprove::getEnterpriseName, bo.getEnterpriseName());
-        lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), Supplierapprove::getSupplierType, bo.getSupplierType());
+        lqw.eq(ObjectUtil.isNotEmpty(bo.getSupplierType()), Supplierapprove::getSupplierType, bo.getSupplierType());
         lqw.eq(StringUtils.isNotBlank(bo.getScopeSupply()), Supplierapprove::getScopeSupply, bo.getScopeSupply());
         lqw.eq(StringUtils.isNotBlank(bo.getOperatingCategory()), Supplierapprove::getOperatingCategory, bo.getOperatingCategory());
         lqw.eq(StringUtils.isNotBlank(bo.getOperatingBrand()), Supplierapprove::getOperatingBrand, bo.getOperatingBrand());

+ 54 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/QccUtils.java

@@ -0,0 +1,54 @@
+package org.dromara.customer.utils.qcc;
+
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
+import lombok.extern.log4j.Log4j2;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.customer.utils.qcc.domain.CompanyInfoResponse;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 企查查工具类
+ * @author
+ * @date 2026/1/20 上午11:25
+ */
+@Slf4j
+public class QccUtils {
+
+    private final static String key = "323495053afe4529891db8e81a435456";
+    private final static String SecretKey = "9A3C050A46673CCC81C3B53EF14AF0B0";
+    private final static String url = "https://api.qichacha.com";
+
+    /**
+    * 获取企业工商信息
+    * */
+    public static CompanyInfoResponse getCompanyInfo(String companyName) {
+        HttpRequest request = HttpUtil.createGet(url + "/ECIV4/GetBasicDetailsByName");
+        //获取秒级时间戳
+        long timestamp = System.currentTimeMillis() / 1000;
+        String signStr = key + timestamp+ SecretKey;
+        String Token = SecureUtil.md5(signStr).toUpperCase();
+        request.header("Token",Token);
+        request.header("Timespan",String.valueOf(timestamp));
+        Map<String, Object> map = new HashMap<>();
+        map.put("key", key);
+        map.put("keyword", companyName);
+        request.form(map);
+        HttpResponse httpResponse = request.execute();
+        String body = httpResponse.body();
+        log.info("企查查返回结果:{}",body);
+        CompanyInfoResponse response = JSONUtil.toBean(body, CompanyInfoResponse.class);
+        return response;
+    }
+
+    public static void main(String[] args) {
+        QccUtils qccUtils = new QccUtils();
+        CompanyInfoResponse companyInfo = qccUtils.getCompanyInfo("湖北赢派科技有限公司");
+    }
+
+}

+ 47 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ARContact.java

@@ -0,0 +1,47 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * AR联系方式实体
+ * 描述企业的应收账款或客户服务联系方式
+ */
+public class ARContact {
+
+    /**
+     * 联系电话
+     */
+    private String ContactNo;
+    
+    /**
+     * 邮箱地址
+     */
+    private String EmailAddress;
+    
+    /**
+     * 联系地址
+     */
+    private String Address;
+
+    public String getContactNo() {
+        return ContactNo;
+    }
+
+    public void setContactNo(String contactNo) {
+        ContactNo = contactNo;
+    }
+
+    public String getEmailAddress() {
+        return EmailAddress;
+    }
+
+    public void setEmailAddress(String emailAddress) {
+        EmailAddress = emailAddress;
+    }
+
+    public String getAddress() {
+        return Address;
+    }
+
+    public void setAddress(String address) {
+        Address = address;
+    }
+}

+ 47 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Area.java

@@ -0,0 +1,47 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 地区信息实体
+ * 描述企业的地理位置信息
+ */
+public class Area {
+
+    /**
+     * 省份名称
+     */
+    private String Province;
+    
+    /**
+     * 城市名称
+     */
+    private String City;
+    
+    /**
+     * 区县名称
+     */
+    private String County;
+
+    public String getProvince() {
+        return Province;
+    }
+
+    public void setProvince(String province) {
+        Province = province;
+    }
+
+    public String getCity() {
+        return City;
+    }
+
+    public void setCity(String city) {
+        City = city;
+    }
+
+    public String getCounty() {
+        return County;
+    }
+
+    public void setCounty(String county) {
+        County = county;
+    }
+}

+ 86 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Branch.java

@@ -0,0 +1,86 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 分支机构实体
+ * 描述企业的分公司或分支机构信息
+ */
+public class Branch {
+
+    /**
+     * 公司ID
+     */
+    private String CompanyId;
+    
+    /**
+     * 注册号
+     */
+    private String RegNo;
+    
+    /**
+     * 分支机构名称
+     */
+    private String Name;
+    
+    /**
+     * 所属机构(登记机关)
+     */
+    private String BelongOrg;
+    
+    /**
+     * 统一社会信用代码
+     */
+    private String CreditCode;
+    
+    /**
+     * 操作员姓名
+     */
+    private String OperName;
+
+    public String getCompanyId() {
+        return CompanyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        CompanyId = companyId;
+    }
+
+    public String getRegNo() {
+        return RegNo;
+    }
+
+    public void setRegNo(String regNo) {
+        RegNo = regNo;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getBelongOrg() {
+        return BelongOrg;
+    }
+
+    public void setBelongOrg(String belongOrg) {
+        BelongOrg = belongOrg;
+    }
+
+    public String getCreditCode() {
+        return CreditCode;
+    }
+
+    public void setCreditCode(String creditCode) {
+        CreditCode = creditCode;
+    }
+
+    public String getOperName() {
+        return OperName;
+    }
+
+    public void setOperName(String operName) {
+        OperName = operName;
+    }
+}

+ 60 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ChangeRecord.java

@@ -0,0 +1,60 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 变更记录实体
+ * 描述企业工商变更历史信息
+ */
+public class ChangeRecord {
+
+    /**
+     * 变更项目名称(如:注册资本变更、名称变更等)
+     */
+    private String ProjectName;
+    
+    /**
+     * 变更前内容
+     */
+    private String BeforeContent;
+    
+    /**
+     * 变更后内容
+     */
+    private String AfterContent;
+    
+    /**
+     * 变更日期
+     */
+    private String ChangeDate;
+
+    public String getProjectName() {
+        return ProjectName;
+    }
+
+    public void setProjectName(String projectName) {
+        ProjectName = projectName;
+    }
+
+    public String getBeforeContent() {
+        return BeforeContent;
+    }
+
+    public void setBeforeContent(String beforeContent) {
+        BeforeContent = beforeContent;
+    }
+
+    public String getAfterContent() {
+        return AfterContent;
+    }
+
+    public void setAfterContent(String afterContent) {
+        AfterContent = afterContent;
+    }
+
+    public String getChangeDate() {
+        return ChangeDate;
+    }
+
+    public void setChangeDate(String changeDate) {
+        ChangeDate = changeDate;
+    }
+}

+ 62 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/CompanyInfoResponse.java

@@ -0,0 +1,62 @@
+package org.dromara.customer.utils.qcc.domain;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * 企业信息查询响应实体
+ * 对应企查查API返回的完整响应结构
+ */
+public class CompanyInfoResponse {
+
+    /**
+     * 查询结果数据主体
+     */
+    private Result Result;
+    
+    /**
+     * 响应状态码,200表示成功
+     */
+    private String Status;
+    
+    /**
+     * 响应消息,描述请求处理结果
+     */
+    private String Message;
+    
+    /**
+     * 订单编号,用于标识本次查询
+     */
+    private String OrderNumber;
+
+    public org.dromara.customer.utils.qcc.domain.Result getResult() {
+        return Result;
+    }
+
+    public void setResult(org.dromara.customer.utils.qcc.domain.Result Result) {
+        this.Result = Result;
+    }
+
+    public String getStatus() {
+        return Status;
+    }
+
+    public void setStatus(String Status) {
+        this.Status = Status;
+    }
+
+    public String getMessage() {
+        return Message;
+    }
+
+    public void setMessage(String Message) {
+        this.Message = Message;
+    }
+
+    public String getOrderNumber() {
+        return OrderNumber;
+    }
+
+    public void setOrderNumber(String OrderNumber) {
+        this.OrderNumber = OrderNumber;
+    }
+}

+ 49 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/ContactInfo.java

@@ -0,0 +1,49 @@
+package org.dromara.customer.utils.qcc.domain;
+
+import java.util.List;
+
+/**
+ * 联系信息实体
+ * 描述企业的联系方式信息
+ */
+public class ContactInfo {
+
+    /**
+     * 官网列表
+     */
+    private List<Website> WebSite;
+    
+    /**
+     * 联系电话
+     */
+    private String PhoneNumber;
+    
+    /**
+     * 联系邮箱
+     */
+    private String Email;
+
+    public List<Website> getWebSite() {
+        return WebSite;
+    }
+
+    public void setWebSite(List<Website> webSite) {
+        WebSite = webSite;
+    }
+
+    public String getPhoneNumber() {
+        return PhoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        PhoneNumber = phoneNumber;
+    }
+
+    public String getEmail() {
+        return Email;
+    }
+
+    public void setEmail(String email) {
+        Email = email;
+    }
+}

+ 34 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/DesignatedRepresentative.java

@@ -0,0 +1,34 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 指定代表实体
+ * 描述企业的指定代表信息
+ */
+public class DesignatedRepresentative {
+
+    /**
+     * 合伙人名称
+     */
+    private String PartnerName;
+    
+    /**
+     * 授权人名称
+     */
+    private String DelegatedName;
+
+    public String getPartnerName() {
+        return PartnerName;
+    }
+
+    public void setPartnerName(String partnerName) {
+        PartnerName = partnerName;
+    }
+
+    public String getDelegatedName() {
+        return DelegatedName;
+    }
+
+    public void setDelegatedName(String delegatedName) {
+        DelegatedName = delegatedName;
+    }
+}

+ 47 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Employee.java

@@ -0,0 +1,47 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 员工实体
+ * 描述企业主要人员信息(如董事、监事、高级管理人员等)
+ */
+public class Employee {
+
+    /**
+     * 企查查内部唯一标识符
+     */
+    private String KeyNo;
+    
+    /**
+     * 员工姓名
+     */
+    private String Name;
+    
+    /**
+     * 职务(如:董事长、董事等)
+     */
+    private String Job;
+
+    public String getKeyNo() {
+        return KeyNo;
+    }
+
+    public void setKeyNo(String keyNo) {
+        KeyNo = keyNo;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getJob() {
+        return Job;
+    }
+
+    public void setJob(String job) {
+        Job = job;
+    }
+}

+ 112 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Industry.java

@@ -0,0 +1,112 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 行业信息实体
+ * 描述企业的行业分类信息
+ */
+public class Industry {
+
+    /**
+     * 行业代码
+     */
+    private String IndustryCode;
+    
+    /**
+     * 行业名称
+     */
+    private String Industry;
+    
+    /**
+     * 子行业代码
+     */
+    private String SubIndustryCode;
+    
+    /**
+     * 子行业名称
+     */
+    private String SubIndustry;
+    
+    /**
+     * 中类代码
+     */
+    private String MiddleCategoryCode;
+    
+    /**
+     * 中类名称
+     */
+    private String MiddleCategory;
+    
+    /**
+     * 小类代码
+     */
+    private String SmallCategoryCode;
+    
+    /**
+     * 小类名称
+     */
+    private String SmallCategory;
+
+    public String getIndustryCode() {
+        return IndustryCode;
+    }
+
+    public void setIndustryCode(String industryCode) {
+        IndustryCode = industryCode;
+    }
+
+    public String getIndustry() {
+        return Industry;
+    }
+
+    public void setIndustry(String industry) {
+        Industry = industry;
+    }
+
+    public String getSubIndustryCode() {
+        return SubIndustryCode;
+    }
+
+    public void setSubIndustryCode(String subIndustryCode) {
+        SubIndustryCode = subIndustryCode;
+    }
+
+    public String getSubIndustry() {
+        return SubIndustry;
+    }
+
+    public void setSubIndustry(String subIndustry) {
+        SubIndustry = subIndustry;
+    }
+
+    public String getMiddleCategoryCode() {
+        return MiddleCategoryCode;
+    }
+
+    public void setMiddleCategoryCode(String middleCategoryCode) {
+        MiddleCategoryCode = middleCategoryCode;
+    }
+
+    public String getMiddleCategory() {
+        return MiddleCategory;
+    }
+
+    public void setMiddleCategory(String middleCategory) {
+        MiddleCategory = middleCategory;
+    }
+
+    public String getSmallCategoryCode() {
+        return SmallCategoryCode;
+    }
+
+    public void setSmallCategoryCode(String smallCategoryCode) {
+        SmallCategoryCode = smallCategoryCode;
+    }
+
+    public String getSmallCategory() {
+        return SmallCategory;
+    }
+
+    public void setSmallCategory(String smallCategory) {
+        SmallCategory = smallCategory;
+    }
+}

+ 34 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/OriginalName.java

@@ -0,0 +1,34 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 原始名称实体
+ * 描述企业的曾用名信息
+ */
+public class OriginalName {
+
+    /**
+     * 曾用名
+     */
+    private String Name;
+    
+    /**
+     * 变更日期
+     */
+    private String ChangeDate;
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getChangeDate() {
+        return ChangeDate;
+    }
+
+    public void setChangeDate(String changeDate) {
+        ChangeDate = changeDate;
+    }
+}

+ 296 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Partner.java

@@ -0,0 +1,296 @@
+package org.dromara.customer.utils.qcc.domain;
+
+import java.util.List;
+
+/**
+ * 合伙人/股东实体
+ * 描述企业股东或合伙人的详细信息
+ */
+public class Partner {
+
+    /**
+     * 企查查内部唯一标识符
+     */
+    private String KeyNo;
+    
+    /**
+     * 企查查编码
+     */
+    private String QccCode;
+    
+    /**
+     * 股东名称
+     */
+    private String StockName;
+    
+    /**
+     * 股东类型(如:自然人股东、企业法人等)
+     */
+    private String StockType;
+    
+    /**
+     * 持股比例
+     */
+    private String StockPercent;
+    
+    /**
+     * 应缴出资额
+     */
+    private String ShouldCapi;
+    
+    /**
+     * 认缴资本
+     */
+    private String SubscribedCapital;
+    
+    /**
+     * 认缴资本单位
+     */
+    private String SubscribedCapitalUnit;
+    
+    /**
+     * 认缴资本币种
+     */
+    private String SubscribedCapitalCCY;
+    
+    /**
+     * 应缴出资日期
+     */
+    private String ShoudDate;
+    
+    /**
+     * 投资类型
+     */
+    private String InvestType;
+    
+    /**
+     * 投资名称
+     */
+    private String InvestName;
+    
+    /**
+     * 实际出资额
+     */
+    private String RealCapi;
+    
+    /**
+     * 实缴资本
+     */
+    private String PaidUpCapital;
+    
+    /**
+     * 实缴资本单位
+     */
+    private String PaidUpCapitalUnit;
+    
+    /**
+     * 实缴资本币种
+     */
+    private String PaidUpCapitalCCY;
+    
+    /**
+     * 出资日期
+     */
+    private String CapiDate;
+    
+    /**
+     * 标签列表(如:大股东、实际控制人等)
+     */
+    private List<String> TagsList;
+    
+    /**
+     * 最终受益比例
+     */
+    private String FinalBenefitPercent;
+    
+    /**
+     * 关联产品信息
+     */
+    private RelatedProduct RelatedProduct;
+    
+    /**
+     * 关联组织信息
+     */
+    private RelatedOrg RelatedOrg;
+    
+    /**
+     * 地区信息
+     */
+    private String Area;
+
+    public String getKeyNo() {
+        return KeyNo;
+    }
+
+    public void setKeyNo(String keyNo) {
+        KeyNo = keyNo;
+    }
+
+    public String getQccCode() {
+        return QccCode;
+    }
+
+    public void setQccCode(String qccCode) {
+        QccCode = qccCode;
+    }
+
+    public String getStockName() {
+        return StockName;
+    }
+
+    public void setStockName(String stockName) {
+        StockName = stockName;
+    }
+
+    public String getStockType() {
+        return StockType;
+    }
+
+    public void setStockType(String stockType) {
+        StockType = stockType;
+    }
+
+    public String getStockPercent() {
+        return StockPercent;
+    }
+
+    public void setStockPercent(String stockPercent) {
+        StockPercent = stockPercent;
+    }
+
+    public String getShouldCapi() {
+        return ShouldCapi;
+    }
+
+    public void setShouldCapi(String shouldCapi) {
+        ShouldCapi = shouldCapi;
+    }
+
+    public String getSubscribedCapital() {
+        return SubscribedCapital;
+    }
+
+    public void setSubscribedCapital(String subscribedCapital) {
+        SubscribedCapital = subscribedCapital;
+    }
+
+    public String getSubscribedCapitalUnit() {
+        return SubscribedCapitalUnit;
+    }
+
+    public void setSubscribedCapitalUnit(String subscribedCapitalUnit) {
+        SubscribedCapitalUnit = subscribedCapitalUnit;
+    }
+
+    public String getSubscribedCapitalCCY() {
+        return SubscribedCapitalCCY;
+    }
+
+    public void setSubscribedCapitalCCY(String subscribedCapitalCCY) {
+        SubscribedCapitalCCY = subscribedCapitalCCY;
+    }
+
+    public String getShoudDate() {
+        return ShoudDate;
+    }
+
+    public void setShoudDate(String shoudDate) {
+        ShoudDate = shoudDate;
+    }
+
+    public String getInvestType() {
+        return InvestType;
+    }
+
+    public void setInvestType(String investType) {
+        InvestType = investType;
+    }
+
+    public String getInvestName() {
+        return InvestName;
+    }
+
+    public void setInvestName(String investName) {
+        InvestName = investName;
+    }
+
+    public String getRealCapi() {
+        return RealCapi;
+    }
+
+    public void setRealCapi(String realCapi) {
+        RealCapi = realCapi;
+    }
+
+    public String getPaidUpCapital() {
+        return PaidUpCapital;
+    }
+
+    public void setPaidUpCapital(String paidUpCapital) {
+        PaidUpCapital = paidUpCapital;
+    }
+
+    public String getPaidUpCapitalUnit() {
+        return PaidUpCapitalUnit;
+    }
+
+    public void setPaidUpCapitalUnit(String paidUpCapitalUnit) {
+        PaidUpCapitalUnit = paidUpCapitalUnit;
+    }
+
+    public String getPaidUpCapitalCCY() {
+        return PaidUpCapitalCCY;
+    }
+
+    public void setPaidUpCapitalCCY(String paidUpCapitalCCY) {
+        PaidUpCapitalCCY = paidUpCapitalCCY;
+    }
+
+    public String getCapiDate() {
+        return CapiDate;
+    }
+
+    public void setCapiDate(String capiDate) {
+        CapiDate = capiDate;
+    }
+
+    public List<String> getTagsList() {
+        return TagsList;
+    }
+
+    public void setTagsList(List<String> tagsList) {
+        TagsList = tagsList;
+    }
+
+    public String getFinalBenefitPercent() {
+        return FinalBenefitPercent;
+    }
+
+    public void setFinalBenefitPercent(String finalBenefitPercent) {
+        FinalBenefitPercent = finalBenefitPercent;
+    }
+
+    public RelatedProduct getRelatedProduct() {
+        return RelatedProduct;
+    }
+
+    public void setRelatedProduct(RelatedProduct relatedProduct) {
+        RelatedProduct = relatedProduct;
+    }
+
+    public RelatedOrg getRelatedOrg() {
+        return RelatedOrg;
+    }
+
+    public void setRelatedOrg(RelatedOrg relatedOrg) {
+        RelatedOrg = relatedOrg;
+    }
+
+    public String getArea() {
+        return Area;
+    }
+
+    public void setArea(String area) {
+        Area = area;
+    }
+}

+ 12 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/RelatedOrg.java

@@ -0,0 +1,12 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 关联组织实体
+ * 描述与企业相关的组织信息
+ * 注意:根据JSON示例,此字段可能为空值
+ */
+public class RelatedOrg {
+
+    // 由于JSON示例中RelatedOrg为null,这里只添加基本结构
+    // 根据实际需要添加相应属性
+}

+ 60 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/RelatedProduct.java

@@ -0,0 +1,60 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 关联产品实体
+ * 描述与企业相关的投资产品信息
+ */
+public class RelatedProduct {
+
+    /**
+     * 产品ID
+     */
+    private String Id;
+    
+    /**
+     * 产品名称
+     */
+    private String Name;
+    
+    /**
+     * 融资轮次
+     */
+    private String Round;
+    
+    /**
+     * 融资次数
+     */
+    private String FinancingCount;
+
+    public String getId() {
+        return Id;
+    }
+
+    public void setId(String id) {
+        Id = id;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getRound() {
+        return Round;
+    }
+
+    public void setRound(String round) {
+        Round = round;
+    }
+
+    public String getFinancingCount() {
+        return FinancingCount;
+    }
+
+    public void setFinancingCount(String financingCount) {
+        FinancingCount = financingCount;
+    }
+}

+ 673 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Result.java

@@ -0,0 +1,673 @@
+package org.dromara.customer.utils.qcc.domain;
+
+import java.util.List;
+
+/**
+ * 企业信息查询结果实体
+ * 包含企业的详细信息,如股东、员工、分支机构等
+ */
+public class Result {
+
+    /**
+     * 合伙人/股东列表
+     */
+    private List<Partner> Partners;
+    
+    /**
+     * 员工信息列表
+     */
+    private List<Employee> Employees;
+    
+    /**
+     * 分支机构列表
+     */
+    private List<Branch> Branches;
+    
+    /**
+     * 变更记录列表
+     */
+    private List<ChangeRecord> ChangeRecords;
+    
+    /**
+     * 联系信息
+     */
+    private ContactInfo ContactInfo;
+    
+    /**
+     * 行业信息
+     */
+    private Industry Industry;
+    
+    /**
+     * 地区信息
+     */
+    private Area Area;
+    
+    /**
+     * 地区代码
+     */
+    private String AreaCode;
+    
+    /**
+     * 新兴产业列表
+     */
+    private List<Object> EmergingIndustyList;
+    
+    /**
+     * 撤销信息
+     */
+    private Object RevokeInfo;
+    
+    /**
+     * 参保人数
+     */
+    private String InsuredCount;
+    
+    /**
+     * 英文名称
+     */
+    private String EnglishName;
+    
+    /**
+     * 人员规模范围
+     */
+    private String PersonScope;
+    
+    /**
+     * IX代码
+     */
+    private Object IXCode;
+    
+    /**
+     * 标签列表
+     */
+    private List<Tag> TagList;
+    
+    /**
+     * AR联系方式列表
+     */
+    private List<ARContact> ARContactList;
+    
+    /**
+     * 经济类型代码列表
+     */
+    private List<String> EconKindCodeList;
+    
+    /**
+     * 企查查内部唯一标识符
+     */
+    private String KeyNo;
+    
+    /**
+     * 企业名称
+     */
+    private String Name;
+    
+    /**
+     * 企业编号
+     */
+    private String No;
+    
+    /**
+     * 登记机关
+     */
+    private String BelongOrg;
+    
+    /**
+     * 企业操作员ID
+     */
+    private String OperId;
+    
+    /**
+     * 法定代表人姓名
+     */
+    private String OperName;
+    
+    /**
+     * 指定代表列表
+     */
+    private List<DesignatedRepresentative> DesignatedRepresentativeList;
+    
+    /**
+     * 成立日期
+     */
+    private String StartDate;
+    
+    /**
+     * 营业期限截止日期
+     */
+    private String EndDate;
+    
+    /**
+     * 企业状态
+     */
+    private String Status;
+    
+    /**
+     * 所在省份代码
+     */
+    private String Province;
+    
+    /**
+     * 最后更新日期
+     */
+    private String UpdatedDate;
+    
+    /**
+     * 统一社会信用代码
+     */
+    private String CreditCode;
+    
+    /**
+     * 注册资本(格式化显示)
+     */
+    private String RegistCapi;
+    
+    /**
+     * 注册资本金额
+     */
+    private String RegisteredCapital;
+    
+    /**
+     * 注册资本单位
+     */
+    private String RegisteredCapitalUnit;
+    
+    /**
+     * 注册资本币种
+     */
+    private String RegisteredCapitalCCY;
+    
+    /**
+     * 经济性质
+     */
+    private String EconKind;
+    
+    /**
+     * 企业地址
+     */
+    private String Address;
+    
+    /**
+     * 经营范围
+     */
+    private String Scope;
+    
+    /**
+     * 营业期限起始日期
+     */
+    private String TermStart;
+    
+    /**
+     * 营业期限结束日期
+     */
+    private String TermEnd;
+    
+    /**
+     * 核准日期
+     */
+    private String CheckDate;
+    
+    /**
+     * 组织机构代码
+     */
+    private String OrgNo;
+    
+    /**
+     * 是否上市标志
+     */
+    private String IsOnStock;
+    
+    /**
+     * 股票代码
+     */
+    private String StockNumber;
+    
+    /**
+     * 股票类型
+     */
+    private String StockType;
+    
+    /**
+     * 曾用名列表
+     */
+    private List<OriginalName> OriginalName;
+    
+    /**
+     * 企业logo图片URL
+     */
+    private String ImageUrl;
+    
+    /**
+     * 企业类型
+     */
+    private String EntType;
+    
+    /**
+     * 认缴资本
+     */
+    private String RecCap;
+    
+    /**
+     * 实缴资本金额
+     */
+    private String PaidUpCapital;
+    
+    /**
+     * 实缴资本单位
+     */
+    private String PaidUpCapitalUnit;
+    
+    /**
+     * 实缴资本币种
+     */
+    private String PaidUpCapitalCCY;
+
+    public List<Partner> getPartners() {
+        return Partners;
+    }
+
+    public void setPartners(List<Partner> partners) {
+        Partners = partners;
+    }
+
+    public List<Employee> getEmployees() {
+        return Employees;
+    }
+
+    public void setEmployees(List<Employee> employees) {
+        Employees = employees;
+    }
+
+    public List<Branch> getBranches() {
+        return Branches;
+    }
+
+    public void setBranches(List<Branch> branches) {
+        Branches = branches;
+    }
+
+    public List<ChangeRecord> getChangeRecords() {
+        return ChangeRecords;
+    }
+
+    public void setChangeRecords(List<ChangeRecord> changeRecords) {
+        ChangeRecords = changeRecords;
+    }
+
+    public ContactInfo getContactInfo() {
+        return ContactInfo;
+    }
+
+    public void setContactInfo(ContactInfo contactInfo) {
+        ContactInfo = contactInfo;
+    }
+
+    public Industry getIndustry() {
+        return Industry;
+    }
+
+    public void setIndustry(Industry industry) {
+        Industry = industry;
+    }
+
+    public Area getArea() {
+        return Area;
+    }
+
+    public void setArea(Area area) {
+        Area = area;
+    }
+
+    public String getAreaCode() {
+        return AreaCode;
+    }
+
+    public void setAreaCode(String areaCode) {
+        AreaCode = areaCode;
+    }
+
+    public List<Object> getEmergingIndustyList() {
+        return EmergingIndustyList;
+    }
+
+    public void setEmergingIndustyList(List<Object> emergingIndustyList) {
+        EmergingIndustyList = emergingIndustyList;
+    }
+
+    public Object getRevokeInfo() {
+        return RevokeInfo;
+    }
+
+    public void setRevokeInfo(Object revokeInfo) {
+        RevokeInfo = revokeInfo;
+    }
+
+    public String getInsuredCount() {
+        return InsuredCount;
+    }
+
+    public void setInsuredCount(String insuredCount) {
+        InsuredCount = insuredCount;
+    }
+
+    public String getEnglishName() {
+        return EnglishName;
+    }
+
+    public void setEnglishName(String englishName) {
+        EnglishName = englishName;
+    }
+
+    public String getPersonScope() {
+        return PersonScope;
+    }
+
+    public void setPersonScope(String personScope) {
+        PersonScope = personScope;
+    }
+
+    public Object getIXCode() {
+        return IXCode;
+    }
+
+    public void setIXCode(Object IXCode) {
+        this.IXCode = IXCode;
+    }
+
+    public List<Tag> getTagList() {
+        return TagList;
+    }
+
+    public void setTagList(List<Tag> tagList) {
+        TagList = tagList;
+    }
+
+    public List<ARContact> getARContactList() {
+        return ARContactList;
+    }
+
+    public void setARContactList(List<ARContact> ARContactList) {
+        this.ARContactList = ARContactList;
+    }
+
+    public List<String> getEconKindCodeList() {
+        return EconKindCodeList;
+    }
+
+    public void setEconKindCodeList(List<String> econKindCodeList) {
+        EconKindCodeList = econKindCodeList;
+    }
+
+    public String getKeyNo() {
+        return KeyNo;
+    }
+
+    public void setKeyNo(String keyNo) {
+        KeyNo = keyNo;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getNo() {
+        return No;
+    }
+
+    public void setNo(String no) {
+        No = no;
+    }
+
+    public String getBelongOrg() {
+        return BelongOrg;
+    }
+
+    public void setBelongOrg(String belongOrg) {
+        BelongOrg = belongOrg;
+    }
+
+    public String getOperId() {
+        return OperId;
+    }
+
+    public void setOperId(String operId) {
+        OperId = operId;
+    }
+
+    public String getOperName() {
+        return OperName;
+    }
+
+    public void setOperName(String operName) {
+        OperName = operName;
+    }
+
+    public List<DesignatedRepresentative> getDesignatedRepresentativeList() {
+        return DesignatedRepresentativeList;
+    }
+
+    public void setDesignatedRepresentativeList(List<DesignatedRepresentative> designatedRepresentativeList) {
+        DesignatedRepresentativeList = designatedRepresentativeList;
+    }
+
+    public String getStartDate() {
+        return StartDate;
+    }
+
+    public void setStartDate(String startDate) {
+        StartDate = startDate;
+    }
+
+    public String getEndDate() {
+        return EndDate;
+    }
+
+    public void setEndDate(String endDate) {
+        EndDate = endDate;
+    }
+
+    public String getStatus() {
+        return Status;
+    }
+
+    public void setStatus(String status) {
+        Status = status;
+    }
+
+    public String getProvince() {
+        return Province;
+    }
+
+    public void setProvince(String province) {
+        Province = province;
+    }
+
+    public String getUpdatedDate() {
+        return UpdatedDate;
+    }
+
+    public void setUpdatedDate(String updatedDate) {
+        UpdatedDate = updatedDate;
+    }
+
+    public String getCreditCode() {
+        return CreditCode;
+    }
+
+    public void setCreditCode(String creditCode) {
+        CreditCode = creditCode;
+    }
+
+    public String getRegistCapi() {
+        return RegistCapi;
+    }
+
+    public void setRegistCapi(String registCapi) {
+        RegistCapi = registCapi;
+    }
+
+    public String getRegisteredCapital() {
+        return RegisteredCapital;
+    }
+
+    public void setRegisteredCapital(String registeredCapital) {
+        RegisteredCapital = registeredCapital;
+    }
+
+    public String getRegisteredCapitalUnit() {
+        return RegisteredCapitalUnit;
+    }
+
+    public void setRegisteredCapitalUnit(String registeredCapitalUnit) {
+        RegisteredCapitalUnit = registeredCapitalUnit;
+    }
+
+    public String getRegisteredCapitalCCY() {
+        return RegisteredCapitalCCY;
+    }
+
+    public void setRegisteredCapitalCCY(String registeredCapitalCCY) {
+        RegisteredCapitalCCY = registeredCapitalCCY;
+    }
+
+    public String getEconKind() {
+        return EconKind;
+    }
+
+    public void setEconKind(String econKind) {
+        EconKind = econKind;
+    }
+
+    public String getAddress() {
+        return Address;
+    }
+
+    public void setAddress(String address) {
+        Address = address;
+    }
+
+    public String getScope() {
+        return Scope;
+    }
+
+    public void setScope(String scope) {
+        Scope = scope;
+    }
+
+    public String getTermStart() {
+        return TermStart;
+    }
+
+    public void setTermStart(String termStart) {
+        TermStart = termStart;
+    }
+
+    public String getTermEnd() {
+        return TermEnd;
+    }
+
+    public void setTermEnd(String termEnd) {
+        TermEnd = termEnd;
+    }
+
+    public String getCheckDate() {
+        return CheckDate;
+    }
+
+    public void setCheckDate(String checkDate) {
+        CheckDate = checkDate;
+    }
+
+    public String getOrgNo() {
+        return OrgNo;
+    }
+
+    public void setOrgNo(String orgNo) {
+        OrgNo = orgNo;
+    }
+
+    public String getIsOnStock() {
+        return IsOnStock;
+    }
+
+    public void setIsOnStock(String isOnStock) {
+        IsOnStock = isOnStock;
+    }
+
+    public String getStockNumber() {
+        return StockNumber;
+    }
+
+    public void setStockNumber(String stockNumber) {
+        StockNumber = stockNumber;
+    }
+
+    public String getStockType() {
+        return StockType;
+    }
+
+    public void setStockType(String stockType) {
+        StockType = stockType;
+    }
+
+    public List<OriginalName> getOriginalName() {
+        return OriginalName;
+    }
+
+    public void setOriginalName(List<OriginalName> originalName) {
+        OriginalName = originalName;
+    }
+
+    public String getImageUrl() {
+        return ImageUrl;
+    }
+
+    public void setImageUrl(String imageUrl) {
+        ImageUrl = imageUrl;
+    }
+
+    public String getEntType() {
+        return EntType;
+    }
+
+    public void setEntType(String entType) {
+        EntType = entType;
+    }
+
+    public String getRecCap() {
+        return RecCap;
+    }
+
+    public void setRecCap(String recCap) {
+        RecCap = recCap;
+    }
+
+    public String getPaidUpCapital() {
+        return PaidUpCapital;
+    }
+
+    public void setPaidUpCapital(String paidUpCapital) {
+        PaidUpCapital = paidUpCapital;
+    }
+
+    public String getPaidUpCapitalUnit() {
+        return PaidUpCapitalUnit;
+    }
+
+    public void setPaidUpCapitalUnit(String paidUpCapitalUnit) {
+        PaidUpCapitalUnit = paidUpCapitalUnit;
+    }
+
+    public String getPaidUpCapitalCCY() {
+        return PaidUpCapitalCCY;
+    }
+
+    public void setPaidUpCapitalCCY(String paidUpCapitalCCY) {
+        PaidUpCapitalCCY = paidUpCapitalCCY;
+    }
+}

+ 34 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Tag.java

@@ -0,0 +1,34 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 标签实体
+ * 描述企业的各种标签信息(如高新技术企业、存续状态等)
+ */
+public class Tag {
+
+    /**
+     * 标签类型编码
+     */
+    private String Type;
+    
+    /**
+     * 标签名称
+     */
+    private String Name;
+
+    public String getType() {
+        return Type;
+    }
+
+    public void setType(String type) {
+        Type = type;
+    }
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+}

+ 34 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/utils/qcc/domain/Website.java

@@ -0,0 +1,34 @@
+package org.dromara.customer.utils.qcc.domain;
+
+/**
+ * 网站实体
+ * 描述企业官网信息
+ */
+public class Website {
+
+    /**
+     * 网站名称
+     */
+    private String Name;
+    
+    /**
+     * 网站URL地址
+     */
+    private String Url;
+
+    public String getName() {
+        return Name;
+    }
+
+    public void setName(String name) {
+        Name = name;
+    }
+
+    public String getUrl() {
+        return Url;
+    }
+
+    public void setUrl(String url) {
+        Url = url;
+    }
+}

+ 11 - 6
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/controller/erp/ErpPullController.java

@@ -1,13 +1,11 @@
 package org.dromara.external.controller.erp;
 
+import cn.hutool.core.bean.BeanUtil;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
 import org.dromara.external.api.erp.domain.ErpCompany;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
 
@@ -25,8 +23,15 @@ public class ErpPullController {
     * 同步公司数据(供应商)
     * */
     @PostMapping()
-    public R<Void> erp(@RequestBody Map<String,String> map){
-        System.out.println(map);
+    public R<Void> erp(@RequestParam String type, @RequestBody Map<String,Object> map){
+        if("syncCompany".equals(type)){
+            ErpCompany bean = BeanUtil.toBean(map, ErpCompany.class);
+            this.syncCompany(bean);
+        }
+        if("deleteCompany".equals(type)){
+            ErpCompany bean = BeanUtil.toBean(map, ErpCompany.class);
+            this.deleteCompany(bean);
+        }
         return R.ok();
     }
 

+ 6 - 0
ruoyi-modules/ruoyi-order/pom.xml

@@ -117,6 +117,12 @@
             <artifactId>ruoyi-api-customer</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.github.kuaidi100-api</groupId>
+            <artifactId>sdk</artifactId>
+            <version>1.0.11</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 64 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/Kd100Util.java

@@ -0,0 +1,64 @@
+package org.dromara.order.utils.kd100;
+
+import cn.hutool.crypto.digest.DigestUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.kuaidi100.sdk.api.QueryTrack;
+import com.kuaidi100.sdk.core.IBaseClient;
+import com.kuaidi100.sdk.pojo.HttpResult;
+import com.kuaidi100.sdk.request.QueryTrackParam;
+import com.kuaidi100.sdk.request.QueryTrackReq;
+import com.kuaidi100.sdk.utils.SignUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.order.utils.kd100.domain.QueryTrackDTO;
+import org.dromara.order.utils.kd100.domain.TrackVO;
+
+/**
+ * 快递100工具类
+ * @author
+ * @date 2026/1/20 下午2:52
+ */
+@Slf4j
+public class Kd100Util {
+
+    private final static String key = "PItbfkli5546";
+    private final static String secret = "13d914eaa36446db876f4c4a90f4879f";
+    private final static String customer = "7B5A055F85B149CC724E53961E28D0FF";
+    private final static String userId = "0205e7a47efc4f2d9107f776444d0ddd";
+    private final static String url = "https://poll.kuaidi100.com";
+
+    /**
+    * 实时快递查询
+    * */
+    public static TrackVO queryTrack(QueryTrackDTO param) {
+        try {
+            QueryTrackReq req = new QueryTrackReq();
+            QueryTrackParam trackParam = new QueryTrackParam();
+            trackParam.setPhone(param.getPhone());
+            trackParam.setCom(param.getCom());
+            trackParam.setNum(param.getNum());
+            String jsonParam = JSONObject.toJSONString(trackParam);
+            req.setParam(jsonParam);
+            req.setCustomer(customer);
+            req.setSign(SignUtils.querySign(jsonParam, key, customer));
+            IBaseClient client = new QueryTrack();
+            HttpResult execute = client.execute(req);
+            return JSONUtil.toBean(execute.getBody(), TrackVO.class);
+        } catch (Exception e) {
+            log.error("[KuaiDi100]实时快递查询,异常: ", e);
+            throw new RuntimeException("快递100查询异常!");
+        }
+    }
+
+    public static void main(String[] args) {
+        QueryTrackDTO param = QueryTrackDTO.builder()
+                .com("yunda")
+                .num("434848895994511")
+                .phone("17683851082")
+                .build();
+        TrackVO orderTracesByJson = queryTrack(param);
+        System.out.println(JSONUtil.toJsonStr(orderTracesByJson));
+    }
+}

+ 38 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/QueryTrackDTO.java

@@ -0,0 +1,38 @@
+package org.dromara.order.utils.kd100.domain;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * -- QueryTrackDTO
+ *
+ * @author lmay
+ * @since 2025/2/28 14:58
+ */
+@Data
+@Builder
+@Accessors(chain = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+public class QueryTrackDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 查询的快递公司的编码,一律用小写字母
+     */
+    private String com;
+
+    /**
+     * 查询的快递单号, 单号的最大长度是32个字符
+     */
+    private String num;
+
+    /**
+     * 收件人或寄件人的手机号或固话
+     * - 顺丰速运、顺丰快运必填,其他快递公司选填
+     */
+    private String phone;
+}

+ 37 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/TrackData.java

@@ -0,0 +1,37 @@
+package org.dromara.order.utils.kd100.domain;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * -- TrackData
+ *
+ * @author lmay
+ * @since 2025/2/28 15:11
+ */
+@Data
+@Builder
+@Accessors(chain = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+public class TrackData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 时间,原始格式
+     */
+    private String time;
+
+    /**
+     * 格式化后时间
+     */
+    private String ftime;
+
+    /**
+     * 内容
+     */
+    private String context;
+}

+ 63 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/utils/kd100/domain/TrackVO.java

@@ -0,0 +1,63 @@
+package org.dromara.order.utils.kd100.domain;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * -- TrackVO
+ *
+ * @author lmay
+ * @since 2025/2/28 15:02
+ */
+@Data
+@Builder
+@Accessors(chain = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+public class TrackVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 消息体
+     */
+    private String message;
+
+    /**
+     * 快递单当前状态,默认为0在途,1揽收,2疑难,3签收,4退签,5派件,8清关,14拒签等10个基础物流状态
+     */
+    private String state;
+
+    /**
+     * 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段
+     */
+    private String ischeck;
+
+    /**
+     * 快递单明细状态标记,暂未实现,请忽略
+     */
+    private String condition;
+
+    /**
+     * 快递公司编码,一律用小写字母
+     */
+    private String com;
+
+    /**
+     * 单号
+     */
+    private String nu;
+
+    /**
+     * 通讯状态,请忽略
+     */
+    private String status;
+
+    /**
+     * 最新查询结果,数组,包含多项,全量,倒序(即时间最新的在最前),每项都是对象,对象包含字段请展开
+     */
+    private List<TrackData> data;
+}

+ 3 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/dubbo/RemoteCategoryServiceImpl.java

@@ -28,6 +28,9 @@ public class RemoteCategoryServiceImpl implements RemoteCategoryService {
 
         //所有三级品类ID,批量查询
         Set<Long> threeLevelCategoryIds = new HashSet<>(categoryMap.values());
+        if (threeLevelCategoryIds.isEmpty()) {
+            return resultMap;
+        }
         List<ProductCategory> categoryList = categoryMapper.selectList(new LambdaQueryWrapper<ProductCategory>()
             .in(ProductCategory::getId, threeLevelCategoryIds)
             .select(ProductCategory::getId, ProductCategory::getCategoryName, ProductCategory::getAncestors));

+ 6 - 6
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SupplierLevelController.java

@@ -50,7 +50,7 @@ public class SupplierLevelController extends BaseController {
     /**
      * 查询供应商等级列表
      */
-    //@SaCheckPermission("system:level:list")
+//    @SaCheckPermission("system:level:list")
     @GetMapping("/list")
     public TableDataInfo<SupplierLevelVo> list(SupplierLevelBo bo, PageQuery pageQuery) {
         return supplierLevelService.queryPageList(bo, pageQuery);
@@ -59,7 +59,7 @@ public class SupplierLevelController extends BaseController {
     /**
      * 导出供应商等级列表
      */
-    @SaCheckPermission("system:level:export")
+//    @SaCheckPermission("system:level:export")
     @Log(title = "供应商等级", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(SupplierLevelBo bo, HttpServletResponse response) {
@@ -72,7 +72,7 @@ public class SupplierLevelController extends BaseController {
      *
      * @param id 主键
      */
-    @SaCheckPermission("system:level:query")
+//    @SaCheckPermission("system:level:query")
     @GetMapping("/{datasource}/{id}")
     public R<SupplierLevelVo> getInfo(
         @NotNull(message = "主键不能为空") @PathVariable("id") String id,
@@ -89,7 +89,7 @@ public class SupplierLevelController extends BaseController {
     /**
      * TODO 新增供应商等级
      */
-    @SaCheckPermission("system:level:add")
+//    @SaCheckPermission("system:level:add")
     @Log(title = "供应商等级", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -134,7 +134,7 @@ public class SupplierLevelController extends BaseController {
     /**
      * 修改供应商等级
      */
-    @SaCheckPermission("system:level:edit")
+//    @SaCheckPermission("system:level:edit")
     @Log(title = "供应商等级", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
@@ -152,7 +152,7 @@ public class SupplierLevelController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("system:level:remove")
+//    @SaCheckPermission("system:level:remove")
     @Log(title = "供应商等级", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")

+ 6 - 6
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SupplierTypeController.java

@@ -49,7 +49,7 @@ public class SupplierTypeController extends BaseController {
     /**
      * 查询供应商类别列表
      */
-    //@SaCheckPermission("system:type:list")
+//    @SaCheckPermission("system:type:list")
     @GetMapping("/list")
     public TableDataInfo<SupplierTypeVo> list(SupplierTypeBo bo, PageQuery pageQuery) {
         return supplierTypeService.queryPageList(bo, pageQuery);
@@ -76,7 +76,7 @@ public class SupplierTypeController extends BaseController {
     /**
      * 导出供应商类别列表
      */
-    @SaCheckPermission("system:type:export")
+//    @SaCheckPermission("system:type:export")
     @Log(title = "供应商类别", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(SupplierTypeBo bo, HttpServletResponse response) {
@@ -89,7 +89,7 @@ public class SupplierTypeController extends BaseController {
      *
      * @param id 主键
      */
-    @SaCheckPermission("system:type:query")
+//    @SaCheckPermission("system:type:query")
     @GetMapping("/{datasource}/{id}")
     public R<SupplierTypeVo> getInfo(
         @NotNull(message = "数据源不能为空") @PathVariable("datasource") String datasource,
@@ -106,7 +106,7 @@ public class SupplierTypeController extends BaseController {
     /**
      * 新增供应商类别
      */
-    @SaCheckPermission("system:type:add")
+//    @SaCheckPermission("system:type:add")
     @Log(title = "供应商类别", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -151,7 +151,7 @@ public class SupplierTypeController extends BaseController {
     /**
      * 修改供应商类别
      */
-    @SaCheckPermission("system:type:edit")
+//    @SaCheckPermission("system:type:edit")
     @Log(title = "供应商类别", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
@@ -169,7 +169,7 @@ public class SupplierTypeController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("system:type:remove")
+//    @SaCheckPermission("system:type:remove")
     @Log(title = "供应商类别", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")