liujie
2026-02-28 856e01ca04d1cc88f4efe560426e97cbd9f7f489
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpWorkOrderServiceImpl.java
@@ -17,6 +17,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -88,14 +89,25 @@
        }
        List<Long> handleUserIds = workOrderLogs.stream().map(XpWorkOrderLog::getHandleUserId).collect(Collectors.toList());
        List<SysUser> sysUsers = sysUserClient.listByIds(handleUserIds).getData();
        Map<Long, String> userMap = new HashMap<>();
        if (workOrder.getCreateById()!=null){
            List<Long> createUserId = new ArrayList<>();
            createUserId.add(workOrder.getCreateById());
            List<SysUser> sysUser = sysUserClient.listByIds(createUserId).getData();
            if (sysUser != null && !sysUser.isEmpty()){
                workOrder.setCreateByAvatar(sysUser.get(0).getAvatar());
            }
        }
        Map<Long, SysUser> userMap = new HashMap<>();
        if (sysUsers != null) {
            userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, SysUser::getNickName));
            userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, e->e));
        }
        for (XpWorkOrderLog workOrderLog : workOrderLogs) {
            if (workOrderLog.getHandleUserId() != null) {
                String handleUserName = userMap.get(workOrderLog.getHandleUserId());
                String handleUserName = userMap.get(workOrderLog.getHandleUserId()).getNickName();
                workOrderLog.setHandleUserName(handleUserName);
                String avatar = userMap.get(workOrderLog.getHandleUserId()).getAvatar();
                workOrderLog.setHandleUserAvatar(avatar);
            }
        }
        workOrder.setWorkOrderLogs(workOrderLogs);
@@ -108,11 +120,13 @@
        if (workOrderLog.getHandleType() == 2) {
            // 办结 工单状态流转为已完成
            workOrder.setHandleStatus(3);
            workOrder.setFeedbackUserPhone(null);
            workOrder.setHandleUserId(workOrderLog.getHandleUserId());
            this.updateById(workOrder);
        }else{
            // 移交
            workOrder.setHandleStatus(2);
            workOrder.setFeedbackUserPhone(null);
            workOrder.setHandleUserId(workOrderLog.getHandleUserId());
            this.updateById(workOrder);
        }