feat(server): 消息中心业务异常告警优化

背景:
  优化指定接口在异常发生时的返回数据模型

修改:
  在以下接口的外层try-catch
  1、/mns/send/sms
  2、/sms/code/status

影响:
  1、/mns/send/sms
  2、/sms/code/status
This commit is contained in:
luofu 2023-09-13 10:47:52 +08:00
parent 303b2c1202
commit e6a772d2f9

View File

@ -2,12 +2,17 @@ package cn.axzo.msg.center.notices.service.impl;
import cn.axzo.basics.common.exception.ServiceException;
import cn.axzo.msg.center.api.MNSNoticesApi;
import cn.axzo.msg.center.api.request.*;
import cn.axzo.msg.center.api.request.MnsCodeStatusReq;
import cn.axzo.msg.center.api.request.MnsCreateTemplateRequestReq;
import cn.axzo.msg.center.api.request.MnsQueryTemplateReq;
import cn.axzo.msg.center.api.request.MnsSendCodeV2Req;
import cn.axzo.msg.center.api.request.SendMessageRequestDto;
import cn.axzo.msg.center.api.response.MnsCodeStatusRes;
import cn.axzo.msg.center.api.response.MnsQueryTemplateRes;
import cn.axzo.msg.center.api.response.MnsSendCodeRes;
import cn.axzo.msg.center.api.response.Page;
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
import cn.axzo.msg.center.notices.common.enums.ReturnCodeEnum;
import cn.axzo.msg.center.notices.manager.api.dto.request.MnsRequestDto;
import cn.axzo.msg.center.notices.manager.api.dto.request.plat.CreateTemplateRequestDto;
import cn.axzo.msg.center.notices.manager.api.dto.request.plat.QueryTemplateRequestDto;
@ -38,6 +43,8 @@ import java.util.regex.Pattern;
@RestController
public class MNSNoticesApiImpl implements MNSNoticesApi {
private static final String LOG_PREFIX = "[MNSNoticesApi]";
@Resource
private SmsService smsService;
@Resource
@ -56,9 +63,15 @@ public class MNSNoticesApiImpl implements MNSNoticesApi {
MnsRequestDto mnsRequestDto=new MnsRequestDto();
BeanUtils.copyProperties(request, mnsRequestDto);
log.info("request value={},mnsRequestDto value={}", JSONUtil.toJsonStr(request),JSONUtil.toJsonStr(mnsRequestDto));
// TODO: [cold_blade] 需要try-catch异常
messageService.sendMessage(mnsRequestDto);
return CommonResponse.success();
try {
messageService.sendMessage(mnsRequestDto);
return CommonResponse.success();
} catch (Exception e) {
log.warn("{}#sendMessage broke out some exception", LOG_PREFIX, e);
Integer errCode = e instanceof ServiceException ? ((ServiceException)e).getErrorCode() :
ReturnCodeEnum.SYSTEM_ERROR.getCode();
return CommonResponse.error(errCode, e.getMessage());
}
}
@Override
@ -81,11 +94,17 @@ public class MNSNoticesApiImpl implements MNSNoticesApi {
public CommonResponse<MnsCodeStatusRes> getPhoneCodeStatus(@RequestBody @Valid MnsCodeStatusReq req) {
CodeStatusReq request=new CodeStatusReq();
BeanUtils.copyProperties(req,request);
// TODO: [cold_blade] 需要try-catch异常
CodeStatusRes phoneCodeStatus = smsService.getPhoneCodeStatus(request);
MnsCodeStatusRes result=new MnsCodeStatusRes();
BeanUtils.copyProperties(phoneCodeStatus,result);
return CommonResponse.success(result);
try {
CodeStatusRes phoneCodeStatus = smsService.getPhoneCodeStatus(request);
MnsCodeStatusRes result=new MnsCodeStatusRes();
BeanUtils.copyProperties(phoneCodeStatus,result);
return CommonResponse.success(result);
} catch (Exception e) {
log.warn("{}#getPhoneCodeStatus broke out some exception", LOG_PREFIX, e);
Integer errCode = e instanceof ServiceException ? ((ServiceException)e).getErrorCode() :
ReturnCodeEnum.SYSTEM_ERROR.getCode();
return CommonResponse.error(errCode, e.getMessage());
}
}
@Override