diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 507b53e47..c67d9d93f 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -110,7 +110,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; -@ActiveProfiles("dev") +@ActiveProfiles("pre") @SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) public class SpringBootTestController { @@ -282,6 +282,11 @@ public class SpringBootTestController { @Qualifier("zhongDianLianPlatformServiceImpl") private ThirdPartyPlatformService platformLogic; + @Test + public void test() { + System.out.println(YKCUtils.getNewLogicStationIdList()); + } + @Test public void saveSOCTest() { String transactionCode = "12345"; diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java index aa31e4694..12e7eec65 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java @@ -1,9 +1,11 @@ package com.jsowell.common.util; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; import com.google.common.primitives.Bytes; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; +import com.jsowell.common.core.domain.entity.SysDictData; import com.jsowell.common.core.domain.ykc.YKCBaseMessage; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; @@ -14,8 +16,10 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import java.math.BigDecimal; +import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -453,4 +457,21 @@ public class YKCUtils { return (String) socMap.get("max"); } + /** + * 获取使用新分账方法的stationIdList + * + * new_logic_station_id_list + */ + public static List getNewLogicStationIdList() { + List stationIdList = Lists.newArrayList(); + // 从字典中查询 + List new_logic_station_id_list = DictUtils.getDictCache("new_logic_station_id_list"); + if (CollectionUtils.isNotEmpty(new_logic_station_id_list)) { + for (SysDictData sysDictData : new_logic_station_id_list) { + stationIdList.add(sysDictData.getDictValue()); + } + } + return stationIdList; + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/mq/OrderRabbitListener.java b/jsowell-pile/src/main/java/com/jsowell/mq/OrderRabbitListener.java index 7ca199524..791136059 100644 --- a/jsowell-pile/src/main/java/com/jsowell/mq/OrderRabbitListener.java +++ b/jsowell-pile/src/main/java/com/jsowell/mq/OrderRabbitListener.java @@ -1,8 +1,8 @@ package com.jsowell.mq; -import com.google.common.collect.Lists; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.common.constant.RabbitConstants; +import com.jsowell.common.util.YKCUtils; import com.jsowell.pile.dto.AfterSettleOrderDTO; import com.jsowell.pile.service.OrderBasicInfoService; import com.rabbitmq.client.Channel; @@ -24,8 +24,6 @@ public class OrderRabbitListener { @Autowired private OrderBasicInfoService orderBasicInfoService; - private List stationIdList = Lists.newArrayList(); - /** * 多线程消费请求消息 * @param message @@ -33,8 +31,8 @@ public class OrderRabbitListener { @RabbitListener(queues = RabbitConstants.QUEUE_CHARGE_ORDER_DATA) public void receiveChargeOrderData(AfterSettleOrderDTO afterSettleOrderDTO, Channel channel, Message message) throws IOException { log.info("接收到订单结算数据:{}", afterSettleOrderDTO); - - if (stationIdList.contains(afterSettleOrderDTO.getStationId())) { + List newLogicStationIdList = YKCUtils.getNewLogicStationIdList(); + if (newLogicStationIdList.contains(afterSettleOrderDTO.getStationId())) { try { orderBasicInfoService.realTimeOrderSplit(afterSettleOrderDTO); } catch (BaseAdaPayException e) {