|
@@ -34,6 +34,7 @@ import org.dromara.server.base.service.yktOperation.SyncRemoteSendMessageRecordS
|
|
|
import org.dromara.server.common.constant.ConsumeConstants;
|
|
import org.dromara.server.common.constant.ConsumeConstants;
|
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
|
import org.dromara.server.common.domain.vo.yc.YcPushConsumeInfoVo;
|
|
import org.dromara.server.common.domain.vo.yc.YcPushConsumeInfoVo;
|
|
|
|
|
+import org.dromara.server.common.util.CardDateUtils;
|
|
|
import org.dromara.server.consume.domain.bo.XfConsumeDetailBo;
|
|
import org.dromara.server.consume.domain.bo.XfConsumeDetailBo;
|
|
|
import org.dromara.server.consume.domain.bo.XfConsumeDetailOriginalBo;
|
|
import org.dromara.server.consume.domain.bo.XfConsumeDetailOriginalBo;
|
|
|
import org.dromara.server.consume.domain.bo.XfTermTotalBo;
|
|
import org.dromara.server.consume.domain.bo.XfTermTotalBo;
|
|
@@ -49,6 +50,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -508,8 +511,15 @@ public class BaseBusiness {
|
|
|
public List<ConsumptionBo> selectOriginalReconciliation(Date consumeDate) {
|
|
public List<ConsumptionBo> selectOriginalReconciliation(Date consumeDate) {
|
|
|
return TenantHelper.ignore(() -> originalService.selectReconciliationData(consumeDate));
|
|
return TenantHelper.ignore(() -> originalService.selectReconciliationData(consumeDate));
|
|
|
}
|
|
}
|
|
|
- public List<ConsumptionBo> selectOriginalNoSend(Date consumeDate) {
|
|
|
|
|
- List<XfConsumeDetailOriginalVo> list = originalService.queryListByConsumeDate(consumeDate);
|
|
|
|
|
|
|
+ public List<ConsumptionBo> selectOriginalNoSend(Date consumeDate){
|
|
|
|
|
+ LocalDateTime beginTime = CardDateUtils.toLocalDateTime(consumeDate);
|
|
|
|
|
+ LocalDateTime endTime = beginTime.plusDays(1);
|
|
|
|
|
+ Date beginDate = CardDateUtils.toDate(beginTime, ZoneId.of("Asia/Shanghai"));
|
|
|
|
|
+ Date endDate = CardDateUtils.toDate(endTime, ZoneId.of("Asia/Shanghai"));
|
|
|
|
|
+ return selectOriginalNoSend(beginDate,endDate);
|
|
|
|
|
+ }
|
|
|
|
|
+ public List<ConsumptionBo> selectOriginalNoSend(Date beginDate,Date endDate) {
|
|
|
|
|
+ List<XfConsumeDetailOriginalVo> list = originalService.queryListByConsumeDate(beginDate, endDate);
|
|
|
List<ConsumptionBo> consumptionBos = new ArrayList<>();
|
|
List<ConsumptionBo> consumptionBos = new ArrayList<>();
|
|
|
list.parallelStream().forEach(p->{
|
|
list.parallelStream().forEach(p->{
|
|
|
ConsumptionBo bo = new ConsumptionBo();
|
|
ConsumptionBo bo = new ConsumptionBo();
|
|
@@ -533,14 +543,18 @@ public class BaseBusiness {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public R<Void> sendToJwKafkaTest(Date consumeDate){
|
|
public R<Void> sendToJwKafkaTest(Date consumeDate){
|
|
|
- List<ConsumptionBo> list = selectOriginalNoSend(consumeDate);
|
|
|
|
|
|
|
+ LocalDateTime endTime = LocalDateTime.now().plusDays(1);
|
|
|
|
|
+ return sendToJwKafkaTest(consumeDate,CardDateUtils.toDate(endTime));
|
|
|
|
|
+ }
|
|
|
|
|
+ public R<Void> sendToJwKafkaTest(Date beginDate,Date endDate){
|
|
|
|
|
+ List<ConsumptionBo> list = selectOriginalNoSend(beginDate,endDate);
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
list.parallelStream().forEach(p->{
|
|
list.parallelStream().forEach(p->{
|
|
|
List<RemoteUserAccountVo> accountVoList = RedisUtils.getCacheList(CacheNames.PT_USER_ACCOUNT_LIST);
|
|
List<RemoteUserAccountVo> accountVoList = RedisUtils.getCacheList(CacheNames.PT_USER_ACCOUNT_LIST);
|
|
|
RemoteUserAccountVo accountVo = accountVoList.parallelStream()
|
|
RemoteUserAccountVo accountVo = accountVoList.parallelStream()
|
|
|
.filter(k -> k.getUserId().equals(p.getUserId())).findFirst().orElse(null);
|
|
.filter(k -> k.getUserId().equals(p.getUserId())).findFirst().orElse(null);
|
|
|
|
|
+ //向教务推送刷卡数据
|
|
|
taskExecutor.submit(() -> sendConsumeToKafka(p, accountVo));
|
|
taskExecutor.submit(() -> sendConsumeToKafka(p, accountVo));
|
|
|
- taskExecutor.submit(() -> sendCloudConsume(p));
|
|
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
return R.ok();
|
|
return R.ok();
|