| | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.xiaopeng.api.model.map.XpGeoFencingPolygon; |
| | | import com.xiaopeng.api.model.operation.*; |
| | |
| | | import com.xiaopeng.api.vo.operation.XpStationVo; |
| | | import com.xiaopeng.common.core.domain.R; |
| | | import com.xiaopeng.common.core.exception.ServiceException; |
| | | import com.xiaopeng.common.core.utils.StringUtils; |
| | | import com.xiaopeng.common.core.web.page.PageInfo; |
| | | import com.xiaopeng.common.security.service.TokenService; |
| | | import com.xiaopeng.map.constant.I18nKeyConstant; |
| | |
| | | } |
| | | @Override |
| | | public List<XpStation> findList(PageInfo<XpStation> pageInfo, XpStationQuery query) { |
| | | if(StringUtils.isNotEmpty(query.getStationPointNum())){ |
| | | if(query.getStationPointNum().contains(",")){ |
| | | throw new ServiceException("点位数量只能单选"); |
| | | } |
| | | if(query.getStationPointNum().contains("gt")){ |
| | | query.setStationPointNum(query.getStationPointNum().replace("gt", " > ")); |
| | | }else{ |
| | | query.setStationPointNum(" = " + query.getStationPointNum()); |
| | | } |
| | | } |
| | | List<XpStation> list = null; |
| | | if(pageInfo ==null){ |
| | | list = this.baseMapper.pageList(query); |
| | |
| | | } |
| | | PointPageListListQuery queryPoint = new PointPageListListQuery(); |
| | | queryPoint.setStationIds(stationIds); |
| | | List<XpPoint> xpPoints = xpPointService.pageList(null, queryPoint); |
| | | |
| | | List<XpPoint> xpPoints = xpPointService.list(new QueryWrapper<XpPoint>().in("station_id", stationIds) |
| | | .eq("operation_status", 2).eq("is_deleted", 0)); |
| | | // 将点位按场站ID分组,提高后续处理效率 |
| | | Map<Long, List<XpPoint>> pointMap = xpPoints.stream() |
| | | .collect(Collectors.groupingBy(XpPoint::getStationId)); |