Просмотр исходного кода

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

xucaiqin 22 часов назад
Родитель
Сommit
7762a4c187
13 измененных файлов с 148 добавлено и 81 удалено
  1. 8 11
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PageUtils.java
  2. 2 10
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/controller/BaseController.java
  3. 16 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/page/BaseQuery.java
  4. 9 11
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractLogisticsScoreController.java
  5. 5 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreDetailQueryDto.java
  6. 2 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreQueryDto.java
  7. 1 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsRepository.java
  8. 4 7
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/IKwcContractLogisticsScoreService.java
  9. 16 18
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/impl/KwcContractLogisticsScoreServiceImpl.java
  10. 53 8
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java
  11. 6 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverConductRulesLogVO.java
  12. 22 4
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfAutoDispatchService.java
  13. 4 9
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

+ 8 - 11
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PageUtils.java

@@ -1,9 +1,7 @@
 package com.sckw.core.utils;
 
 import com.github.pagehelper.PageHelper;
-import com.sckw.core.utils.sql.SqlUtil;
-import com.sckw.core.web.page.PageDomain;
-import com.sckw.core.web.page.TableSupport;
+import com.sckw.core.web.page.BaseQuery;
 
 /**
  * 分页工具类
@@ -15,15 +13,14 @@ public class PageUtils extends PageHelper
     /**
      * 设置请求分页数据
      */
-    public static PageDomain startPage()
+    public static void startPage(BaseQuery query)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        Integer pageNum = pageDomain.getPageNum();
-        Integer pageSize = pageDomain.getPageSize();
-        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
-        Boolean reasonable = pageDomain.getReasonable();
-        PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
-        return pageDomain;
+//        PageDomain pageDomain = TableSupport.buildPageRequest();
+//        Integer pageNum = pageDomain.getPageNum();
+//        Integer pageSize = pageDomain.getPageSize();
+//        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
+//        Boolean reasonable = pageDomain.getReasonable();
+        PageHelper.startPage(query.getPageNum(), query.getPageSize()).setReasonable(true);
     }
 
     /**

+ 2 - 10
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/controller/BaseController.java

@@ -22,14 +22,6 @@ public class BaseController
 {
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    /**
-     * 设置请求分页数据
-     */
-    protected PageDomain startPage()
-    {
-        return PageUtils.startPage();
-    }
-
     /**
      * 设置请求排序数据
      */
@@ -54,8 +46,8 @@ public class BaseController
     /**
      * 响应请求分页数据
      */
-    protected <T> PageDataResult<T> getDataTable(PageInfo<T> pageInfo,PageDomain pageDomain)
+    protected <T> PageDataResult<T> getDataTable(PageInfo<T> pageInfo)
     {
-        return PageDataResult.success(pageDomain.getPageNum(), pageDomain.getPageSize(), pageInfo.getTotal(), pageInfo.getList());
+        return PageDataResult.success(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal(), pageInfo.getList());
     }
 }

+ 16 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/page/BaseQuery.java

@@ -0,0 +1,16 @@
+package com.sckw.core.web.page;
+
+import lombok.Data;
+
+/**
+ * @author tangyishan
+ * @since 2026-01-08  10:23
+ *  基础查询参数
+ */
+@Data
+public class BaseQuery {
+    /** 页码 */
+    private  Integer pageNum = 1;
+    /** 页大小 */
+    private  Integer pageSize = 10;
+}

+ 9 - 11
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractLogisticsScoreController.java

@@ -2,9 +2,7 @@ package com.sckw.contract.controller;
 
 
 import com.github.pagehelper.PageInfo;
-import com.sckw.contract.model.dto.req.LogisticsScoreApprovalDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailAddDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailQueryDto;
+import com.sckw.contract.model.dto.req.*;
 import com.sckw.contract.model.vo.res.LogisticsScoreDetailResVo;
 import com.sckw.contract.model.vo.res.LogisticsScoreResVo;
 import com.sckw.core.web.context.LoginUserHolder;
@@ -38,16 +36,16 @@ public class KwcContractLogisticsScoreController extends BaseController
     /**
      * 查询物流企业评分列表
      */
-    @GetMapping("/queryListByPage")
+    @PostMapping("/queryListByPage")
     @Operation(summary = "分页查询供应商物流企业评分",parameters =  {
             @Parameter(name = "pageNum", description = "页码"),
             @Parameter(name = "pageSize", description = "每页数量")
     })
