Ver código fonte

Merge remote-tracking branch 'origin/dev_20251130' into dev_20251130

# Conflicts:
#	sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
donglang 2 meses atrás
pai
commit
b75272676e
14 arquivos alterados com 458 adições e 9 exclusões
  1. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java
  2. 9 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractStatusEnum.java
  3. 37 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcLogisticsContractController.java
  4. 42 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryLogisticListReq.java
  5. 123 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/QueryLogisticListResp.java
  6. 8 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsGoodsRepository.java
  7. 31 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsRepository.java
  8. 7 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsUnitRepository.java
  9. 128 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractLogisticsService.java
  10. 11 2
      sckw-modules/sckw-payment/pom.xml
  11. 42 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/config/OpenApiConfig.java
  12. 7 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  13. 3 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEnterpriseRepository.java
  14. 9 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java

@@ -97,7 +97,7 @@ public class RequestCheckFilter implements Filter {
         
         // 添加对Swagger相关路径的放行
         if (requestUri.startsWith("/swagger-ui") || 
-            requestUri.startsWith("/v3/api-docs") ||
+            requestUri.startsWith("/v3/api-docs") || requestUri.startsWith("/doc.htm")||
             requestUri.startsWith("/webjars/")) {
             filterChain.doFilter(servletRequest, servletResponse);
             return;

+ 9 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractStatusEnum.java

@@ -40,4 +40,13 @@ public enum ContractStatusEnum {
         return null;
     }
 
+    public static String getNameByCode(int code) {
+        for (ContractStatusEnum contractTrackEnum : values()) {
+            if (contractTrackEnum.getCode() == code) {
+                return contractTrackEnum.getName();
+            }
+        }
+        return null;
+    }
+
 }

+ 37 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcLogisticsContractController.java

@@ -0,0 +1,37 @@
+package com.sckw.contract.controller;
+
+import com.sckw.contract.model.vo.req.QueryLogisticListReq;
+import com.sckw.contract.model.vo.res.QueryLogisticListResp;
+import com.sckw.contract.service.operateService.KwcContractLogisticsService;
+import com.sckw.core.web.response.BaseResult;
+import com.sckw.core.web.response.result.PageDataResult;
+import lombok.RequiredArgsConstructor;
+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;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 物流合同相关接口
+ * @create :2025-11-06 09:34:00
+ */
+@RestController
+@RequestMapping("logisticsContract")
+@RequiredArgsConstructor
+public class KwcLogisticsContractController {
+    private final KwcContractLogisticsService kwcContractLogisticsService;
+
+    /**
+     * @desc: 分页查询
+     * @param: reqVo 分页入参
+     * @author: sky
+     * @date 2023/7/13
+     * @return HttpResult
+     */
+    @PostMapping("/queryListByPage")
+    public BaseResult<PageDataResult<QueryLogisticListResp>> queryListByPage(@RequestBody QueryLogisticListReq req) {
+        return BaseResult.success(kwcContractLogisticsService.queryLogisticsContractListByPage(req));
+    }
+}

+ 42 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryLogisticListReq.java

@@ -0,0 +1,42 @@
+package com.sckw.contract.model.vo.req;
+
+import com.sckw.core.web.request.PageReq;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 物流合同分页查询
+ * @create :2025-11-06 09:39:00
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class QueryLogisticListReq extends PageReq implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 6839589932636493587L;
+    /**
+     * 合同编号
+     */
+    @Schema(description = "合同编号")
+    private String contractNo;
+    /**
+     * 合同名称
+     */
+    @Schema(description = "合同名称")
+    private String contractName;
+    /**
+     * 托运单位id
+     */
+    @Schema(description = "托运单位id")
+    private String consignCompanyId;
+    /**
+     * 承运单位id
+     */
+    @Schema(description = "承运单位id")
+    private String carriageCompanyId;
+}

+ 123 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/QueryLogisticListResp.java

