接口注释信息完善
This commit is contained in:
@@ -69,7 +69,7 @@ public class SysDictDataController extends BaseController
|
|||||||
@ApiOperation("查询字典数据详细")
|
@ApiOperation("查询字典数据详细")
|
||||||
@PreAuthorize("@ss.hasPermi('system:dict:query')")
|
@PreAuthorize("@ss.hasPermi('system:dict:query')")
|
||||||
@GetMapping(value = "/{dictCode}")
|
@GetMapping(value = "/{dictCode}")
|
||||||
public AjaxResult getInfo(@PathVariable Long dictCode)
|
public AjaxResult<SysDictData> getInfo(@PathVariable Long dictCode)
|
||||||
{
|
{
|
||||||
return success(dictDataService.selectDictDataById(dictCode));
|
return success(dictDataService.selectDictDataById(dictCode));
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ public class SysDictDataController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@ApiOperation("根据字典类型查询字典数据信息")
|
@ApiOperation("根据字典类型查询字典数据信息")
|
||||||
@GetMapping(value = "/type/{dictType}")
|
@GetMapping(value = "/type/{dictType}")
|
||||||
public AjaxResult dictType(@PathVariable String dictType)
|
public AjaxResult<List<SysDictData>> dictType(@PathVariable String dictType)
|
||||||
{
|
{
|
||||||
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
|
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
|
||||||
if (StringUtils.isNull(data))
|
if (StringUtils.isNull(data))
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.vetti.web.controller.system;
|
||||||
|
|
||||||
|
import com.vetti.common.core.controller.BaseController;
|
||||||
|
import com.vetti.common.core.domain.AjaxResult;
|
||||||
|
import com.vetti.common.service.verification.VerificationService;
|
||||||
|
import com.vetti.common.utils.MessageUtils;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ID
|
||||||
|
* @date 2025/8/28 16:16
|
||||||
|
*/
|
||||||
|
@Api(tags ="验证码共通接口")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/verification")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class VerificationController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private final VerificationService verificationEmailService;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("发送验证码(标题、内容走的配置文件)")
|
||||||
|
@PostMapping("/email/send")
|
||||||
|
public AjaxResult sendVerificationCode(@RequestParam String email) {
|
||||||
|
boolean isSent = verificationEmailService.sendVerificationEm7941VerificationCode(email);
|
||||||
|
if (isSent) {
|
||||||
|
return AjaxResult.success(MessageUtils.messageCustomize("systemVerificationEmailController10001"));
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error(MessageUtils.messageCustomize("systemVerificationEmailController10002"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证邮箱验证码
|
||||||
|
*/
|
||||||
|
@PostMapping("/email/verify")
|
||||||
|
public AjaxResult verifyCode(@RequestParam String email, @RequestParam String code) {
|
||||||
|
boolean isValid = verificationEmailService.verifyCode(email, code);
|
||||||
|
if (isValid) {
|
||||||
|
return AjaxResult.success(MessageUtils.messageCustomize("systemVerificationEmailController10003"));
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error(MessageUtils.messageCustomize("systemVerificationEmailController10004"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("发送验证码(手机)")
|
||||||
|
@PostMapping("/phone/send")
|
||||||
|
public AjaxResult sendPhoneVerificationCode(@RequestParam String phone) {
|
||||||
|
verificationEmailService.sendPhoneVerificationCode(phone);
|
||||||
|
return AjaxResult.success(MessageUtils.messageCustomize("systemVerificationEmailController10003"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
package com.vetti.web.controller.system;
|
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.vetti.common.core.controller.BaseController;
|
|
||||||
import com.vetti.common.core.domain.R;
|
|
||||||
import com.vetti.common.exception.ServiceException;
|
|
||||||
import com.vetti.common.service.verification.VerificationEmailService;
|
|
||||||
import com.vetti.common.utils.MessageUtils;
|
|
||||||
import io.swagger.annotations.Api;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ID
|
|
||||||
* @date 2025/8/28 16:16
|
|
||||||
*/
|
|
||||||
@Api(tags ="邮箱验证码")
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/verificationEmail")
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class VerificationEmailController extends BaseController {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private final VerificationEmailService verificationEmailService;
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation("发送验证码(标题、内容走的配置文件)")
|
|
||||||
@PostMapping("/send")
|
|
||||||
public R sendVerificationCode(@RequestParam String email) {
|
|
||||||
boolean isSent = verificationEmailService.sendVerificationEm7941VerificationCode(email);
|
|
||||||
if (isSent) {
|
|
||||||
return R.ok(MessageUtils.messageCustomize("systemVerificationEmailController10001"));
|
|
||||||
} else {
|
|
||||||
return R.fail(MessageUtils.messageCustomize("systemVerificationEmailController10002"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证邮箱验证码
|
|
||||||
*/
|
|
||||||
@PostMapping("/verify")
|
|
||||||
public R verifyCode(@RequestParam String email, @RequestParam String code) {
|
|
||||||
boolean isValid = verificationEmailService.verifyCode(email, code);
|
|
||||||
if (isValid) {
|
|
||||||
return R.ok(MessageUtils.messageCustomize("systemVerificationEmailController10003"));
|
|
||||||
} else {
|
|
||||||
return R.fail(MessageUtils.messageCustomize("systemVerificationEmailController10004"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@ package com.vetti.common.service.verification;
|
|||||||
|
|
||||||
import com.vetti.common.entity.verification.BaseTemplateEmail;
|
import com.vetti.common.entity.verification.BaseTemplateEmail;
|
||||||
|
|
||||||
public interface VerificationEmailService {
|
public interface VerificationService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送邮箱验证码(内容走的配置文件)
|
* 发送邮箱验证码(内容走的配置文件)
|
||||||
@@ -47,4 +47,13 @@ public interface VerificationEmailService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
boolean verifyCode(String email, String code);
|
boolean verifyCode(String email, String code);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送手机验证码
|
||||||
|
*
|
||||||
|
* @param phone 收件人手机号
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void sendPhoneVerificationCode(String phone);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,9 +6,10 @@ import com.vetti.common.constant.CacheConstants;
|
|||||||
import com.vetti.common.core.redis.RedisCache;
|
import com.vetti.common.core.redis.RedisCache;
|
||||||
import com.vetti.common.entity.verification.BaseTemplateEmail;
|
import com.vetti.common.entity.verification.BaseTemplateEmail;
|
||||||
import com.vetti.common.entity.verification.RoutezVerificationCodeTemplate;
|
import com.vetti.common.entity.verification.RoutezVerificationCodeTemplate;
|
||||||
import com.vetti.common.service.verification.VerificationEmailService;
|
import com.vetti.common.service.verification.VerificationService;
|
||||||
import com.vetti.common.utils.MessageUtils;
|
import com.vetti.common.utils.MessageUtils;
|
||||||
import com.vetti.common.utils.email.EmailUtil;
|
import com.vetti.common.utils.email.EmailUtil;
|
||||||
|
import com.vetti.common.utils.sms.TwilioSmsUtil;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -21,7 +22,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
* @date 2025/9/4 16:49
|
* @date 2025/9/4 16:49
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class VerificationEmailServiceImpl implements VerificationEmailService {
|
public class VerificationServiceImpl implements VerificationService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private TwilioConfig twilioConfig;
|
private TwilioConfig twilioConfig;
|
||||||
@@ -32,6 +33,9 @@ public class VerificationEmailServiceImpl implements VerificationEmailService {
|
|||||||
@Resource
|
@Resource
|
||||||
private EmailUtil emailUtil;
|
private EmailUtil emailUtil;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TwilioSmsUtil twilioSmsUtil;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@@ -129,6 +133,16 @@ public class VerificationEmailServiceImpl implements VerificationEmailService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendPhoneVerificationCode(String phone){
|
||||||
|
|
||||||
|
String code = generateVerificationCode();
|
||||||
|
redisCache.setCacheObject(CacheConstants.VERIFICATION_EMAIL_CODE_KEY + phone, code,
|
||||||
|
verificationConfig.getExpirationMinutes(), TimeUnit.MINUTES);
|
||||||
|
String msg = "验证码为:"+code;
|
||||||
|
twilioSmsUtil.send(phone,msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean sendVerificationCode(String email, String subject, String content) {
|
private boolean sendVerificationCode(String email, String subject, String content) {
|
||||||
String code = generateVerificationCode();
|
String code = generateVerificationCode();
|
||||||
Reference in New Issue
Block a user