提交推送

This commit is contained in:
Guava
2023-07-05 11:48:31 +08:00
parent c38edadbac
commit 2aa0d5b2c0
3 changed files with 15 additions and 2 deletions

View File

@@ -52,7 +52,6 @@ public class AsyncSendCasesRecommendService {
public void sendCasesRecommend(CasesRecommend casesRecommend) {
List<Integer> pushStatusList = new ArrayList<>();
pushStatusList.add(CasesPushStatusEnum.WAIT_PUSH.getStatus());
pushStatusList.add(CasesPushStatusEnum.PUSH_REVOKE.getStatus());
List<CasesRecommendPushRecord> 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 <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Set<Object> seen = ConcurrentHashMap.newKeySet();
return t -> seen.add(keyExtractor.apply(t));

View File

@@ -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());
}
}
}

View File

@@ -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);
}
}