|
@@ -1,6 +1,7 @@
|
|
|
package org.dromara.server.consume.business;
|
|
package org.dromara.server.consume.business;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjUtil;
|
|
import cn.hutool.core.util.ObjUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
@@ -436,8 +437,8 @@ public class BaseBusiness {
|
|
|
*/
|
|
*/
|
|
|
public void completeUploadRecord(ConsumptionBo bo, RemoteUserAccountVo accountVo) {
|
|
public void completeUploadRecord(ConsumptionBo bo, RemoteUserAccountVo accountVo) {
|
|
|
// 消费记录上传完成,还有一些后续工作,不需要知道处理结果,采用异步任务提交
|
|
// 消费记录上传完成,还有一些后续工作,不需要知道处理结果,采用异步任务提交
|
|
|
- // taskExecutor.submit(() -> sendConsumeToKafka(bo, accountVo));
|
|
|
|
|
- // taskExecutor.submit(() -> sendCloudConsume(bo));
|
|
|
|
|
|
|
+ taskExecutor.submit(() -> sendConsumeToKafka(bo, accountVo));
|
|
|
|
|
+ taskExecutor.submit(() -> sendCloudConsume(bo));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -513,6 +514,43 @@ 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);
|
|
|
|
|
+ List<ConsumptionBo> consumptionBos = new ArrayList<>();
|
|
|
|
|
+ list.parallelStream().forEach(p->{
|
|
|
|
|
+ ConsumptionBo bo = new ConsumptionBo();
|
|
|
|
|
+ bo.setRecordId(p.getRecordId());
|
|
|
|
|
+ bo.setUserId(p.getUserId());
|
|
|
|
|
+ bo.setUserNumb(p.getUserNumb());
|
|
|
|
|
+ bo.setRealName(p.getRealName());
|
|
|
|
|
+ bo.setCardNo(p.getCardNo());
|
|
|
|
|
+ bo.setFactoryId(p.getFactoryId());
|
|
|
|
|
+ bo.setConsumeMoney(p.getConsumeMoney());
|
|
|
|
|
+ bo.setBalance(p.getConsumeBalance());
|
|
|
|
|
+ bo.setConsumeDate(p.getConsumeDate());
|
|
|
|
|
+ bo.setMealType(1L);
|
|
|
|
|
+ bo.setTermNo(p.getTermNo());
|
|
|
|
|
+ bo.setTermRecordId(p.getTermRecordId());
|
|
|
|
|
+ bo.setRecordStatus(364L);
|
|
|
|
|
+
|
|
|
|
|
+ consumptionBos.add(bo);
|
|
|
|
|
+ });
|
|
|
|
|
+ return consumptionBos;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public R<Void> sendToJwKafkaTest(Date consumeDate){
|
|
|
|
|
+ List<ConsumptionBo> list = selectOriginalNoSend(consumeDate);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
+ list.parallelStream().forEach(p->{
|
|
|
|
|
+ List<RemoteUserAccountVo> accountVoList = RedisUtils.getCacheList(CacheNames.PT_USER_ACCOUNT_LIST);
|
|
|
|
|
+ RemoteUserAccountVo accountVo = accountVoList.parallelStream()
|
|
|
|
|
+ .filter(k -> k.getUserId().equals(p.getUserId())).findFirst().orElse(null);
|
|
|
|
|
+ taskExecutor.submit(() -> sendConsumeToKafka(p, accountVo));
|
|
|
|
|
+ taskExecutor.submit(() -> sendCloudConsume(p));
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ return R.ok();
|
|
|
|
|
+ }
|
|
|
//endregion
|
|
//endregion
|
|
|
|
|
|
|
|
/**
|
|
/**
|