接口注释信息完善

This commit is contained in:
2025-10-23 23:02:22 +08:00
parent 3a3fc36fe2
commit 53305c3b2f
5 changed files with 89 additions and 63 deletions

View File

@@ -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))

View File

@@ -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"));
}
}

View File

@@ -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"));
}
}
}

View File

@@ -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);
} }

View File

@@ -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();