换成CommonResponse包装类,不会被覆盖

This commit is contained in:
刘才福 2023-06-21 16:11:22 +08:00
parent ff5ba7cb54
commit 782c64c886
9 changed files with 91 additions and 74 deletions

View File

@ -16,6 +16,7 @@ import cn.axzo.msg.center.domain.entity.MessageTemplate;
import cn.axzo.msg.center.domain.enums.UserTypeEnum;
import cn.axzo.msg.center.inside.notices.annotation.RepeatSubCheck;
import cn.axzo.msg.center.inside.notices.service.*;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.json.JSONUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@ -57,35 +58,36 @@ public class InsideNoticesApiImpl implements InsideNoticesApi {
@Override
@RepeatSubCheck(value = 3000, unique = true, containParams = true)
public List<MsgReturnParamRes> pushMsg(@RequestBody GeneralMessage message) {
return messageRecordService.pushMsg(message);
public CommonResponse<List<MsgReturnParamRes>> pushMsg(@RequestBody GeneralMessage message) {
List<MsgReturnParamRes> result = messageRecordService.pushMsg(message);
return CommonResponse.success(result);
}
@Override
public MessageTotalRes msgTotal(MessageTotalReq req) {
public CommonResponse<MessageTotalRes> msgTotal(MessageTotalReq req) {
if(req== null || req.getIdentityId() ==null || req.getPersonId() == null || req.getUserType() == null){
throw new IllegalArgumentException("personId、identityId、userType不能为空");
}
UserTypeEnum userTypeEnum = UserTypeEnum.valueOf(req.getUserType());
MessageTotalRes messageTotalRes = messageCoreService.statisticsMsg(req.getPersonId(), req.getIdentityId(), userTypeEnum);
return messageTotalRes;
MessageTotalRes result = messageCoreService.statisticsMsg(req.getPersonId(), req.getIdentityId(), userTypeEnum);
return CommonResponse.success(result);
}
@Override
public MessageTotalRes statisticsMsg(@RequestBody @Valid StatisticsReq req) {
public CommonResponse<MessageTotalRes> statisticsMsg(@RequestBody @Valid StatisticsReq req) {
UserTypeEnum userTypeEnum =UserTypeEnum.valueOf(req.getUserType());
MessageTotalRes result= messageRecordService.statisticsMsg4Construction(req.getIdentityId(), userTypeEnum);
return result;
return CommonResponse.success(result);
}
@Override
public PageResult<MessageNewRes> msgList(CmsMsgQueryReq req) {
PageResult<MessageNewRes> messageNewResPageResult = messageCoreService.listMsgInfo(req);
return messageNewResPageResult;
public CommonResponse<PageResult<MessageNewRes>> msgList(CmsMsgQueryReq req) {
PageResult<MessageNewRes> result = messageCoreService.listMsgInfo(req);
return CommonResponse.success(result);
}
@Override
public List<InsideMessageModuleRes> listModule(Integer userType) {
public CommonResponse<List<InsideMessageModuleRes>> listModule(Integer userType) {
UserTypeEnum userTypeEnum =UserTypeEnum.valueOf(userType);
List<MessageModule> messageModules = messageModuleService.listModuleByUserType(userTypeEnum);
List<InsideMessageModuleRes> resList = new ArrayList<>();
@ -100,20 +102,20 @@ public class InsideNoticesApiImpl implements InsideNoticesApi {
}
});
}
return resList;
return CommonResponse.success(resList);
}
@Override
public Boolean changeMessageState(@RequestBody @Valid ChangeMessageStateReq req) {
public CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageStateReq req) {
if (CollectionUtils.isEmpty(req.getMsgIds())) {
throw new ServiceException("msgId 不能为空");
}
Boolean aBoolean = messageRecordService.changeMessageState(req.getMsgIds(), req.getState());
return aBoolean;
return CommonResponse.success(aBoolean);
}
@Override
public Boolean changeMessageState(@RequestBody @Valid ChangeMessageReq req) {
public CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageReq req) {
log.info("修改消息状态入参: req={}", JSONUtil.toJsonStr(req));
if (Objects.isNull(req.getToId()) || Objects.isNull(req.getRelationId()) || Objects.isNull(req.getBizId())) {
log.warn("缺失必要参数");
@ -124,15 +126,16 @@ public class InsideNoticesApiImpl implements InsideNoticesApi {
throw new ServiceException("非法消息状态");
}
try {
return messageRecordService.changeMessageState(req.getToId(), req.getRelationId(), req.getBizId(), code);
Boolean result= messageRecordService.changeMessageState(req.getToId(), req.getRelationId(), req.getBizId(), code);
return CommonResponse.success(result);
} catch (IllegalStateException e) {
// 由于 starter 内部判断重试有结合code,所以这里统一返回 200 的状态码
return true;
return CommonResponse.success(true);
}
}
@Override
public List<Template> getTemplates(String lastUpdate) {
public CommonResponse<List<Template>> getTemplates(String lastUpdate) {
log.info("获取模板列表: {}", lastUpdate);
List<Template> result;
if (!messageTemplateService.hasTemplateGtUpdateAt(LocalDateTime.parse(lastUpdate, formatter))) {
@ -145,25 +148,26 @@ public class InsideNoticesApiImpl implements InsideNoticesApi {
result = CustomBeanUtils.copyListProperties(templates, Template::new);
}
}
return result;
return CommonResponse.success(result);
}
@Override
public List<Relation> getRelations(String lastUpdate) {
public CommonResponse<List<Relation>> getRelations(String lastUpdate) {
List<Relation> result;
if (!messageRelationService.hasRelationGtUpdateAt(LocalDateTime.parse(lastUpdate, formatter))) {
return new ArrayList<>();
return CommonResponse.success(new ArrayList<>());
}
List<MessageRelation> relations = messageRelationService.getAllRelations();
if (CollectionUtils.isEmpty(relations)) {
return new ArrayList<>();
return CommonResponse.success(new ArrayList<>());
}
result = CustomBeanUtils.copyListProperties(relations, Relation::new);
return result;
return CommonResponse.success(result);
}
@Override
public void updateReadMsgStatus(CmsReadMsgReq req) {
public CommonResponse<Void> updateReadMsgStatus(CmsReadMsgReq req) {
messageRecordService.updateReadMsgStatus(req);
return CommonResponse.success();
}
}

View File

@ -4,6 +4,7 @@ package cn.axzo.msg.center.inside.notices.service.impl;
import cn.axzo.msg.center.api.MessagePushApi;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.axzo.msg.center.inside.notices.service.IYouMengMessageService;
import cn.azxo.framework.common.model.CommonResponse;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,8 +22,9 @@ public class MessagePushApiImpl implements MessagePushApi {
private IYouMengMessageService youMengMessageService;
@Override
public void sendPushMessage(MsgBody4Guest msgBody) {
public CommonResponse<Void> sendPushMessage(MsgBody4Guest msgBody) {
log.info("sendPushMessage:{}", JSONObject.toJSONString(msgBody));
youMengMessageService.sendPushMessage(msgBody);
return CommonResponse.success();
}
}

View File

@ -8,6 +8,7 @@ import cn.axzo.msg.center.api.response.InsideMessageModuleRes;
import cn.axzo.msg.center.api.response.MessageTotalRes;
import cn.axzo.msg.center.api.response.Relation;
import cn.axzo.msg.center.api.response.Template;
import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
@ -29,7 +30,7 @@ public interface InsideNoticesApi {
* @return 消息唯一主键
*/
@RequestMapping(value = "api/message/push", method = RequestMethod.POST)
List<MsgReturnParamRes> pushMsg(@RequestBody @Valid GeneralMessage message);
CommonResponse<List<MsgReturnParamRes>> pushMsg(@RequestBody @Valid GeneralMessage message);
/**
* 消息\待办数量总数
@ -38,7 +39,7 @@ public interface InsideNoticesApi {
*/
@PostMapping("msg/total")
//@PreBuildContext
MessageTotalRes msgTotal(@RequestBody @Valid MessageTotalReq req);
CommonResponse<MessageTotalRes> msgTotal(@RequestBody @Valid MessageTotalReq req);
/**
* 消息统计
@ -46,7 +47,7 @@ public interface InsideNoticesApi {
* @return
*/
@PostMapping("statistics")
MessageTotalRes statisticsMsg(@RequestBody @Valid StatisticsReq req);
CommonResponse<MessageTotalRes> statisticsMsg(@RequestBody @Valid StatisticsReq req);
/**
* 消息列表搜索待办列表
@ -56,7 +57,7 @@ public interface InsideNoticesApi {
*/
@PostMapping("msg/list")
/*@PreBuildContext*/
PageResult<MessageNewRes> msgList(@RequestBody @Valid CmsMsgQueryReq req);
CommonResponse<PageResult<MessageNewRes>> msgList(@RequestBody @Valid CmsMsgQueryReq req);
/**
* 根据用户类型获取消息列表模块
@ -65,7 +66,7 @@ public interface InsideNoticesApi {
* @return
*/
@GetMapping("module/list")
List<InsideMessageModuleRes> listModule(@RequestParam(value = "userType") Integer userType);
CommonResponse<List<InsideMessageModuleRes>> listModule(@RequestParam(value = "userType") Integer userType);
/**
* 变更执行消息的状态
@ -73,10 +74,10 @@ public interface InsideNoticesApi {
* @return
*/
@PostMapping("api/message/state/change")
Boolean changeMessageState(@RequestBody @Valid ChangeMessageStateReq req);
CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageStateReq req);
@PostMapping("api/message/state/change4Biz")
Boolean changeMessageState(@RequestBody @Valid ChangeMessageReq req);
CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageReq req);
/**
* 获取所有模板数据集合
@ -84,7 +85,7 @@ public interface InsideNoticesApi {
* @return 模板信息集合
*/
@GetMapping("api/message/templates/{time}")
List<Template> getTemplates(
CommonResponse<List<Template>> getTemplates(
@PathVariable("time") String lastUpdate);
/**
@ -93,9 +94,9 @@ public interface InsideNoticesApi {
* @return 模块与模板关系集合
*/
@GetMapping("api/message/relations{time}")
List<Relation> getRelations(@PathVariable("time") String lastUpdate);
CommonResponse<List<Relation>> getRelations(@PathVariable("time") String lastUpdate);
@PostMapping("update/msg/status")
void updateReadMsgStatus(@RequestBody @Valid CmsReadMsgReq req);
CommonResponse<Void> updateReadMsgStatus(@RequestBody @Valid CmsReadMsgReq req);
}

View File

@ -6,6 +6,7 @@ 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.MnsSendCodeRes;
import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
@ -26,7 +27,7 @@ public interface MNSNoticesApi {
* @return
*/
@PostMapping("mns/send/sms")
void sendMessage(SendMessageRequestDto request);
CommonResponse<Void> sendMessage(SendMessageRequestDto request);
/**
* 发送验证码2.0(返回的是数字
@ -34,7 +35,7 @@ public interface MNSNoticesApi {
* @return
*/
@PostMapping("v2/code")
MnsSendCodeRes sendCodeV2(@Validated @RequestBody MnsSendCodeV2Req req);
CommonResponse<MnsSendCodeRes> sendCodeV2(@Validated @RequestBody MnsSendCodeV2Req req);
/**
* 获取验证码状态
@ -42,5 +43,5 @@ public interface MNSNoticesApi {
* @return
*/
@GetMapping("code/status")
MnsCodeStatusRes getPhoneCodeStatus(MnsCodeStatusReq req);
CommonResponse<MnsCodeStatusRes> getPhoneCodeStatus(MnsCodeStatusReq req);
}

View File

@ -2,6 +2,7 @@ package cn.axzo.msg.center.api;
import cn.axzo.msg.center.api.fallback.MessagePushApiFallbackFactory;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
@ -21,6 +22,6 @@ public interface MessagePushApi {
* @return
*/
@PostMapping("umeng/pushMsg")
void sendPushMessage(@RequestBody MsgBody4Guest msgBody);
CommonResponse<Void> sendPushMessage(@RequestBody MsgBody4Guest msgBody);
}

View File

@ -7,6 +7,7 @@ import cn.axzo.msg.center.api.response.InsideMessageModuleRes;
import cn.axzo.msg.center.api.response.MessageTotalRes;
import cn.axzo.msg.center.api.response.Relation;
import cn.axzo.msg.center.api.response.Template;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,60 +27,60 @@ public class InsideNoticesApiFallBack implements InsideNoticesApi {
@Override
public List<MsgReturnParamRes> pushMsg(GeneralMessage message) {
public CommonResponse<List<MsgReturnParamRes>> pushMsg(GeneralMessage message) {
log.info("推送消息超时, message: {}", message);
return null;
return CommonResponse.fail("推送消息超时");
}
@Override
public MessageTotalRes msgTotal(MessageTotalReq req) {
public CommonResponse<MessageTotalRes> msgTotal(MessageTotalReq req) {
log.info("消息待办数量总数超时,req={}", JSONUtil.toJsonStr(req));
return null;
return CommonResponse.fail("消息待办数量总数超时");
}
@Override
public MessageTotalRes statisticsMsg(@RequestBody @Valid StatisticsReq req) {
return null;
public CommonResponse<MessageTotalRes> statisticsMsg(@RequestBody @Valid StatisticsReq req) {
return CommonResponse.fail("统计数据异常");
}
@Override
public PageResult<MessageNewRes> msgList(CmsMsgQueryReq req) {
public CommonResponse<PageResult<MessageNewRes>> msgList(CmsMsgQueryReq req) {
log.info("消息列表搜索、待办列表超时,req:{}",req);
return CommonResponse.fail("消息列表搜索、待办列表超时");
}
@Override
public CommonResponse<List<InsideMessageModuleRes>> listModule(Integer userType) {
return null;
}
@Override
public List<InsideMessageModuleRes> listModule(Integer userType) {
return null;
}
@Override
public Boolean changeMessageState(@RequestBody @Valid ChangeMessageStateReq req) {
public CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageStateReq req) {
log.info("调用变更消息状态超时, req = {}",JSONUtil.toJsonStr(req));
return false;
return CommonResponse.fail("调用变更消息状态超时");
}
@Override
public Boolean changeMessageState(@RequestBody @Valid ChangeMessageReq req) {
log.info("调用变更消息状态超时, req= {}", JSONUtil.toJsonStr(req));
return false;
public CommonResponse<Boolean> changeMessageState(@RequestBody @Valid ChangeMessageReq req) {
log.info("调用变更消息状态超时2, req= {}", JSONUtil.toJsonStr(req));
return CommonResponse.fail("调用变更消息状态超时2");
}
@Override
public List<Template> getTemplates(String lastUpdate) {
public CommonResponse<List<Template>> getTemplates(String lastUpdate) {
log.info("获取消息模板信息超时");
return null;
return CommonResponse.fail("获取消息模板信息超时");
}
@Override
public List<Relation> getRelations(String lastUpdate) {
public CommonResponse<List<Relation>> getRelations(String lastUpdate) {
log.info("获取模块与模板关联关系配置信息超时");
return null;
return CommonResponse.fail("获取模块与模板关联关系配置信息超时");
}
@Override
public void updateReadMsgStatus(CmsReadMsgReq req) {
public CommonResponse<Void> updateReadMsgStatus(CmsReadMsgReq req) {
return CommonResponse.fail("更新状态异常");
}
}

View File

@ -6,6 +6,7 @@ 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.MnsSendCodeRes;
import cn.azxo.framework.common.model.CommonResponse;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -14,19 +15,20 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MNSNoticesApiFallBack implements MNSNoticesApi {
@Override
public void sendMessage(SendMessageRequestDto request) {
public CommonResponse<Void> sendMessage(SendMessageRequestDto request) {
log.warn("推送短信消息超时, message: {}", request);
return CommonResponse.fail("推送短信消息超时");
}
@Override
public MnsSendCodeRes sendCodeV2(MnsSendCodeV2Req req) {
public CommonResponse<MnsSendCodeRes> sendCodeV2(MnsSendCodeV2Req req) {
log.warn("发送验证码失败message{}", JSON.toJSONString(req));
return null;
return CommonResponse.fail("发送验证码失败");
}
@Override
public MnsCodeStatusRes getPhoneCodeStatus(MnsCodeStatusReq req) {
public CommonResponse<MnsCodeStatusRes> getPhoneCodeStatus(MnsCodeStatusReq req) {
log.warn("获取验证码状态失败message{}", JSON.toJSONString(req));
return null;
return CommonResponse.fail("获取验证码状态失败");
}
}

View File

@ -2,6 +2,8 @@ package cn.axzo.msg.center.api.fallback;
import cn.axzo.msg.center.api.MessagePushApi;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.json.JSONUtil;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
@ -16,7 +18,8 @@ public class MessagePushApiFallback implements MessagePushApi {
private Throwable throwable;
@Override
public void sendPushMessage(MsgBody4Guest msgBody) {
log.info("发送推送失败,接口异常:", throwable);
public CommonResponse<Void> sendPushMessage(MsgBody4Guest msgBody) {
log.info("发送推送失败,接口异常:msgBody={}", JSONUtil.toJsonStr(msgBody));
return CommonResponse.fail("发送推送失败,接口异常");
}
}

View File

@ -14,6 +14,7 @@ import cn.axzo.msg.center.notices.service.request.CodeStatusReq;
import cn.axzo.msg.center.notices.service.request.SendCodeV2Req;
import cn.axzo.msg.center.notices.service.response.CodeStatusRes;
import cn.axzo.msg.center.notices.service.response.SendCodeRes;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@ -40,15 +41,16 @@ public class MNSNoticesApiImpl implements MNSNoticesApi {
private MessageService messageService;
@Override
public void sendMessage(@RequestBody @Valid SendMessageRequestDto request) {
public CommonResponse<Void> sendMessage(@RequestBody @Valid SendMessageRequestDto request) {
MnsRequestDto mnsRequestDto=new MnsRequestDto();
BeanUtils.copyProperties(request, mnsRequestDto);
log.info("request value={},mnsRequestDto value={}", JSONUtil.toJsonStr(request),JSONUtil.toJsonStr(mnsRequestDto));
messageService.sendMessage(mnsRequestDto);
return CommonResponse.success();
}
@Override
public MnsSendCodeRes sendCodeV2(MnsSendCodeV2Req req) {
public CommonResponse<MnsSendCodeRes> sendCodeV2(MnsSendCodeV2Req req) {
if (!phonePattern.matcher(req.getPhone()).matches()) {
throw new ServiceException("手机号格式不正确");
}
@ -57,16 +59,16 @@ public class MNSNoticesApiImpl implements MNSNoticesApi {
SendCodeRes temp = smsService.sendPhoneCodeV2(request);
MnsSendCodeRes result=new MnsSendCodeRes();
BeanUtils.copyProperties(temp,result);
return result;
return CommonResponse.success(result);
}
@Override
public MnsCodeStatusRes getPhoneCodeStatus(MnsCodeStatusReq req) {
public CommonResponse<MnsCodeStatusRes> getPhoneCodeStatus(MnsCodeStatusReq req) {
CodeStatusReq request=new CodeStatusReq();
BeanUtils.copyProperties(req,request);
CodeStatusRes phoneCodeStatus = smsService.getPhoneCodeStatus(request);
MnsCodeStatusRes result=new MnsCodeStatusRes();
BeanUtils.copyProperties(phoneCodeStatus,result);
return result;
return CommonResponse.success(result);
}
}