|
|
@@ -8,29 +8,25 @@ import com.kym.common.annotation.DynamicCache;
|
|
|
import com.kym.common.enums.EnPlusApi;
|
|
|
import com.kym.common.utils.AESUtil;
|
|
|
import com.kym.common.utils.CommUtil;
|
|
|
-import com.kym.entity.admin.ConnectorInfo;
|
|
|
-import com.kym.entity.admin.EquipmentInfo;
|
|
|
-import com.kym.entity.admin.EquipmentRelation;
|
|
|
-import com.kym.entity.admin.Station;
|
|
|
+import com.kym.entity.admin.*;
|
|
|
import com.kym.entity.admin.vo.ConnectorVo;
|
|
|
import com.kym.entity.admin.vo.StationVo;
|
|
|
import com.kym.entity.enplus.EnEquipmentInfo;
|
|
|
import com.kym.entity.enplus.EnStationStatsInfo;
|
|
|
import com.kym.entity.enplus.EnStationStatusInfo;
|
|
|
import com.kym.mapper.admin.StationMapper;
|
|
|
-import com.kym.service.admin.ConnectorInfoService;
|
|
|
-import com.kym.service.admin.EquipmentInfoService;
|
|
|
-import com.kym.service.admin.EquipmentRelationService;
|
|
|
-import com.kym.service.admin.StationService;
|
|
|
+import com.kym.service.admin.*;
|
|
|
import com.kym.service.cache.KymCache;
|
|
|
import com.kym.service.enplus.EnPlusService;
|
|
|
import jakarta.annotation.PostConstruct;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Comparator;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -50,12 +46,18 @@ public class StationServiceImpl extends MPJBaseServiceImpl<StationMapper, Statio
|
|
|
private final EquipmentInfoService equipmentInfoService;
|
|
|
private final ConnectorInfoService connectorInfoService;
|
|
|
private final EquipmentRelationService equipmentRelationService;
|
|
|
+ private final ActivityStationService activityStationService;
|
|
|
+ private final ActivityService activityService;
|
|
|
|
|
|
- public StationServiceImpl(EnPlusService enPlusService, EquipmentInfoService equipmentInfoService, ConnectorInfoService connectorInfoService, EquipmentRelationService equipmentRelationService) {
|
|
|
+ public StationServiceImpl(EnPlusService enPlusService, EquipmentInfoService equipmentInfoService,
|
|
|
+ ConnectorInfoService connectorInfoService, EquipmentRelationService equipmentRelationService,
|
|
|
+ ActivityStationService activityStationService, @Lazy ActivityService activityService) {
|
|
|
this.enPlusService = enPlusService;
|
|
|
this.equipmentInfoService = equipmentInfoService;
|
|
|
this.connectorInfoService = connectorInfoService;
|
|
|
this.equipmentRelationService = equipmentRelationService;
|
|
|
+ this.activityStationService = activityStationService;
|
|
|
+ this.activityService = activityService;
|
|
|
}
|
|
|
|
|
|
@PostConstruct
|
|
|
@@ -93,7 +95,20 @@ public class StationServiceImpl extends MPJBaseServiceImpl<StationMapper, Statio
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- stationList.forEach(vo -> vo.setEquipmentInfos(vo.getEquipmentInfos().stream().sorted(Comparator.comparing(EnEquipmentInfo::getShortId)).toList()));
|
|
|
+ // 查询正在进行中的活动和各站点正在进行中的活动
|
|
|
+ var activityList = activityService.lambdaQuery().eq(Activity::getStatus, Activity.STATUS_进行中).list();
|
|
|
+
|
|
|
+ var activityStationListMap = activityStationService.lambdaQuery().eq(ActivityStation::getStatus, Activity.STATUS_进行中).list()
|
|
|
+ .stream().collect(Collectors.groupingBy(ActivityStation::getStationId));
|
|
|
+
|
|
|
+ var station2ActivityList = new HashMap<String, List<Activity>>();
|
|
|
+
|
|
|
+ activityStationListMap.forEach((k, v) -> {
|
|
|
+ station2ActivityList.put(k,
|
|
|
+ v.stream().map(item -> activityList.stream().filter(activity -> activity.getId().equals(item.getActivityId())).findFirst().orElse(null)).toList());
|
|
|
+ });
|
|
|
+
|
|
|
+ stationList.forEach(vo -> vo.setActivityList(station2ActivityList.get(vo.getStationId())).setEquipmentInfos(vo.getEquipmentInfos().stream().sorted(Comparator.comparing(EnEquipmentInfo::getShortId)).toList()));
|
|
|
return stationList;
|
|
|
|
|
|
}
|