fix:findbyid() may be empty

master
le.kuang 2 years ago
parent a5f3bc24bd
commit 94d20660f9

@ -17,6 +17,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Objects;
/** /**
* @author 3y * @author 3y
@ -35,7 +36,10 @@ public class TaskHandlerImpl implements TaskHandler {
@Override @Override
public void handle(Long messageTemplateId) { public void handle(Long messageTemplateId) {
MessageTemplate messageTemplate = messageTemplateDao.findById(messageTemplateId).get(); MessageTemplate messageTemplate = messageTemplateDao.findById(messageTemplateId).orElse(null);
if (Objects.isNull(messageTemplate)) {
return;
}
if (StrUtil.isBlank(messageTemplate.getCronCrowdPath())) { if (StrUtil.isBlank(messageTemplate.getCronCrowdPath())) {
log.error("TaskHandler#handle crowdPath empty! messageTemplateId:{}", messageTemplateId); log.error("TaskHandler#handle crowdPath empty! messageTemplateId:{}", messageTemplateId);
return; return;

@ -2,7 +2,6 @@ package com.java3y.austin.web.advice;
import com.java3y.austin.common.vo.BasicResultVO; import com.java3y.austin.common.vo.BasicResultVO;
import com.java3y.austin.web.annotation.AustinResult; import com.java3y.austin.web.annotation.AustinResult;
import org.jetbrains.annotations.NotNull;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpRequest;

@ -16,8 +16,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;
/** /**

@ -74,8 +74,7 @@ public class MessageTemplateController {
if (loginUtils.needLogin() && StrUtil.isBlank(messageTemplate.getCreator())) { if (loginUtils.needLogin() && StrUtil.isBlank(messageTemplate.getCreator())) {
throw new CommonException(RespStatusEnum.NO_LOGIN); throw new CommonException(RespStatusEnum.NO_LOGIN);
} }
MessageTemplate info = messageTemplateService.saveOrUpdate(messageTemplate); return messageTemplateService.saveOrUpdate(messageTemplate);
return info;
} }
/** /**
@ -89,8 +88,7 @@ public class MessageTemplateController {
} }
Page<MessageTemplate> messageTemplates = messageTemplateService.queryList(messageTemplateParam); Page<MessageTemplate> messageTemplates = messageTemplateService.queryList(messageTemplateParam);
List<Map<String, Object>> result = Convert4Amis.flatListMap(messageTemplates.toList()); List<Map<String, Object>> result = Convert4Amis.flatListMap(messageTemplates.toList());
MessageTemplateVo messageTemplateVo = MessageTemplateVo.builder().count(messageTemplates.getTotalElements()).rows(result).build(); return MessageTemplateVo.builder().count(messageTemplates.getTotalElements()).rows(result).build();
return messageTemplateVo;
} }
/** /**

@ -72,7 +72,10 @@ public class DataServiceImpl implements DataService {
List<UserTimeLineVo.ItemsVO> items = new ArrayList<>(); List<UserTimeLineVo.ItemsVO> items = new ArrayList<>();
for (Map.Entry<String, List<SimpleAnchorInfo>> entry : map.entrySet()) { for (Map.Entry<String, List<SimpleAnchorInfo>> entry : map.entrySet()) {
Long messageTemplateId = TaskInfoUtils.getMessageTemplateIdFromBusinessId(Long.valueOf(entry.getKey())); Long messageTemplateId = TaskInfoUtils.getMessageTemplateIdFromBusinessId(Long.valueOf(entry.getKey()));
MessageTemplate messageTemplate = messageTemplateDao.findById(messageTemplateId).get(); MessageTemplate messageTemplate = messageTemplateDao.findById(messageTemplateId).orElse(null);
if (Objects.isNull(messageTemplate)) {
continue;
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (SimpleAnchorInfo simpleAnchorInfo : entry.getValue()) { for (SimpleAnchorInfo simpleAnchorInfo : entry.getValue()) {

@ -100,20 +100,25 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
@Override @Override
public MessageTemplate queryById(Long id) { public MessageTemplate queryById(Long id) {
return messageTemplateDao.findById(id).get(); return messageTemplateDao.findById(id).orElse(null);
} }
@Override @Override
public void copy(Long id) { public void copy(Long id) {
MessageTemplate messageTemplate = messageTemplateDao.findById(id).get(); MessageTemplate messageTemplate = messageTemplateDao.findById(id).orElse(null);
if (Objects.nonNull(messageTemplate)) {
MessageTemplate clone = ObjectUtil.clone(messageTemplate).setId(null).setCronTaskId(null); MessageTemplate clone = ObjectUtil.clone(messageTemplate).setId(null).setCronTaskId(null);
messageTemplateDao.save(clone); messageTemplateDao.save(clone);
} }
}
@Override @Override
public BasicResultVO startCronTask(Long id) { public BasicResultVO startCronTask(Long id) {
// 1.获取消息模板的信息 // 1.获取消息模板的信息
MessageTemplate messageTemplate = messageTemplateDao.findById(id).get(); MessageTemplate messageTemplate = messageTemplateDao.findById(id).orElse(null);
if (Objects.isNull(messageTemplate)) {
return BasicResultVO.fail();
}
// 2.动态创建或更新定时任务 // 2.动态创建或更新定时任务
XxlJobInfo xxlJobInfo = xxlJobUtils.buildXxlJobInfo(messageTemplate); XxlJobInfo xxlJobInfo = xxlJobUtils.buildXxlJobInfo(messageTemplate);
@ -138,7 +143,10 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
@Override @Override
public BasicResultVO stopCronTask(Long id) { public BasicResultVO stopCronTask(Long id) {
// 1.修改模板状态 // 1.修改模板状态
MessageTemplate messageTemplate = messageTemplateDao.findById(id).get(); MessageTemplate messageTemplate = messageTemplateDao.findById(id).orElse(null);
if (Objects.isNull(messageTemplate)) {
return BasicResultVO.fail();
}
MessageTemplate clone = ObjectUtil.clone(messageTemplate).setMsgStatus(MessageStatus.STOP.getCode()).setUpdated(Math.toIntExact(DateUtil.currentSeconds())); MessageTemplate clone = ObjectUtil.clone(messageTemplate).setMsgStatus(MessageStatus.STOP.getCode()).setUpdated(Math.toIntExact(DateUtil.currentSeconds()));
messageTemplateDao.save(clone); messageTemplateDao.save(clone);

Loading…
Cancel
Save