@@ -0,0 +1,123 @@
+package com.sckw.contract.model.vo.res;
+
+import com.sckw.core.web.request.PageReq;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 物流合同分页查询
+ * @create :2025-11-06 09:39:00
+ */
+
+@Data
+public class QueryLogisticListResp implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 6839589932636493587L;
+    /**
+     * 主键
+     */
+    @Schema(description = "主键")
+    private Long id;
+    /**
+     * 合同状态
+     */
+    @Schema(description = "合同状态")
+    private Integer contractStatus;
+    /**
+     * 合同状态描述
+     */
+    @Schema(description = "合同状态描述")
+    private String contractStatusDesc;
+    /**
+     * 托运单位
+     */
+    @Schema(description = "托运单位")
+    private String consignUnit;
+    /**
+     * 托运单位描述
+     */
+    @Schema(description = "托运单位名称")
+    private String consignUnitName;
+    /**
+     * 承运单位
+     */
+    @Schema(description = "承运单位")
+    private String carriageUnit;
+    /**
+     * 承运单位描述
+     */
+    @Schema(description = "承运单位名称")
+    private String carriageUnitName;
+    /**
+     * 合同编号
+     */
+    @Schema(description = "合同编号")
+    private String contractCode;
+    /**
+     * 合同名称
+     */
+    @Schema(description = "合同名称")
+    private String contractName;
+    /**
+     * 签约方式
+     */
+    @Schema(description = "签约方式")
+    private Integer signWay;
+    /**
+     * 签约方式描述
+     */
+    @Schema(description = "签约方式描述")
+    private String signWayDesc;
+    /**
+     * 合同运输总量
+     */
+    @Schema(description = "合同运输总量")
+    private String contractTransportAmount;
+
+    /**
+     * 已履约量
+     */
+    @Schema(description = "已履约量")
+    private String performedAmount;
+    /**
+     * 累计运输总额
+     */
+    @Schema(description = "累计运输总额")
+    private String totalTransportAmount;
+    /**
+     * 起始日期
+     */
+    @Schema(description = "起始日期")
+    private String startDate;
+    /**
+     * 终止日期
+     */
+    @Schema(description = "终止日期")
+    private String endDate;
+    /**
+     * 发起人
+     */
+    @Schema(description = "发起人")
+    private String initiator;
+    /**
+     * 发起单位
+     */
+    @Schema(description = "发起单位")
+    private String initiatorUnit;
+    /**
+     * 发起时间
+     */
+    @Schema(description = "发起时间")
+    private String initiatorTime;
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+}

+ 8 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsGoodsRepository.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sckw.contract.dao.KwcContractLogisticsGoodsMapper;
 import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author :chenXiaoFei
@@ -21,4 +23,10 @@ public class KwcContractLogisticsGoodsRepository extends ServiceImpl<KwcContract
                 .eq(KwcContractLogisticsGoods::getDelFlag,0)
                 .eq(KwcContractLogisticsGoods::getContractId,contractId));
     }
+
+    public List<KwcContractLogisticsGoods> queryByContractIds(Set<Long> entIds) {
+        return list(Wrappers.<KwcContractLogisticsGoods>lambdaQuery()
+                .eq(KwcContractLogisticsGoods::getDelFlag,0)
+                .in(CollectionUtils.isNotEmpty(entIds),KwcContractLogisticsGoods::getContractId,entIds));
+    }
 }

+ 31 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsRepository.java

@@ -0,0 +1,31 @@
+package com.sckw.contract.repository;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.contract.dao.KwcContractLogisticsMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 物流合同接口
+ * @create :2025-11-06 10:24:00
+ */
+@Repository
+public class KwcContractLogisticsRepository extends ServiceImpl<KwcContractLogisticsMapper, KwcContractLogistics> {
+    public IPage<KwcContractLogistics> queryByPage(int pageNum, int pageSize, String contractNo, String contractName,
+                                                   List<Long> entIdList) {
+        return page(new Page<>(pageNum, pageSize), Wrappers.<KwcContractLogistics>lambdaQuery()
+                .eq(KwcContractLogistics::getDelFlag, 0)
+                .in(CollectionUtils.isNotEmpty(entIdList), KwcContractLogistics::getEntId, entIdList)
+                .like(StringUtils.isNotBlank(contractNo), KwcContractLogistics::getContractNo, contractNo)
+                .like(StringUtils.isNotBlank(contractName), KwcContractLogistics::getName, contractName));
+    }
+}

+ 7 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsUnitRepository.java

@@ -8,6 +8,7 @@ import com.sckw.contract.model.entity.KwcContractTradeUnit;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author :chenXiaoFei
@@ -22,4 +23,10 @@ public class KwcContractLogisticsUnitRepository extends ServiceImpl<KwcContractL
                 .eq(KwcContractLogisticsUnit::getContractId, contractId)
                 .eq(KwcContractLogisticsUnit::getDelFlag,0));
     }
+
+    public List<KwcContractLogisticsUnit> queryByContractIds(Set<Long> contractIds) {
+        return list(Wrappers.<KwcContractLogisticsUnit>lambdaQuery()
+                .eq(KwcContractLogisticsUnit::getDelFlag,0)
+                .in(KwcContractLogisticsUnit::getContractId, contractIds));
+    }
 }

