diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendPushRecordService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendPushRecordService.java index 4205cc26..397af1b6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendPushRecordService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendPushRecordService.java @@ -1,6 +1,7 @@ package com.xboe.module.boecase.service; import com.xboe.core.CurrentUser; +import com.xboe.module.boecase.entity.CasesRecommend; import com.xboe.module.boecase.entity.CasesRecommendPushRecord; import com.xboe.module.boecase.vo.CasesRecommendLaunchVo; @@ -27,7 +28,7 @@ public interface ICasesRecommendPushRecordService { /** * 重新推送或撤回 * @param isWithdraw 是否撤回 - * @param casesRecommendId 案例推荐ID + * @param casesRecommend 案例推荐 */ - void rePushOrWithdraw(boolean isWithdraw, String casesRecommendId); + void rePushOrWithdraw(boolean isWithdraw, CasesRecommend casesRecommend); } 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 452fe0f4..900c493d 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 @@ -1,6 +1,7 @@ package com.xboe.module.boecase.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.xboe.api.ThirdApi; import com.xboe.api.vo.*; @@ -168,6 +169,7 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR private 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)); if (CollectionUtils.isEmpty(casesRecommendPushRecords)) { //修改为推送完成 --- 无数据 无需推送 @@ -206,22 +208,25 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR } @Override - public void rePushOrWithdraw(boolean isWithdraw, String casesRecommendId) { - if (StringUtils.isEmpty(casesRecommendId)) { + public void rePushOrWithdraw(boolean isWithdraw, CasesRecommend casesRecommend) { + if (ObjectUtil.isEmpty(casesRecommend)) { throw new RuntimeException("缺少必要参数"); } - List recordList = findAllByRecommendId(casesRecommendId); if (isWithdraw) { + List recordList = findAllByRecommendId(casesRecommend.getId()); recordList.stream().forEach(record -> record.setPushStatus(CasesPushStatusEnum.PUSH_REVOKE.getStatus()) ); + if (CollectionUtil.isNotEmpty(recordList)) { + casesRecommendPushRecordDao.saveList(recordList); + } } else { - recordList.stream().filter(it -> CasesPushStatusEnum.PUSH_SUCCESS.getStatus() != it.getPushStatus()).forEach(record -> - record.setPushStatus(CasesPushStatusEnum.WAIT_PUSH.getStatus()) - ); - } - if (CollectionUtil.isNotEmpty(recordList)) { - casesRecommendPushRecordDao.saveList(recordList); + try { + //发送推送案例消息 + sendCasesRecommend(casesRecommend); + } catch (Exception e) { + log.error("推送失败", e); + } } } } 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 a3fa701f..8680b44e 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 @@ -66,14 +66,13 @@ public class CasesRecommendServiceImpl implements ICasesRecommendService { || CasesPushStatusEnum.PUSH_ING.getStatus().equals(db.getPushProgress()) ){ // 当为推送成功时为 - iCasesRecommendPushRecordService.rePushOrWithdraw(true, casesRecommendPushVo.getCasesRecommendId()); + iCasesRecommendPushRecordService.rePushOrWithdraw(true, db); db.setPushProgress(CasesPushStatusEnum.PUSH_REVOKE.getStatus()); + casesRecommendDao.update(db); }else if (CasesPushStatusEnum.PUSH_FAIL.getStatus().equals(db.getPushProgress()) || CasesPushStatusEnum.PUSH_REVOKE.getStatus().equals(db.getPushProgress())){ // 推送失败或者已撤回时 - iCasesRecommendPushRecordService.rePushOrWithdraw(false, casesRecommendPushVo.getCasesRecommendId()); - db.setPushProgress(CasesPushStatusEnum.WAIT_PUSH.getStatus()); + iCasesRecommendPushRecordService.rePushOrWithdraw(false, db); } - casesRecommendDao.update(db); } }