无关风月
2026-02-25 5bcdfc028035c1dc51e9f2b621db3d660d525978
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderEvaluateServiceImpl.java
@@ -1,18 +1,28 @@
package com.xiaopeng.order.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.dto.account.UserResourcesDto;
import com.xiaopeng.api.feignClient.account.UserResourcesClient;
import com.xiaopeng.api.feignClient.account.XpAppUserClient;
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.account.XpAppUser;
import com.xiaopeng.api.model.operation.XpInvitationCode;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.order.XpOrderEvaluate;
import com.xiaopeng.api.vo.account.GetUserListByUidsVo;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.order.mapper.XpOrderEvaluateMapper;
import com.xiaopeng.order.model.query.OrderEvaluateManagementPageListQuery;
import com.xiaopeng.order.model.query.OrderEvaluatePageQuery;
import com.xiaopeng.order.model.vo.OrderEvaluateManagementPageListVO;
import com.xiaopeng.order.model.vo.OrderEvaluatePageVO;
import com.xiaopeng.order.service.IXpOrderEvaluateService;
import com.xiaopeng.order.service.IXpOrderService;
@@ -22,6 +32,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.*;
@@ -44,6 +55,8 @@
    private final XpAppUserClient xpAppUserClient;
    private final XpVehicleClient xpVehicleClient;
    private final IXpOrderService xpOrderService;
    private final UserResourcesClient userResourcesClient;
    private final XpSystemSettingClient systemSettingClient;
    @Override
    public PageInfo<OrderEvaluatePageVO> pageList(OrderEvaluatePageQuery query) {
@@ -113,6 +126,38 @@
        return resultPage;
    }
    @Override
    public PageInfo<OrderEvaluateManagementPageListVO> managementPageList(OrderEvaluateManagementPageListQuery query) {
        PageInfo<OrderEvaluateManagementPageListVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize());
        List<OrderEvaluateManagementPageListVO> list = this.baseMapper.managementPageList(pageInfo,query);
        if (list.isEmpty()){
            return new PageInfo<>();
        }
        List<Long> userIds = list.stream().map(OrderEvaluateManagementPageListVO::getUserId).collect(Collectors.toList());
        GetUserListByUidsVo getUserListByUidsVo = new GetUserListByUidsVo();
        getUserListByUidsVo.setUids(userIds);
        getUserListByUidsVo.setGetPreCarOwner(false);
        UserResourcesDto userListByUids = userResourcesClient.getUserListByUids(getUserListByUidsVo);
        for (OrderEvaluateManagementPageListVO orderEvaluateManagementPageListVO : list) {
            Object data = userListByUids.getData();
            // 转化为jsonArray
            JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(data));
            for (Object o : jsonArray) {
                // 转化为JsonObject
                JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o));
                String mobile = jsonObject.getString("mobile");
                String nickName = jsonObject.getString("nickName");
                String headImage = jsonObject.getString("headImage");
                orderEvaluateManagementPageListVO.setPhoneNumber(mobile);
                orderEvaluateManagementPageListVO.setNickName(nickName);
                orderEvaluateManagementPageListVO.setHeadImage(headImage);
            }
            systemSettingClient.getFeedbackTypeById(orderEvaluateManagementPageListVO.getFeedbackTypeId());
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    /**
     * 批量获取用户信息
     */