diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApi.java index 951cfbc6f..53de7d0d0 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApi.java @@ -1,30 +1,39 @@ package cn.iocoder.yudao.module.system.api.sensitiveword; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + import java.util.List; -/** - * 敏感词 API 接口 - * - * @author 永不言败 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFacx`tory = +@Api(tags = "RPC 服务 - 敏感词") public interface SensitiveWordApi { - /** - * 获得文本所包含的不合法的敏感词数组 - * - * @param text 文本 - * @param tags 标签数组 - * @return 不合法的敏感词数组 - */ - List validateText(String text, List tags); + String PREFIX = ApiConstants.PREFIX + "/oauth2/sensitive-word"; - /** - * 判断文本是否包含敏感词 - * - * @param text 文本 - * @param tags 表述数组 - * @return 是否包含 - */ - boolean isTextValid(String text, List tags); + @GetMapping(PREFIX + "/validate-text") + @ApiOperation("获得文本所包含的不合法的敏感词数组") + @ApiImplicitParams({ + @ApiImplicitParam(name = "text", value = "文本", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "tags", value = "标签数组", required = true, allowMultiple = true) + }) + CommonResult> validateText(@RequestParam("text") String text, + @RequestParam("tags") List tags); + + @GetMapping(PREFIX + "/is-text-valid") + @ApiOperation("判断文本是否包含敏感词") + @ApiImplicitParams({ + @ApiImplicitParam(name = "text", value = "文本", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "tags", value = "标签数组", required = true, allowMultiple = true) + }) + CommonResult isTextValid(@RequestParam("text") String text, + @RequestParam("tags") List tags); } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java index ffcf46dc0..381450e66 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java @@ -1,40 +1,36 @@ package cn.iocoder.yudao.module.system.api.sms; -import cn.iocoder.yudao.framework.common.exception.ServiceException; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; -/** - * 短信验证码 API 接口 - * - * @author 芋道源码 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Api(tags = "RPC 服务 - 短信验证码") public interface SmsCodeApi { - /** - * 创建短信验证码,并进行发送 - * - * @param reqDTO 发送请求 - */ - void sendSmsCode(@Valid SmsCodeSendReqDTO reqDTO); + String PREFIX = ApiConstants.PREFIX + "/oauth2/sms/code"; - /** - * 验证短信验证码,并进行使用 - * 如果正确,则将验证码标记成已使用 - * 如果错误,则抛出 {@link ServiceException} 异常 - * - * @param reqDTO 使用请求 - */ - void useSmsCode(@Valid SmsCodeUseReqDTO reqDTO); + @PostMapping(PREFIX + "/send") + @ApiOperation("创建短信验证码,并进行发送") + CommonResult sendSmsCode(@Valid @RequestBody SmsCodeSendReqDTO reqDTO); - /** - * 检查验证码是否有效 - * - * @param reqDTO 校验请求 - */ - void checkSmsCode(@Valid SmsCodeCheckReqDTO reqDTO); + @PutMapping(PREFIX + "/use") + @ApiOperation("验证短信验证码,并进行使用") + CommonResult useSmsCode(@Valid @RequestBody SmsCodeUseReqDTO reqDTO); + + @GetMapping(PREFIX + "/check") + @ApiOperation("检查验证码是否有效") + CommonResult checkSmsCode(@Valid @RequestBody SmsCodeCheckReqDTO reqDTO); } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java index c86bbf503..5514bc01d 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java @@ -1,34 +1,28 @@ package cn.iocoder.yudao.module.system.api.sms; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; -/** - * 短信发送 API 接口 - * - * @author 芋道源码 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Api(tags = "RPC 服务 - 短信发送") public interface SmsSendApi { - /** - * 发送单条短信给 Admin 用户 - * - * 在 mobile 为空时,使用 userId 加载对应 Admin 的手机号 - * - * @param reqDTO 发送请求 - * @return 发送日志编号 - */ - Long sendSingleSmsToAdmin(@Valid SmsSendSingleToUserReqDTO reqDTO); + String PREFIX = ApiConstants.PREFIX + "/oauth2/sms/send"; - /** - * 发送单条短信给 Member 用户 - * - * 在 mobile 为空时,使用 userId 加载对应 Member 的手机号 - * - * @param reqDTO 发送请求 - * @return 发送日志编号 - */ - Long sendSingleSmsToMember(@Valid SmsSendSingleToUserReqDTO reqDTO); + @PostMapping(PREFIX + "/send-single-admin") + @ApiOperation(value = "发送单条短信给 Admin 用户", notes = "在 mobile 为空时,使用 userId 加载对应 Admin 的手机号") + CommonResult sendSingleSmsToAdmin(@Valid @RequestBody SmsSendSingleToUserReqDTO reqDTO); + + @PostMapping(PREFIX + "/send-single-member") + @ApiOperation(value = "发送单条短信给 Member 用户", notes = "在 mobile 为空时,使用 userId 加载对应 Member 的手机号") + CommonResult sendSingleSmsToMember(@Valid @RequestBody SmsSendSingleToUserReqDTO reqDTO); } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeCheckReqDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeCheckReqDTO.java index 92895bb4d..99107492e 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeCheckReqDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeCheckReqDTO.java @@ -3,34 +3,26 @@ package cn.iocoder.yudao.module.system.api.sms.dto.code; import cn.iocoder.yudao.framework.common.validation.InEnum; import cn.iocoder.yudao.framework.common.validation.Mobile; import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -/** - * 短信验证码的校验 Request DTO - * - * @author 芋道源码 - */ +@ApiModel("RPC 服务 - 短信验证码的校验 Request DTO") @Data public class SmsCodeCheckReqDTO { - /** - * 手机号 - */ + @ApiModelProperty(value = "手机号", required = true, example = "15601691300") @Mobile @NotEmpty(message = "手机号不能为空") private String mobile; - /** - * 发送场景 - */ + @ApiModelProperty(value = "发送场景", required = true, example = "1") @NotNull(message = "发送场景不能为空") @InEnum(SmsSceneEnum.class) private Integer scene; - /** - * 验证码 - */ + @ApiModelProperty(value = "验证码", required = true, example = "1024") @NotEmpty(message = "验证码") private String code; diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.java index 5d6579bd7..9c23f7f51 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.java @@ -3,34 +3,26 @@ package cn.iocoder.yudao.module.system.api.sms.dto.code; import cn.iocoder.yudao.framework.common.validation.InEnum; import cn.iocoder.yudao.framework.common.validation.Mobile; import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -/** - * 短信验证码的发送 Request DTO - * - * @author 芋道源码 - */ +@ApiModel("RPC 服务 - 短信验证码的发送 Request DTO") @Data public class SmsCodeSendReqDTO { - /** - * 手机号 - */ + @ApiModelProperty(value = "手机号", required = true, example = "15601691300") @Mobile @NotEmpty(message = "手机号不能为空") private String mobile; - /** - * 发送场景 - */ + @ApiModelProperty(value = "发送场景", required = true, example = "1") @NotNull(message = "发送场景不能为空") @InEnum(SmsSceneEnum.class) private Integer scene; - /** - * 发送 IP - */ + @ApiModelProperty(value = "发送 IP", required = true, example = "10.20.30.40") @NotEmpty(message = "发送 IP 不能为空") private String createIp; diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.java index 3043adfb0..40b682b79 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.java @@ -3,39 +3,29 @@ package cn.iocoder.yudao.module.system.api.sms.dto.code; import cn.iocoder.yudao.framework.common.validation.InEnum; import cn.iocoder.yudao.framework.common.validation.Mobile; import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -/** - * 短信验证码的使用 Request DTO - * - * @author 芋道源码 - */ +@ApiModel("RPC 服务 - 短信验证码的使用 Request DTO") @Data public class SmsCodeUseReqDTO { - /** - * 手机号 - */ + @ApiModelProperty(value = "手机号", required = true, example = "15601691300") @Mobile @NotEmpty(message = "手机号不能为空") private String mobile; - /** - * 发送场景 - */ + @ApiModelProperty(value = "发送场景", required = true, example = "1") @NotNull(message = "发送场景不能为空") @InEnum(SmsSceneEnum.class) private Integer scene; - /** - * 验证码 - */ + @ApiModelProperty(value = "验证码", required = true, example = "1024") @NotEmpty(message = "验证码") private String code; - /** - * 使用 IP - */ + @ApiModelProperty(value = "发送 IP", required = true, example = "10.20.30.40") @NotEmpty(message = "使用 IP 不能为空") private String usedIp; diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java index 67a5d93d2..31d6f5b90 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java @@ -1,37 +1,27 @@ package cn.iocoder.yudao.module.system.api.sms.dto.send; import cn.iocoder.yudao.framework.common.validation.Mobile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Map; -/** - * 短信发送给 Admin 或者 Member 用户 - * - * @author 芋道源码 - */ +@ApiModel("RPC 服务 - 短信发送给 Admin 或者 Member 用户 Request DTO") @Data public class SmsSendSingleToUserReqDTO { - /** - * 用户编号 - */ + @ApiModelProperty(value = "用户编号", example = "1024") private Long userId; - /** - * 手机号 - */ + @ApiModelProperty(value = "手机号", required = true, example = "15601691300") @Mobile private String mobile; - /** - * 短信模板编号 - */ + @ApiModelProperty(value = "用户编号", required = true, example = "USER_SEND") @NotEmpty(message = "短信模板编号不能为空") private String templateCode; - /** - * 短信模板参数 - */ + @ApiModelProperty(value = "短信模板参数") private Map templateParams; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApiImpl.java index a6d5b52fd..796595702 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sensitiveword/SensitiveWordApiImpl.java @@ -1,29 +1,34 @@ package cn.iocoder.yudao.module.system.api.sensitiveword; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.service.sensitiveword.SensitiveWordService; +import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; -/** - * 敏感词 API 实现类 - * - * @author 永不言败 - */ -@Service +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 +@Validated public class SensitiveWordApiImpl implements SensitiveWordApi { @Resource private SensitiveWordService sensitiveWordService; @Override - public List validateText(String text, List tags) { - return sensitiveWordService.validateText(text, tags); + public CommonResult> validateText(String text, List tags) { + return success(sensitiveWordService.validateText(text, tags)); } @Override - public boolean isTextValid(String text, List tags) { - return sensitiveWordService.isTextValid(text, tags); + public CommonResult isTextValid(String text, List tags) { + return success(sensitiveWordService.isTextValid(text, tags)); } + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.java index 81957e082..15e59a264 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.java @@ -1,20 +1,21 @@ package cn.iocoder.yudao.module.system.api.sms; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO; import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO; import cn.iocoder.yudao.module.system.service.sms.SmsCodeService; -import org.springframework.stereotype.Service; +import org.apache.dubbo.config.annotation.DubboService; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -/** - * 短信验证码 API 实现类 - * - * @author 芋道源码 - */ -@Service +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 @Validated public class SmsCodeApiImpl implements SmsCodeApi { @@ -22,18 +23,21 @@ public class SmsCodeApiImpl implements SmsCodeApi { private SmsCodeService smsCodeService; @Override - public void sendSmsCode(SmsCodeSendReqDTO reqDTO) { + public CommonResult sendSmsCode(SmsCodeSendReqDTO reqDTO) { smsCodeService.sendSmsCode(reqDTO); + return success(true); } @Override - public void useSmsCode(SmsCodeUseReqDTO reqDTO) { + public CommonResult useSmsCode(SmsCodeUseReqDTO reqDTO) { smsCodeService.useSmsCode(reqDTO); + return success(true); } @Override - public void checkSmsCode(SmsCodeCheckReqDTO reqDTO) { + public CommonResult checkSmsCode(SmsCodeCheckReqDTO reqDTO) { smsCodeService.checkSmsCode(reqDTO); + return success(true); } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.java index ee5812d3c..edfa9101f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.java @@ -1,18 +1,20 @@ package cn.iocoder.yudao.module.system.api.sms; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO; import cn.iocoder.yudao.module.system.service.sms.SmsSendService; +import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -/** - * 短信发送 API 接口 - * - * @author 芋道源码 - */ -@Service +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 @Validated public class SmsSendApiImpl implements SmsSendApi { @@ -20,15 +22,15 @@ public class SmsSendApiImpl implements SmsSendApi { private SmsSendService smsSendService; @Override - public Long sendSingleSmsToAdmin(SmsSendSingleToUserReqDTO reqDTO) { - return smsSendService.sendSingleSmsToAdmin(reqDTO.getMobile(), reqDTO.getUserId(), - reqDTO.getTemplateCode(), reqDTO.getTemplateParams()); + public CommonResult sendSingleSmsToAdmin(SmsSendSingleToUserReqDTO reqDTO) { + return success(smsSendService.sendSingleSmsToAdmin(reqDTO.getMobile(), reqDTO.getUserId(), + reqDTO.getTemplateCode(), reqDTO.getTemplateParams())); } @Override - public Long sendSingleSmsToMember(SmsSendSingleToUserReqDTO reqDTO) { - return smsSendService.sendSingleSmsToMember(reqDTO.getMobile(), reqDTO.getUserId(), - reqDTO.getTemplateCode(), reqDTO.getTemplateParams()); + public CommonResult sendSingleSmsToMember(SmsSendSingleToUserReqDTO reqDTO) { + return success(smsSendService.sendSingleSmsToMember(reqDTO.getMobile(), reqDTO.getUserId(), + reqDTO.getTemplateCode(), reqDTO.getTemplateParams())); } }