skyline 1 年之前
父節點
當前提交
d4ed42a332

+ 2 - 0
entity/src/main/java/com/kym/entity/admin/ConnectorInfo.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.kym.entity.BaseEntity;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -20,6 +21,7 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 @TableName("t_connector_info")
+@Accessors(chain = true)
 public class ConnectorInfo extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
service/src/main/java/com/kym/service/admin/StationService.java

@@ -26,7 +26,7 @@ import java.util.Map;
  */
 public interface StationService extends MPJBaseService<Station> {
 
-    List<StationVo> queryStationInfo(int pageNum, int pageSize) throws JsonProcessingException;
+    List<StationVo> queryEnStationInfo(int pageNum, int pageSize) throws JsonProcessingException;
 
     @DynamicCache
     Map<String,List<EquipmentInfo>> getCachedEquipmentMap();

+ 13 - 31
service/src/main/java/com/kym/service/admin/impl/StationServiceImpl.java

@@ -15,7 +15,6 @@ import com.kym.entity.admin.*;
 import com.kym.entity.admin.queryParams.StationQueryParam;
 import com.kym.entity.admin.vo.LocalStationVo;
 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;
@@ -84,8 +83,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
     }
 
     @Override
-    @DynamicCache // 方法的返回结果加一层方法缓存,5分钟内不变
-    public List<StationVo> queryStationInfo(int pageNum, int pageSize) {
+    public List<StationVo> queryEnStationInfo(int pageNum, int pageSize) {
         var param = """
                 {
                     "PageNo":%d,
@@ -109,23 +107,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                 station.setPictures(null);
             }
         });
-
-        // 查询正在进行中的活动和各站点正在进行中的活动
-        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;
-
     }
 
     @DynamicCache(timeout = 15 * 60 * 1000L)
@@ -176,17 +158,16 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
 
         // 查询正在进行中的活动和各站点正在进行中的活动
         var activityList = activityService.lambdaQuery().eq(Activity::getStatus, Activity.STATUS_进行中).list();
+        if (CommUtil.isNotEmptyAndNull(activityList)) {
+            var station2ActivityListMap = activityStationService.lambdaQuery().eq(ActivityStation::getStatus, Activity.STATUS_进行中).list()
+                    .stream().collect(Collectors.groupingBy(ActivityStation::getStationId));
+            var station2ActivityList = new HashMap<String, List<Activity>>();
+            station2ActivityListMap.forEach((k, v) -> station2ActivityList.put(k,
+                    v.stream().map(item -> activityList.stream().filter(activity -> activity.getId().equals(item.getActivityId())).findFirst().orElse(null)).toList()));
+            stationVoList.forEach(vo -> vo.setActivityList(station2ActivityList.get(vo.getStationId()))
+                    .setEquipmentInfos(vo.getEquipmentInfos().stream().sorted(Comparator.comparing(EquipmentInfo::getShortId)).toList()));
+        }
 
-        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());
-        });
-        stationVoList.forEach(vo -> vo.setActivityList(station2ActivityList.get(vo.getStationId())).setEquipmentInfos(vo.getEquipmentInfos().stream().sorted(Comparator.comparing(EquipmentInfo::getShortId)).toList()));
         return stationVoList;
     }
 
@@ -235,7 +216,7 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
     @Transactional(rollbackFor = Exception.class)
     public void pullEnStationInfos(String stationId) {
         // 指定的站点信息
-        var stationVo = queryStationInfo(1, 1000).stream().filter(vo -> stationId.equals(vo.getStationId())).findFirst().orElse(null);
+        var stationVo = queryEnStationInfo(1, 1000).stream().filter(vo -> stationId.equals(vo.getStationId())).findFirst().orElse(null);
 
         var station = new Station();
         var equipmentList = new ArrayList<EquipmentInfo>();
@@ -256,7 +237,8 @@ public class StationServiceImpl extends MyBaseServiceImpl<StationMapper, Station
                 var connectorInfos = item.getConnectorInfos();
                 if (!CommUtil.isEmptyOrNull(connectorInfos)) {
                     connectorInfos.forEach(connector -> {
-                        var connectorInfo = new ConnectorInfo();
+                        // 默认状态设置为空闲
+                        var connectorInfo = new ConnectorInfo().setStatus(EquipmentInfo.SERVICE_STATUS_空闲);
                         BeanUtils.copyProperties(connector, connectorInfo);
                         connectorList.add(connectorInfo);
                     });

+ 1 - 1
service/src/main/java/com/kym/service/cache/KymCache.java

@@ -36,7 +36,7 @@ public enum KymCache {
      * @return
      */
     public Integer getConnectorStatus(String connectorId) {
-        return Integer.valueOf(Objects.requireNonNull(KymCacheInjector.redisTemplate.opsForValue().get(RedisKeys.CONNECTOR_ID_TO_SHORT_ID + connectorId)));
+        return Integer.valueOf(Objects.requireNonNull(KymCacheInjector.redisTemplate.opsForValue().get(RedisKeys.CONNECTOR_ID_TO_STATUS + connectorId)));
     }
 
     /**

+ 3 - 0
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -900,7 +900,10 @@ public class WxPayServiceImpl implements WxPayService {
                  * 5.发票状态是否作废或者红冲
                  */
                 var fapiaoApplications = queryFapiao(invoice.getApplyId());
+                // 手动切换数据源
+                DynamicDataSourceContextHolder.push("db-admin");
                 invoiceDetailService.updateInvoiceDetail(invoice.getApplyId(), fapiaoApplications);
+                DynamicDataSourceContextHolder.poll();
             } else {
                 LOGGER.error("微信开具发票失败:{}", invoiceNotification);
             }