“mitao”
2026-03-13 1885e1344b1be07bbc1bde865fa17557c83338f2
bugfix
7个文件已修改
62 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpOperationsUserController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/IXpOperationsUserService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsRoleMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/account/XpOperationUserClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/account/XpOperationUserClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpOperationsUserController.java
@@ -249,5 +249,16 @@
        xpOperationsUserService.importOperationsUser(file);
        return R.ok();
    }
    /**
     * 根据手机号模糊查询用户(内部接口)
     *
     * @param phoneNumber 手机号
     * @return 用户信息列表
     */
    @ApiOperation(value = "根据手机号模糊查询用户及角色信息", tags = {"内部接口"})
    @PostMapping("/inner/xpOperationsUser/getByPhoneNumber")
    public R<List<XpOperationsUser>> getByPhoneNumber(@RequestParam String phoneNumber) {
        List<XpOperationsUser> result = xpOperationsUserService.getByPhoneNumber(phoneNumber);
        return R.ok(result);
    }
}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/IXpOperationsUserService.java
@@ -121,4 +121,11 @@
     * @return
     */
    List<XpOperationsUserWithRoleVO> selectUsersWithRoleByIds(List<Long> ids);
    /**
     *根据手机号模糊查询用户
     * @param phoneNumber
     * @return
     */
    List<XpOperationsUser> getByPhoneNumber(String phoneNumber);
}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java
@@ -479,4 +479,12 @@
            return vo;
        }).collect(Collectors.toList());
    }
    @Override
    public List<XpOperationsUser> getByPhoneNumber(String phoneNumber) {
        if (StringUtils.isBlank(phoneNumber)) {
            return Collections.emptyList();
        }
        return lambdaQuery().eq(XpOperationsUser::getPhoneNumber, phoneNumber).list();
    }
}
xp-robotaxi-account-boot/src/main/resources/mapper/account/XpOperationsRoleMapper.xml
@@ -27,7 +27,7 @@
        SELECT
            u.*,
            r.id AS roleId,
            r.role_name AS roleName
           GROUP_CONCAT(r.role_name)  AS roleName
        FROM xp_operations_user u
        LEFT JOIN xp_operations_role ur ON u.id = ur.operations_user_id
        LEFT JOIN sys_role r ON ur.role_id = r.id AND r.is_deleted = 0
@@ -43,6 +43,7 @@
                AND r.id = #{roleId}
            </if>
        </where>
        GROUP BY u.id
    </select>
    <select id="selectSysUserRoleByOperationUserId"
            resultType="com.xiaopeng.api.model.account.XpOperationsRole">
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/account/XpOperationUserClientFallbackFactory.java
@@ -10,6 +10,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Slf4j
@@ -69,6 +70,12 @@
                log.error("根据角色ID列表获取运维人员ID列表失败,原因:{}", cause.getMessage());
                return R.fail("根据角色ID列表获取运维人员ID列表失败:" + cause.getMessage());
            }
            @Override
            public R<List<XpOperationsUser>> getByPhoneNumber(String phoneNumber) {
                log.error("根据手机号模糊查询用户失败,原因:{}", cause.getMessage());
                return R.ok(Collections.emptyList());
            }
        };
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/account/XpOperationUserClient.java
@@ -7,6 +7,7 @@
import com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -86,4 +87,13 @@
     */
    @PostMapping("/inner/xp-operations-role/getXpOperationsRoleByRoleIds")
    R<List<XpOperationsRole>> getXpOperationsRoleByRoleIds(@RequestBody List<Long> roleIds);
    /**
     * 根据手机号模糊查询用户(内部接口)
     *
     * @param phoneNumber 手机号
     * @return 用户信息列表
     */
    @PostMapping("/inner/xpOperationsUser/getByPhoneNumber")
    public R<List<XpOperationsUser>> getByPhoneNumber(@RequestParam String phoneNumber);
}
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpFleetServiceImpl.java
@@ -313,10 +313,24 @@
    @Override
    public R<PageInfo<FleetPageVO>> pageList(FleetPageQuery query) {
        // 1. 构建查询条件
        List<Long> operationUserIds = Collections.emptyList();
        if (StringUtils.isNotBlank(query.getPhoneNumber())) {
            List<XpOperationsUser> data = xpOperationUserClient.getByPhoneNumber(query.getPhoneNumber()).getData();
            if (CollUtil.isEmpty(data)) {
                PageInfo<FleetPageVO> emptyPageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
                emptyPageInfo.setRecords(new ArrayList<>());
                emptyPageInfo.setTotal(0L);
                return R.ok(emptyPageInfo);
            }
            operationUserIds = data.stream().map(XpOperationsUser::getId).collect(Collectors.toList());
        }
        LambdaQueryWrapper<XpFleet> wrapper = new LambdaQueryWrapper<>();
        if (StringUtils.isNotBlank(query.getFleetName())) {
            wrapper.like(XpFleet::getFleetName, query.getFleetName());
        }
        if (CollUtil.isNotEmpty(operationUserIds)) {
            wrapper.in(XpFleet::getOperationsUserId, operationUserIds);
        }
        wrapper.orderByDesc(XpFleet::getCreateTime);
        // 2. 执行分页查询