+ 128 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractLogisticsService.java

@@ -4,8 +4,12 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.sckw.contract.dao.KwcContractLogisticsMapper;
 import com.sckw.contract.model.dto.req.QueryListReqDto;
 import com.sckw.contract.model.dto.res.QueryListResDto;
@@ -15,6 +19,9 @@ import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
 import com.sckw.contract.model.report.LogisticsListExport;
 import com.sckw.contract.model.vo.req.*;
 import com.sckw.contract.model.vo.res.*;
+import com.sckw.contract.repository.KwcContractLogisticsGoodsRepository;
+import com.sckw.contract.repository.KwcContractLogisticsRepository;
+import com.sckw.contract.repository.KwcContractLogisticsUnitRepository;
 import com.sckw.contract.service.CommonBusinessService;
 import com.sckw.contract.service.KwcContractLogisticsGoodsService;
 import com.sckw.contract.service.KwcContractLogisticsTrackService;
@@ -33,6 +40,7 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.stream.enums.MessageEnum;
@@ -44,6 +52,7 @@ import com.sckw.system.api.model.dto.res.KwsUserResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,6 +72,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @Slf4j
+@RequiredArgsConstructor
 public class KwcContractLogisticsService {
 
     @Autowired
@@ -80,6 +90,10 @@ public class KwcContractLogisticsService {
     @Autowired
     private CommonBusinessService commonBusinessService;
 
+    private final KwcContractLogisticsRepository kwcContractLogisticsRepository;
+    private final KwcContractLogisticsUnitRepository kwcContractLogisticsUnitRepository;
+    private final KwcContractLogisticsGoodsRepository kwcContractLogisticsGoodsRepository;
+
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
 
@@ -1030,4 +1044,118 @@ public class KwcContractLogisticsService {
         ExcelUtil.downData(response, LogisticsListExport.class, dataList);
     }
 
+    public PageDataResult<QueryLogisticListResp> queryLogisticsContractListByPage(QueryLogisticListReq req) {
+        log.info("分页查询物流合同参数:{}", JSON.toJSONString( req));
+        List<Long> entIdList = Lists.newArrayList();
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getConsignCompanyId())){
+            entIdList.add(Long.valueOf(req.getConsignCompanyId()));
+        }
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getCarriageCompanyId())){
+            entIdList.add(Long.valueOf(req.getCarriageCompanyId()));
+        }
+
+        IPage<KwcContractLogistics> page =kwcContractLogisticsRepository.queryByPage(req.getPageNum(),req.getPageSize(),
+                req.getContractNo(),
+                req.getContractName(),entIdList);
+        List<KwcContractLogistics> records = page.getRecords();
+        if (CollectionUtils.isNotEmpty(records)) {
+            return PageDataResult.empty(req.getPageNum(),req.getPageSize());
+        }
+        //发起人id
+        List<Long> userIds =
+                records.stream()
+                        .map(KwcContractLogistics::getCreateBy).distinct()
+                        .collect(Collectors.toList());
+        Map<Long, UserCacheResDto> longUserCacheResDtoMap = Maps.newHashMap();
+        //获取员工信息
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(userIds)){
+            longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
+        }
+        //企业id
+        Set<Long> entIds = records.stream()
+                .map(KwcContractLogistics::getEntId)
+                .collect(Collectors.toSet());
+        //合同id
+        Set<Long> contractIds = records.stream()
+                .map(KwcContractLogistics::getId)
+                .collect(Collectors.toSet());
+        //查询物流商品信息
+        List<KwcContractLogisticsGoods> kwcContractLogisticsGoods =kwcContractLogisticsGoodsRepository.queryByContractIds(entIds);
+        Map<Long, List<KwcContractLogisticsGoods>> contractIdAndGoodsMap = Maps.newHashMap();
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)){
+            //按照合同id进行分组
+            contractIdAndGoodsMap =
+                    kwcContractLogisticsGoods.stream().collect(Collectors.groupingBy(KwcContractLogisticsGoods::getContractId));
+        }
+
+        //查询物流企业信息
+        List<KwcContractLogisticsUnit> kwcContractLogisticsUnits =
+                kwcContractLogisticsUnitRepository.queryByContractIds(contractIds);
+        Map<String, KwcContractLogisticsUnit> contractUniTypeAndUnitMap = Maps.newHashMap();
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsUnits)){
+            //合同id和单位类型组合成key映射物流企业信息
+             contractUniTypeAndUnitMap = kwcContractLogisticsUnits.stream()
+                    .peek(k -> k.setContractIdUnitTypeKey(k.getContractId() + "-" + k.getUnitType()))
+                    .collect(Collectors.toMap(KwcContractLogisticsUnit::getContractIdUnitTypeKey, Function.identity(),
+                            (x, y) -> x));
+        }
+
+        Map<Long, UserCacheResDto> finalLongUserCacheResDtoMap = longUserCacheResDtoMap;
+        Map<String, KwcContractLogisticsUnit> finalContractUniTypeAndUnitMap = contractUniTypeAndUnitMap;
+        Map<Long, List<KwcContractLogisticsGoods>> finalContractIdAndGoodsMap = contractIdAndGoodsMap;
+        List<QueryLogisticListResp> resp = records.stream().map(r -> {
+            QueryLogisticListResp queryLogisticListResp = new QueryLogisticListResp();
+            queryLogisticListResp.setId(r.getId());
+            queryLogisticListResp.setContractStatus(r.getStatus());
+            queryLogisticListResp.setContractStatusDesc(ContractStatusEnum.getNameByCode(r.getStatus()));
+            KwcContractLogisticsUnit logisticsUnit = finalContractUniTypeAndUnitMap.get(r.getId() + "-" + CooperateTypeEnum.CONSIGN.getCode());
+            if (Objects.nonNull(logisticsUnit)){
+                queryLogisticListResp.setConsignUnit(String.valueOf(logisticsUnit.getEntId()));
+                queryLogisticListResp.setConsignUnitName(logisticsUnit.getFirmName());
+            }
+            KwcContractLogisticsUnit carriageUnit =
+                    finalContractUniTypeAndUnitMap.get(r.getId() + "-" + CooperateTypeEnum.CARRIAGE.getCode());
+            if (Objects.nonNull(carriageUnit)){
+                queryLogisticListResp.setCarriageUnit(String.valueOf(carriageUnit.getEntId()));
+                queryLogisticListResp.setCarriageUnitName(carriageUnit.getFirmName());
+            }
+
+
+            queryLogisticListResp.setContractCode(r.getContractNo());
+            queryLogisticListResp.setContractName(r.getName());
+            queryLogisticListResp.setSignWay(r.getSigningWay());
+            queryLogisticListResp.setSignWayDesc(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(),
+                    String.valueOf( r.getSigningWay())));
+            queryLogisticListResp.setContractTransportAmount(Objects.nonNull(r.getAmount())?
+                    r.getAmount().toPlainString():null);
+            queryLogisticListResp.setPerformedAmount(Objects.nonNull(r.getPerformedAmount())
+                    ? r.getPerformedAmount().toPlainString() : null);
+            List<KwcContractLogisticsGoods> goods = finalContractIdAndGoodsMap.get(r.getId());
+            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(goods)){
+                double totalTransportAmount = goods.stream()
+                        .filter(g -> Objects.nonNull(g.getAmount()))
+                        .mapToDouble(x -> Double.valueOf(String.valueOf(x.getAmount())))
+                        .sum();
+                queryLogisticListResp.setTotalTransportAmount(String.valueOf( totalTransportAmount));
+             }
+
+
+            String startDate = DateUtils.format(r.getStartTime(), DateUtils.DATE_TIME_PATTERN);
+            queryLogisticListResp.setStartDate(startDate);
+            String endDate = DateUtils.format(r.getEndTime(), DateUtils.DATE_TIME_PATTERN);
+            queryLogisticListResp.setEndDate(endDate);
+            UserCacheResDto userCacheResDto = finalLongUserCacheResDtoMap.getOrDefault(r.getCreateBy(), new UserCacheResDto());
+            queryLogisticListResp.setInitiator(userCacheResDto.getName());
+            EntCacheResDto entInfo = userCacheResDto.getEntInfo();
+            queryLogisticListResp.setInitiatorUnit(Objects.nonNull(entInfo) ? entInfo.getFirmName() : null);
+            queryLogisticListResp.setInitiatorTime(DateUtils.format(r.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
+            queryLogisticListResp.setRemark(r.getRemark());
+
+
+
+            return queryLogisticListResp;
+        }).collect(Collectors.toList());
+
+        return PageDataResult.of(page, resp);
+    }
 }