-    public BaseResult<PageDataResult<LogisticsScoreResVo>> queryListByPage()
+    public BaseResult<PageDataResult<LogisticsScoreResVo>> queryListByPage(@RequestBody @Validated LogisticsScoreQueryDto query)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        PageInfo<LogisticsScoreResVo> list = kwcContractLogisticsScoreService.selectLogisticsScoreWithPendingSocreList(LoginUserHolder.getEntId());
-        return BaseResult.success(getDataTable(list, pageDomain));
+        query.setProviderEntId(LoginUserHolder.getEntId());
+        PageInfo<LogisticsScoreResVo> list = kwcContractLogisticsScoreService.selectLogisticsScoreWithPendingSocreList(query);
+        return BaseResult.success(getDataTable(list));
     }
 
     /**
@@ -60,9 +58,9 @@ public class KwcContractLogisticsScoreController extends BaseController
     })
     public BaseResult<PageDataResult<LogisticsScoreDetailResVo>> queryDetailListByPage(@Validated @RequestBody LogisticsScoreDetailQueryDto detailReqDto)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        PageInfo<LogisticsScoreDetailResVo> list = kwcContractLogisticsScoreService.selectKwcContractLogisticsScoreDetailList(detailReqDto,LoginUserHolder.getEntId());
-        return BaseResult.success(getDataTable(list,pageDomain));
+        detailReqDto.setProviderEntId(LoginUserHolder.getEntId());
+        PageInfo<LogisticsScoreDetailResVo> list = kwcContractLogisticsScoreService.selectKwcContractLogisticsScoreDetailList(detailReqDto);
+        return BaseResult.success(getDataTable(list));
     }
 
     /**

+ 5 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreDetailQueryDto.java

@@ -1,5 +1,6 @@
 package com.sckw.contract.model.dto.req;
 
+import com.sckw.core.web.page.BaseQuery;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @Data
 public class
-LogisticsScoreDetailQueryDto {
+LogisticsScoreDetailQueryDto extends BaseQuery {
     /**
      * 评分id
      */
@@ -38,4 +39,7 @@ LogisticsScoreDetailQueryDto {
      */
     @Schema(hidden = true)
     private Integer status;
+
+    @Schema(hidden = true)
+    private Long providerEntId;
 }

+ 2 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreQueryDto.java

@@ -1,5 +1,6 @@
 package com.sckw.contract.model.dto.req;
 
+import com.sckw.core.web.page.BaseQuery;
 import lombok.Data;
 
 import java.util.List;
@@ -10,7 +11,7 @@ import java.util.List;
  * @Description: 物流评分查询参数
  */
 @Data
-public class LogisticsScoreQueryDto {
+public class LogisticsScoreQueryDto extends BaseQuery {
     /**
      * 供应商id
      */

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

@@ -127,7 +127,7 @@ public class KwcContractLogisticsRepository extends ServiceImpl<KwcContractLogis
                 .eq(KwcContractLogistics::getDelFlag, 0));
     }
 
