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:
@@ -2,7 +2,9 @@ package com.xboe.module.boecase.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.xboe.core.CurrentUser;
|
import com.xboe.core.CurrentUser;
|
||||||
|
import com.xboe.core.event.IEventDataSender;
|
||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
|
import com.xboe.core.orm.UpdateBuilder;
|
||||||
import com.xboe.data.outside.IOutSideDataService;
|
import com.xboe.data.outside.IOutSideDataService;
|
||||||
import com.xboe.enums.CasesPushStatusEnum;
|
import com.xboe.enums.CasesPushStatusEnum;
|
||||||
import com.xboe.module.boecase.dao.CasesDao;
|
import com.xboe.module.boecase.dao.CasesDao;
|
||||||
@@ -16,19 +18,24 @@ import com.xboe.module.boecase.entity.CasesRecommendPushRecord;
|
|||||||
import com.xboe.module.boecase.service.ICasesRecommendPushRecordService;
|
import com.xboe.module.boecase.service.ICasesRecommendPushRecordService;
|
||||||
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
|
import com.xboe.module.boecase.vo.CasesRecommendLaunchVo;
|
||||||
import com.xboe.system.user.dao.UserDao;
|
import com.xboe.system.user.dao.UserDao;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@Slf4j
|
||||||
public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushRecordService {
|
public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushRecordService {
|
||||||
|
|
||||||
|
|
||||||
@@ -50,6 +57,10 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
|
|||||||
@Resource
|
@Resource
|
||||||
private CasesRecommendPushRecordDao casesRecommendPushRecordDao;
|
private CasesRecommendPushRecordDao casesRecommendPushRecordDao;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
private IEventDataSender eventDataSender;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch, CurrentUser currentUser) {
|
public boolean launchPush(CasesRecommendLaunchVo casesRecommendLaunch, CurrentUser currentUser) {
|
||||||
|
|
||||||
@@ -93,10 +104,55 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
|
|||||||
casesRecommendPushRecordDao.saveList(pushRecords);
|
casesRecommendPushRecordDao.saveList(pushRecords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//发送推送案例消息
|
||||||
|
sendCasesRecommend(casesRecommend);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改轧辊天
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param pushProgress
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private boolean updateProcessStatus(String id, Integer pushProgress) {
|
||||||
|
return casesRecommendDao.updateMultiFieldById(id, UpdateBuilder.create("pushProgress", pushProgress)) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendCasesRecommend(CasesRecommend casesRecommend) {
|
||||||
|
List<Integer> pushStatusList = new ArrayList<>();
|
||||||
|
pushStatusList.add(CasesPushStatusEnum.WAIT_PUSH.getStatus());
|
||||||
|
List<CasesRecommendPushRecord> casesRecommendPushRecords = casesRecommendPushRecordDao.getGenericDao().findList(CasesRecommendPushRecord.class, FieldFilters.in("pushStatus", pushStatusList));
|
||||||
|
if (CollectionUtils.isEmpty(casesRecommendPushRecords)) {
|
||||||
|
//修改为推送完成 --- 无数据 无需推送
|
||||||
|
updateProcessStatus(casesRecommend.getId(), CasesPushStatusEnum.PUSH_SUCCESS.getStatus());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//修改为推送中
|
||||||
|
updateProcessStatus(casesRecommend.getId(), CasesPushStatusEnum.PUSH_ING.getStatus());
|
||||||
|
|
||||||
|
for (CasesRecommendPushRecord casesRecommendPushRecord : casesRecommendPushRecords) {
|
||||||
|
|
||||||
|
Integer pushStatus;
|
||||||
|
try {
|
||||||
|
|
||||||
|
eventDataSender.send("案例推荐", "recommendCases", "案例推荐【" + casesRecommendPushRecord.getCaseTitle() + "】",
|
||||||
|
casesRecommendPushRecord.getCaseId(), "99", casesRecommendPushRecord.getCaseTitle(),
|
||||||
|
casesRecommendPushRecord.getSysCreateAid(), casesRecommendPushRecord.getSysCreateBy(), "");
|
||||||
|
|
||||||
|
pushStatus = CasesPushStatusEnum.PUSH_SUCCESS.getStatus();
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("推荐案例失败", e);
|
||||||
|
pushStatus = CasesPushStatusEnum.PUSH_FAIL.getStatus();
|
||||||
|
}
|
||||||
|
casesRecommendPushRecordDao.updateMultiFieldById(casesRecommendPushRecord.getId(), UpdateBuilder.create("pushStatus", pushStatus), UpdateBuilder.create("pushTime", new Date()));
|
||||||
|
}
|
||||||
|
//修改为推送完成 --- 无数据 无需推送
|
||||||
|
updateProcessStatus(casesRecommend.getId(), CasesPushStatusEnum.PUSH_SUCCESS.getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CasesRecommendPushRecord> findAllByRecommendId(String recommendId) {
|
public List<CasesRecommendPushRecord> findAllByRecommendId(String recommendId) {
|
||||||
CasesRecommendPushRecord ex = new CasesRecommendPushRecord();
|
CasesRecommendPushRecord ex = new CasesRecommendPushRecord();
|
||||||
|
|||||||
Reference in New Issue
Block a user