+ 11 - 2
sckw-modules/sckw-payment/pom.xml

@@ -18,7 +18,17 @@
         <basic.version>1.0.0</basic.version>
         <upgrade.version>1.1.0</upgrade.version>
     </properties>
-
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.github.xiaoymin</groupId>
+                <artifactId>knife4j-dependencies</artifactId>
+                <version>4.5.0</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
     <dependencies>
         <!-- 核心模块 -->
         <dependency>
@@ -108,7 +118,6 @@
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
-            <version>4.5.0</version>
         </dependency>
 
 

+ 42 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/config/OpenApiConfig.java

@@ -9,11 +9,13 @@ import org.springdoc.core.models.GroupedOpenApi;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 import java.util.List;
 
 @Configuration
-public class OpenApiConfig {
+public class OpenApiConfig implements WebMvcConfigurer {
 
     @Value("${spring.application.name:Application}")
     private String applicationName;
@@ -36,12 +38,15 @@ public class OpenApiConfig {
                         new Server()
                                 .url("http://localhost:10120")
                                 .description("开发环境"),
+                        new Server()
+                                .url("http://10.10.10.224:10014/")
+                                .description("测试环境"),
                         new Server()
                                 .url("https://api.payment.example.com")
                                 .description("生产环境")
                 ));
     }