-    public List<KwcContractLogistics> queryBycontractIdList(List<Long> ids) {
+    public List<KwcContractLogistics> queryBycontractIdList(Set<Long> ids) {
         return list(Wrappers.<KwcContractLogistics>lambdaQuery()
                 .in(KwcContractLogistics::getId, ids)
                 .eq(KwcContractLogistics::getDispatchWay, 1)

+ 4 - 7
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/IKwcContractLogisticsScoreService.java

@@ -4,9 +4,7 @@ import java.util.Map;
 
 import com.github.pagehelper.PageInfo;
 import com.sckw.contract.api.model.dto.req.LogisticsScoreDetailFeignDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreApprovalDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailAddDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailQueryDto;
+import com.sckw.contract.model.dto.req.*;
 import com.sckw.contract.model.entity.KwcContractLogisticsScoreDetail;
 import com.sckw.contract.model.vo.req.LogisticListReq;
 import com.sckw.contract.model.vo.res.LogisticsScoreDetailResVo;
@@ -24,20 +22,19 @@ public interface IKwcContractLogisticsScoreService
 
     /**
      * 查询供应商企业对应的物流企业评分列表带待审核评分
-     * @param providerEntId 供应商企业id
+     * @param query 查询参数
      * @return 物流企业评分集合
      */
-    PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(Long providerEntId);
+    PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(LogisticsScoreQueryDto query);
 
 
     /**
      * 查询物流企业评分明细列表
      *
      * @param detailReqDto 物流企业评分明细
-     * @param providerEntId 供应商企业id
      * @return 物流企业评分明细集合
      */
-    PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto, Long providerEntId);
+    PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto);
 
 
     /**

+ 16 - 18
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/impl/KwcContractLogisticsScoreServiceImpl.java

@@ -82,11 +82,11 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * @return 物流企业评分
      */
     @Override
-    public PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(Long providerEntId)
+    public PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(LogisticsScoreQueryDto query)
     {
         //查询评分列表
         PageInfo<LogisticsScoreResVo> pageInfo = new PageInfo<>(new ArrayList<>());
-        List<KwcContractLogisticsScore> logisticsScores = selectLogisticsScoreList(providerEntId, true);
+        List<KwcContractLogisticsScore> logisticsScores = selectLogisticsScoreList(query);
         List<Long> logisticsScoreIds = logisticsScores.stream().map(KwcContractLogisticsScore::getId).toList();
         if(CollectionUtils.isNotEmpty(logisticsScoreIds)){
             //查询待审评分
@@ -125,17 +125,16 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * 查询物流企业评分明细列表
      *
      * @param detailReqDto 物流企业评分明细
-     * @param providerEntId 供应商企业id
      * @return 物流企业评分明细
      */
     @Override
-    public PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto, Long providerEntId)
+    public PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto)
     {
         //校验评分权限
-        KwcContractLogisticsScore logisticsScore = checkLogisticsScoreAuth(providerEntId, detailReqDto.getScoreId());
+        KwcContractLogisticsScore logisticsScore = checkLogisticsScoreAuth(detailReqDto.getProviderEntId(), detailReqDto.getScoreId());
         EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(logisticsScore.getLogisticsEntId());
         PageInfo<LogisticsScoreDetailResVo> pageInfo = new PageInfo<>(new ArrayList<>());
-        PageUtils.startPage();
+        PageUtils.startPage(detailReqDto);
         detailReqDto.setScoreIds(Collections.singletonList(detailReqDto.getScoreId()));
         List<KwcContractLogisticsScoreDetail> logisticsScoreDetails = kwcContractLogisticsScoreDetailMapper.selectKwcContractLogisticsScoreDetailList(detailReqDto);
         //根据影响人id列表查询影响人
@@ -197,12 +196,10 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * isPage 是否是分页查询
      * @return 物流企业评分
      */
-    private List<KwcContractLogisticsScore> selectLogisticsScoreList(Long providerEntId, boolean isPage)
+    private List<KwcContractLogisticsScore> selectLogisticsScoreList(LogisticsScoreQueryDto query)
     {
-        LogisticsScoreQueryDto scoreReqDto = new LogisticsScoreQueryDto();
-        providerEntId = providerEntId !=null ? providerEntId : LoginUserHolder.getEntId();
         //1.查询当前供应商企业有效的自动派车物流合同
-        List<KwcContractLogistics> logisticsContracts = kwcContractLogisticsRepository.queryValidByEntId(providerEntId);
+        List<KwcContractLogistics> logisticsContracts = kwcContractLogisticsRepository.queryValidByEntId(query.getProviderEntId());
         List<Long> contractIds = logisticsContracts.stream().map(KwcContractLogistics::getId).toList();
         if(CollectionUtils.isNotEmpty(contractIds)){
             //2.根据物流合同id列表和托运商类型查询物流企业列表并得到物流企业id列表
@@ -210,15 +207,12 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
             List<Long> logisticsEntIds = logisticsUnits.stream().map(KwcContractLogisticsUnit::getEntId).toList();
             if(CollectionUtils.isNotEmpty(logisticsEntIds)){
                 //3.根据物流企业id列表和供应商企业id查询物流企业评分列表
-                scoreReqDto.setProviderEntId(providerEntId);
-                scoreReqDto.setLogisticsEntIds(logisticsEntIds);
-                if (isPage){
-                    PageUtils.startPage();
-                }
-                return kwcContractLogisticsScoreMapper.selectKwcContractLogisticsScoreList(scoreReqDto);
+                query.setLogisticsEntIds(logisticsEntIds);
+                PageUtils.startPage(query);
+                return kwcContractLogisticsScoreMapper.selectKwcContractLogisticsScoreList(query);
             }
         }
-        return Collections.emptyList();
+        return new Page<>(query.getPageNum(), query.getPageSize());
     }
 
 
@@ -418,7 +412,11 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
             if(userResDto != null){
                 detailAddDto.setInfluenceBy(userResDto.getId());
             }
-            detailAddDto.setAction(detailDto.getAction());
+            StringBuilder actionBuilder = new StringBuilder(detailDto.getAction());
+            if(detailDto.getScoreChange().compareTo(BigDecimal.ZERO)>0){
+                actionBuilder.append("+");
+            }
+            detailAddDto.setAction(actionBuilder.append(detailDto.getScoreChange()).append("分").toString());
             detailAddDto.setScoreChange(entScoreChange);
             detailAddDto.setScore(resultScore);
             //2.设置评分状态为通过

+ 53 - 8
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -2296,23 +2296,68 @@ public class KwcContractTradeService {
             throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "商品id不能为空!");
         }
 
-        //查询供应商企业物流合同信息
+        //1. 查询供应商企业物流合同信息
         List<KwcContractLogisticsUnit> contractLogisticsUnits = kwcContractLogisticsUnitRepository.queryByEntIdAndType(entId);
         if (CollectionUtils.isEmpty(contractLogisticsUnits)) {
             return Collections.emptyList();
         }
         Set<Long> unitContractIds = contractLogisticsUnits.stream().map(KwcContractLogisticsUnit::getContractId).collect(Collectors.toSet());
 
-        //查询物流商品合同信息
-        List<KwcContractLogisticsGoods> contractLogisticsGoods = kwcContractLogisticsGoodsRepository.queryByLogIdsAndGoodsId(unitContractIds, goodsId);
-        if (CollectionUtils.isEmpty(contractLogisticsGoods)) {
+        //2. 查询手动派车物流合同信息
+        List<KwcContractLogistics> contractLogisticsList = contractLogisticsRepository.queryBycontractIdList(unitContractIds);
+        if (CollectionUtils.isEmpty(contractLogisticsList)) {
             return Collections.emptyList();
         }
-        List<Long> goodContractIds = contractLogisticsGoods.stream().map(KwcContractLogisticsGoods::getContractId).distinct().collect(Collectors.toList());
 
-        //查询自动派车物流合同
-        List<KwcContractLogistics> contractLogisticsList = contractLogisticsRepository.queryBycontractIdList(goodContractIds);
-        return toLogisticsEntDtoVO(entId, contractLogisticsList);
+        // 3. 拆分合同:通用价格>0的直接保留,通用价格=0的需要校验商品id
+        List<Long> validContractIds = new ArrayList<>();
+        List<Long> needCheckGoodsContractIds = new ArrayList<>();
+
+        for (KwcContractLogistics contractLogistics : contractLogisticsList) {
+            if (contractLogistics.getCommonPrice().compareTo(BigDecimal.ZERO) > 0) {
+                //通用价格大于0,无需校验goodsIds
+                validContractIds.add(contractLogistics.getId());
+            } else {
+                // 通用价格=0,需要校验商品
+                needCheckGoodsContractIds.add(contractLogistics.getId());
+            }
+        }
+
+        // 4. 处理需要校验商品的合同ID
+        if (CollectionUtils.isNotEmpty(needCheckGoodsContractIds)) {
+            //查询物流商品合同信息
+            List<KwcContractLogisticsGoods> contractLogisticsGoods = kwcContractLogisticsGoodsRepository.queryByContractIds(unitContractIds);
+            if (CollectionUtils.isNotEmpty(contractLogisticsGoods)) {
+                // 按合同ID分组商品信息
+                Map<Long, List<KwcContractLogisticsGoods>> logisticsGoodsMap = contractLogisticsGoods.stream().collect(Collectors.groupingBy(KwcContractLogisticsGoods::getContractId));
+                for (Long contractId : needCheckGoodsContractIds) {
+                    List<KwcContractLogisticsGoods> logisticsGoodList = logisticsGoodsMap.get(contractId);
+                    // 提取当前合同下的所有商品ID
+                    Set<Long> currentGoodsIds = logisticsGoodList.stream().map(KwcContractLogisticsGoods::getGoodsId).filter(Objects::nonNull).collect(Collectors.toSet());
+                    // 校验目标商品ID是否包含
+                    boolean isContains = currentGoodsIds.contains(goodsId);
+                    if (isContains) {
+                        validContractIds.add(contractId);
+                    }
+                }
+            }
+        }
+        if (CollectionUtils.isEmpty(validContractIds)) {
+            return Collections.emptyList();
+        }
+        //过滤满足商品数据
+        List<KwcContractLogistics> finalContractList = contractLogisticsList.stream()
+                .filter(contract -> validContractIds.contains(contract.getId()))
+                .collect(Collectors.toList());
+
+        //过滤有效期合同
+        List<KwcContractLogistics> filteredLogistics = finalContractList.stream().filter(Objects::nonNull)
+                .filter(con -> con.getStartTime() != null)
+                .filter(con -> {
+                    return !con.getStartTime().after(new Date());
+                }).collect(Collectors.toList());
+
+        return toLogisticsEntDtoVO(entId, filteredLogistics);
     }
 
 

+ 6 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverConductRulesLogVO.java

@@ -59,6 +59,12 @@ public class KwfDriverConductRulesLogVO implements Serializable {
     @Schema(description = "创建人")
     private Long createUser;
 
+    /**
+     * 创建人
+     */
+    @Schema(description = "创建人姓名")
+    private String createUserName;
+
 
     private static KwfDriverConductRulesLogVO getInstance(){
         return new KwfDriverConductRulesLogVO();

+ 22 - 4
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfAutoDispatchService.java

@@ -23,17 +23,18 @@ import com.sckw.fleet.model.vo.KwfTruckDispatchCoefficientVO;
 import com.sckw.fleet.repository.KwfDriverConductRulesLogRepository;
 import com.sckw.fleet.repository.KwfDriverConductRulesRepository;
 import com.sckw.fleet.repository.KwfTruckDispatchCoefficientRepository;
+import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -53,6 +54,9 @@ public class KwfAutoDispatchService {
 
     private final KwfTruckDispatchCoefficientRepository truckDispatchCoefficientRepository;
 
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
 
     /**
      * 查询自动派车系数
@@ -443,8 +447,22 @@ public class KwfAutoDispatchService {
             return PageDataResult.empty(request.getPageNum(), request.getPageSize());
         }
         List<KwfDriverConductRulesLogVO> rulesLogVOS = records.stream().map(KwfDriverConductRulesLogVO::toVO).collect(Collectors.toList());
+        // 提取所有createUser
+        Set<Long> userIds = rulesLogVOS.stream().map(KwfDriverConductRulesLogVO::getCreateUser)
+                .filter(Objects::nonNull).collect(Collectors.toSet());
+
+        // 批量查询用户信息
+        List<UserCacheResDto> userDtoList = remoteSystemService.queryUserCacheByIds(new ArrayList<>(userIds));
+        Map<Long, String> userMap = userDtoList.stream()
+                    .collect(Collectors.toMap(UserCacheResDto::getId, UserCacheResDto::getName, (v1, v2) -> v1));
+
+        List<KwfDriverConductRulesLogVO> result = rulesLogVOS.stream()
+                .peek(relu -> {
+                    relu.setCreateUserName(userMap.getOrDefault(relu.getCreateUser(), "未知用户"));
+                }).collect(Collectors.toList());
+
         log.info("查询司机行为规则日志成功!");
-        return PageDataResult.success(request.getPageNum(), request.getPageSize(), driverConductRulesLog.getTotal(), rulesLogVOS);
+        return PageDataResult.success(request.getPageNum(), request.getPageSize(), driverConductRulesLog.getTotal(), result);
     }
 
 }

+ 4 - 9
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -2599,16 +2599,11 @@ public class KwoTradeOrderService {
         }
         //查询满足手动派单的物流合同
         List<LogisticsEntDtoVO> contractLogisticsList = remoteContractService.queryContractLogOrder(param.getSupEntId(), param.getGoodsId());
-        List<LogisticsEntDtoVO> validContractLog = contractLogisticsList.stream().filter(Objects::nonNull).filter(log -> log.getStartTime() != null && log.getEndTime() != null).filter(log -> {
-            boolean startTimeOk = log.getStartTime().after(kwoTradeOrder.getStartTime());
-            boolean endTimeOk = kwoTradeOrder.getEndTime() == null || log.getEndTime().before(kwoTradeOrder.getEndTime());
-            return startTimeOk && endTimeOk;
-        }).collect(Collectors.toList());
-        if (CollectionUtils.isEmpty(validContractLog)) {
-            throw new BusinessException("未找到该商品有效的自动派车物流合同,请先签订自动派车物流合同");
+        if (CollectionUtils.isEmpty(contractLogisticsList)) {
+            throw new BusinessException("未找到该商品有效的手动派车物流合同");
         }
         //填充运输单价
-        for (LogisticsEntDtoVO vo : validContractLog) {
+        for (LogisticsEntDtoVO vo : contractLogisticsList) {
             LogisticsGoodsDto dto = remoteContractService.queryLogGoodsByContractId(vo.getContractId(), param.getGoodsId());
             if (dto.getPrice() == null || dto.getPrice().compareTo(BigDecimal.ZERO) == 0) {
                 vo.setTransportPrice(vo.getCommonPrice());
@@ -2617,7 +2612,7 @@ public class KwoTradeOrderService {
             }
         }
         List<ContractLogisticsVO> contractLogisticsVOS = new ArrayList<>();
-        for (LogisticsEntDtoVO vo : validContractLog) {
+        for (LogisticsEntDtoVO vo : contractLogisticsList) {
             ContractLogisticsVO logisticsVO = new ContractLogisticsVO();
             logisticsVO.setContractId(vo.getContractId());
             logisticsVO.setContractNo(vo.getContractNo());