mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 04:16:51 +08:00
提交推送
This commit is contained in:
@@ -52,7 +52,6 @@ public class AsyncSendCasesRecommendService {
|
|||||||
public void sendCasesRecommend(CasesRecommend casesRecommend) {
|
public void sendCasesRecommend(CasesRecommend casesRecommend) {
|
||||||
List<Integer> pushStatusList = new ArrayList<>();
|
List<Integer> pushStatusList = new ArrayList<>();
|
||||||
pushStatusList.add(CasesPushStatusEnum.WAIT_PUSH.getStatus());
|
pushStatusList.add(CasesPushStatusEnum.WAIT_PUSH.getStatus());
|
||||||
pushStatusList.add(CasesPushStatusEnum.PUSH_REVOKE.getStatus());
|
|
||||||
List<CasesRecommendPushRecord> casesRecommendPushRecords = casesRecommendPushRecordDao.getGenericDao()
|
List<CasesRecommendPushRecord> casesRecommendPushRecords = casesRecommendPushRecordDao.getGenericDao()
|
||||||
.findList(CasesRecommendPushRecord.class, FieldFilters.in("pushStatus", pushStatusList), FieldFilters.eqField("recommendId", casesRecommend.getId()));
|
.findList(CasesRecommendPushRecord.class, FieldFilters.in("pushStatus", pushStatusList), FieldFilters.eqField("recommendId", casesRecommend.getId()));
|
||||||
if (CollectionUtils.isEmpty(casesRecommendPushRecords)) {
|
if (CollectionUtils.isEmpty(casesRecommendPushRecords)) {
|
||||||
@@ -84,7 +83,6 @@ public class AsyncSendCasesRecommendService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
|
private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
|
||||||
Set<Object> seen = ConcurrentHashMap.newKeySet();
|
Set<Object> seen = ConcurrentHashMap.newKeySet();
|
||||||
return t -> seen.add(keyExtractor.apply(t));
|
return t -> seen.add(keyExtractor.apply(t));
|
||||||
|
|||||||
@@ -179,10 +179,22 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
casesRecommendDao.update(UpdateBuilder.from(CasesRecommend.class)
|
||||||
|
.addUpdateField("pushProgress", CasesPushStatusEnum.PUSH_ING.getStatus())
|
||||||
|
.addFilter(FieldFilters.eq("id", casesRecommend.getId()))
|
||||||
|
.builder());
|
||||||
//发送推送案例消息
|
//发送推送案例消息
|
||||||
asyncSendCasesRecommendService.sendCasesRecommend(casesRecommend);
|
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) {
|
} catch (Exception e) {
|
||||||
log.error("推送失败", e);
|
log.error("推送失败", e);
|
||||||
|
casesRecommendDao.update(UpdateBuilder.from(CasesRecommend.class)
|
||||||
|
.addUpdateField("pushProgress", CasesPushStatusEnum.PUSH_FAIL.getStatus())
|
||||||
|
.addFilter(FieldFilters.eq("id", casesRecommend.getId()))
|
||||||
|
.builder());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.xboe.common.PageList;
|
|||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
import com.xboe.core.orm.LikeMatchMode;
|
import com.xboe.core.orm.LikeMatchMode;
|
||||||
import com.xboe.core.orm.QueryBuilder;
|
import com.xboe.core.orm.QueryBuilder;
|
||||||
|
import com.xboe.core.orm.UpdateBuilder;
|
||||||
import com.xboe.enums.CasesPushStatusEnum;
|
import com.xboe.enums.CasesPushStatusEnum;
|
||||||
import com.xboe.module.boecase.dao.CasesRecommendDao;
|
import com.xboe.module.boecase.dao.CasesRecommendDao;
|
||||||
import com.xboe.module.boecase.entity.CasesRecommend;
|
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())
|
} else if (CasesPushStatusEnum.PUSH_FAIL.getStatus().equals(db.getPushProgress())
|
||||||
|| CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())) {
|
|| CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())) {
|
||||||
// 推送失败或者已撤回时
|
// 推送失败或者已撤回时
|
||||||
|
|
||||||
|
|
||||||
iCasesRecommendPushRecordService.rePushOrWithdraw(false, db);
|
iCasesRecommendPushRecordService.rePushOrWithdraw(false, db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user