-    
+
     @Bean
     public GroupedOpenApi paymentApi() {
         return GroupedOpenApi.builder()
@@ -49,4 +54,38 @@ public class OpenApiConfig {
                 .packagesToScan("com.sckw.payment.controller")
                 .build();
     }
-}
+
+    @Bean
+    public GroupedOpenApi paymentAppApi() {
+        return GroupedOpenApi.builder()
+                .group("payment-app")
+                .packagesToScan("com.sckw.payment.controller.app")
+                .build();
+    }
+
+    @Bean
+    public GroupedOpenApi paymentOperateApi() {
+        return GroupedOpenApi.builder()
+                .group("payment-operate")
+                .packagesToScan("com.sckw.payment.controller.operate")
+                .build();
+    }
+
+    @Bean
+    public GroupedOpenApi paymentAllApi() {
+        return GroupedOpenApi.builder()
+                .group("payment-all")
+                .packagesToScan("com.sckw.payment.controller",
+                        "com.sckw.payment.controller.app",
+                        "com.sckw.payment.controller.operate")
+                .build();
+    }
+
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/doc.html")
+                .addResourceLocations("classpath:/META-INF/resources/");
+        registry.addResourceHandler("/webjars/**")
+                .addResourceLocations("classpath:/META-INF/resources/webjars/");
+    }
+}

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -352,4 +352,11 @@ public class KwsEnterpriseController {
         return BaseResult.success(entFindInfoRes);
     }
 
+    /**
+     * 查询企业
+     */
+    @PostMapping("/queryKwsEnterprise")
+    public BaseResult<EntInfoResp> queryKwsEnterprise(@RequestBody EntInfoReq req) {
+        return BaseResult.success(kwsEntService.queryKwsEnterprise(req));
+    }
 }

+ 3 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEnterpriseRepository.java

@@ -36,9 +36,10 @@ public class KwsEnterpriseRepository extends ServiceImpl<KwsEnterpriseDao,KwsEnt
                 .like(StringUtils.isNotBlank(entName), KwsEnterprise::getFirmName, entName));
     }
 
-    public List<KwsEnterprise> queryByEntIds(Set<Long> entIds) {
+    public List<KwsEnterprise> queryByEntIds(Set<Long> entIds,String entName) {
         return list(Wrappers.<KwsEnterprise>lambdaQuery()
                 .eq(BaseModel::getDelFlag, 0)
-                .in(KwsEnterprise::getId, entIds));
+                .in(KwsEnterprise::getId, entIds)
+                .like(StringUtils.isNotBlank(entName), KwsEnterprise::getFirmName, entName));
     }
 }

+ 9 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -2,6 +2,7 @@ package com.sckw.system.service;
 
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
@@ -44,6 +45,7 @@ import com.sckw.system.repository.KwsEnterpriseRepository;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.NotNull;
 import org.redisson.api.RSet;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,6 +65,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class KwsEnterpriseService {
 
     @Autowired
@@ -1571,7 +1574,7 @@ public class KwsEnterpriseService {
         }
         Set<Long> entIds = kwsEntTypes.stream().map(KwsEntType::getEntId).collect(Collectors.toSet());
         //根据企业id查询企业信息
-        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseRepository.queryByEntIds(entIds);
+        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseRepository.queryByEntIds(entIds,req.getEntName());
         if (CollectionUtils.isEmpty(kwsEnterprises)){
             return new EntInfoResp();
         }
@@ -1680,4 +1683,9 @@ public class KwsEnterpriseService {
 
     }
 
+    public EntInfoResp queryKwsEnterprise(EntInfoReq req) {
+        log.info("查询企业信息请求参数:{}", JSON.toJSONString( req));
+        return getInfoResp(req);
+
+    }
 }