mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-31 11:24:07 +08:00
完成短信模板的模块
This commit is contained in:
@@ -7,6 +7,7 @@ import cn.iocoder.dashboard.framework.logger.operatelog.core.annotations.Operate
|
||||
import cn.iocoder.dashboard.modules.system.controller.sms.vo.template.*;
|
||||
import cn.iocoder.dashboard.modules.system.convert.sms.SysSmsTemplateConvert;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.sms.SysSmsTemplateDO;
|
||||
import cn.iocoder.dashboard.modules.system.service.sms.SysSmsService;
|
||||
import cn.iocoder.dashboard.modules.system.service.sms.SysSmsTemplateService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -30,6 +31,8 @@ public class SysSmsTemplateController {
|
||||
|
||||
@Resource
|
||||
private SysSmsTemplateService smsTemplateService;
|
||||
@Resource
|
||||
private SysSmsService smsService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@ApiOperation("创建短信模板")
|
||||
@@ -85,10 +88,11 @@ public class SysSmsTemplateController {
|
||||
}
|
||||
|
||||
@PostMapping("/send-sms")
|
||||
@ApiOperation("导出短信模板 Excel")
|
||||
@ApiOperation("发送短信")
|
||||
@PreAuthorize("@ss.hasPermission('system:sms-template:send-sms')")
|
||||
public CommonResult<Boolean> sendSms(@Valid @RequestBody SysSmsTemplateSendReqVO sendReqVO) {
|
||||
return success(true);
|
||||
public CommonResult<Long> sendSms(@Valid @RequestBody SysSmsTemplateSendReqVO sendReqVO) {
|
||||
return success(smsService.sendSingleSms(sendReqVO.getMobile(), null, null,
|
||||
sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams()));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel("短信模板 Response VO")
|
||||
@Data
|
||||
@@ -20,6 +21,9 @@ public class SysSmsTemplateRespVO extends SysSmsTemplateBaseVO {
|
||||
@ApiModelProperty(value = "短信渠道编码", required = true, example = "ALIYUN")
|
||||
private String channelCode;
|
||||
|
||||
@ApiModelProperty(value = "参数数组", example = "name,code")
|
||||
private List<String> params;
|
||||
|
||||
@ApiModelProperty(value = "创建时间", required = true)
|
||||
private Date createTime;
|
||||
|
||||
|
@@ -11,11 +11,15 @@ import java.util.Map;
|
||||
@Data
|
||||
public class SysSmsTemplateSendReqVO {
|
||||
|
||||
@ApiModelProperty(value = "手机号", required = true, example = "15601691300")
|
||||
@NotNull(message = "手机号不能为空")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "模板编码", required = true, example = "test_01")
|
||||
@NotNull(message = "模板编码不能为空")
|
||||
private String code;
|
||||
private String templateCode;
|
||||
|
||||
@ApiModelProperty(value = "模板参数")
|
||||
private Map<String, Object> params;
|
||||
private Map<String, Object> templateParams;
|
||||
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@ import java.util.Map;
|
||||
*/
|
||||
public interface SysSmsService {
|
||||
|
||||
void sendSingleSms(String mobile, Long userId, Integer userType,
|
||||
Long sendSingleSms(String mobile, Long userId, Integer userType,
|
||||
String templateCode, Map<String, Object> templateParams);
|
||||
|
||||
void sendBatchSms(List<String> mobiles, List<Long> userIds, Integer userType,
|
||||
|
@@ -54,7 +54,7 @@ public class SysSmsServiceImpl implements SysSmsService {
|
||||
private SysUserService userService;
|
||||
|
||||
@Override
|
||||
public void sendSingleSms(String mobile, Long userId, Integer userType,
|
||||
public Long sendSingleSms(String mobile, Long userId, Integer userType,
|
||||
String templateCode, Map<String, Object> templateParams) {
|
||||
// 校验短信模板是否合法
|
||||
SysSmsTemplateDO template = this.checkSmsTemplateValid(templateCode);
|
||||
@@ -67,11 +67,11 @@ public class SysSmsServiceImpl implements SysSmsService {
|
||||
Long sendLogId = smsLogService.createSmsLog(mobile, userId, userType, isSend, template, content, templateParams);
|
||||
|
||||
// 发送 MQ 消息,异步执行发送短信
|
||||
if (!isSend) {
|
||||
return;
|
||||
if (isSend) {
|
||||
List<KeyValue<String, Object>> newTemplateParams = this.buildTemplateParams(template, templateParams);
|
||||
smsProducer.sendSmsSendMessage(sendLogId, mobile, template.getChannelId(), template.getApiTemplateId(), newTemplateParams);
|
||||
}
|
||||
List<KeyValue<String, Object>> newTemplateParams = this.buildTemplateParams(template, templateParams);
|
||||
smsProducer.sendSmsSendMessage(sendLogId, mobile, template.getChannelId(), template.getApiTemplateId(), newTemplateParams);
|
||||
return sendLogId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user