diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java index 9c723cd8..c6852a82 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java @@ -52,7 +52,6 @@ public class AsyncSendCasesRecommendService { public void sendCasesRecommend(CasesRecommend casesRecommend) { List pushStatusList = new ArrayList<>(); pushStatusList.add(CasesPushStatusEnum.WAIT_PUSH.getStatus()); - pushStatusList.add(CasesPushStatusEnum.PUSH_REVOKE.getStatus()); List casesRecommendPushRecords = casesRecommendPushRecordDao.getGenericDao() .findList(CasesRecommendPushRecord.class, FieldFilters.in("pushStatus", pushStatusList), FieldFilters.eqField("recommendId", casesRecommend.getId())); if (CollectionUtils.isEmpty(casesRecommendPushRecords)) { @@ -84,7 +83,6 @@ public class AsyncSendCasesRecommendService { } - private static Predicate distinctByKey(Function keyExtractor) { Set seen = ConcurrentHashMap.newKeySet(); return t -> seen.add(keyExtractor.apply(t)); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java index 5eeeaa6e..4ca4aba5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendPushRecordServiceImpl.java @@ -179,10 +179,22 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR } } else { try { + casesRecommendDao.update(UpdateBuilder.from(CasesRecommend.class) + .addUpdateField("pushProgress", CasesPushStatusEnum.PUSH_ING.getStatus()) + .addFilter(FieldFilters.eq("id", casesRecommend.getId())) + .builder()); //发送推送案例消息 asyncSendCasesRecommendService.sendCasesRecommend(casesRecommend); + casesRecommendDao.update(UpdateBuilder.from(CasesRecommend.class) + .addUpdateField("pushProgress", CasesPushStatusEnum.PUSH_SUCCESS.getStatus()) + .addFilter(FieldFilters.eq("id", casesRecommend.getId())) + .builder()); } catch (Exception e) { log.error("推送失败", e); + casesRecommendDao.update(UpdateBuilder.from(CasesRecommend.class) + .addUpdateField("pushProgress", CasesPushStatusEnum.PUSH_FAIL.getStatus()) + .addFilter(FieldFilters.eq("id", casesRecommend.getId())) + .builder()); } } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendServiceImpl.java index 2b131e59..df000314 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendServiceImpl.java @@ -5,6 +5,7 @@ import com.xboe.common.PageList; import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.LikeMatchMode; import com.xboe.core.orm.QueryBuilder; +import com.xboe.core.orm.UpdateBuilder; import com.xboe.enums.CasesPushStatusEnum; import com.xboe.module.boecase.dao.CasesRecommendDao; import com.xboe.module.boecase.entity.CasesRecommend; @@ -79,6 +80,8 @@ public class CasesRecommendServiceImpl implements ICasesRecommendService { } else if (CasesPushStatusEnum.PUSH_FAIL.getStatus().equals(db.getPushProgress()) || CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())) { // 推送失败或者已撤回时 + + iCasesRecommendPushRecordService.rePushOrWithdraw(false, db); } }