feat(REQ-3488): 发送短信v2接口提供
This commit is contained in:
parent
5bb505399b
commit
9bdef3a05e
@ -0,0 +1,22 @@
|
|||||||
|
package cn.axzo.msg.center.api.v2.message.feign;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.msg.center.api.v2.message.req.SendSmsReq;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
@FeignClient(
|
||||||
|
value = "msg-center",
|
||||||
|
url = "${axzo.service.msg-center:http://msg-center:8080}")
|
||||||
|
public interface SmsApiV2 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信消息
|
||||||
|
*/
|
||||||
|
@PostMapping("api/message/v2/send/sms")
|
||||||
|
ApiResult<Void> sendSms(@RequestBody @Valid SendSmsReq request);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
package cn.axzo.msg.center.api.v2.message.req;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送消息请求
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class SendSmsReq {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求号
|
||||||
|
*/
|
||||||
|
private String requestNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用接入码
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "app code must not be null")
|
||||||
|
private String appCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信模板号
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "template no must not be null")
|
||||||
|
private String templateNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电话号码
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "phone no must not be null")
|
||||||
|
private String phoneNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信模板变更
|
||||||
|
*/
|
||||||
|
@NotNull(message = "params must not be null")
|
||||||
|
private Map<String, Object> params = new HashMap<>();
|
||||||
|
|
||||||
|
}
|
||||||
@ -62,6 +62,10 @@
|
|||||||
<groupId>cn.axzo.msgcenter</groupId>
|
<groupId>cn.axzo.msgcenter</groupId>
|
||||||
<artifactId>msg-center-api</artifactId>
|
<artifactId>msg-center-api</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.axzo.msgcenter</groupId>
|
||||||
|
<artifactId>msg-center-api-v2</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
package cn.axzo.msg.center.notices.service.v2;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.exception.ServiceException;
|
||||||
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.foundation.result.ResultCode;
|
||||||
|
import cn.axzo.msg.center.api.v2.message.feign.SmsApiV2;
|
||||||
|
import cn.axzo.msg.center.api.v2.message.req.SendSmsReq;
|
||||||
|
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.service.api.MessageService;
|
||||||
|
import cn.axzo.msg.center.notices.service.impl.MnsType;
|
||||||
|
import cn.azxo.framework.common.model.CommonResponse;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.alibaba.nacos.common.utils.UuidUtils;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : zhanghonghao@axzo.cn
|
||||||
|
* @since : 2025/1/13
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class SmsApiV2Impl implements SmsApiV2 {
|
||||||
|
|
||||||
|
private final MessageService messageService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> sendSms(SendSmsReq request) {
|
||||||
|
MnsRequestDto mnsRequestDto = new MnsRequestDto();
|
||||||
|
BeanUtils.copyProperties(request, mnsRequestDto);
|
||||||
|
log.info("request value={},mnsRequestDto value={}", JSONUtil.toJsonStr(request), JSONUtil.toJsonStr(mnsRequestDto));
|
||||||
|
try {
|
||||||
|
if (StringUtils.isBlank(mnsRequestDto.getRequestNo())) {
|
||||||
|
mnsRequestDto.setRequestNo(UuidUtils.generateUuid());
|
||||||
|
}
|
||||||
|
mnsRequestDto.setInternalObj(MnsType.BIZ);
|
||||||
|
messageService.sendMessage(mnsRequestDto);
|
||||||
|
return ApiResult.success();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ApiResult.error(ResultCode.RUNTIME_EXCEPTION.getCode(), e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user