package cn.lili.controller.common; import cn.lili.cache.limit.annotation.LimitPoint; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.sms.SmsUtil; import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 短信验证码接口 * * @author Chopper * @since 2020/11/26 15:41 */ @RestController @Api(tags = "短信验证码接口") @RequestMapping("/common/common/sms") public class SmsController { @Autowired private SmsUtil smsUtil; @Autowired private VerificationService verificationService; @LimitPoint(name = "sms_send", key = "sms") @ApiImplicitParams({ @ApiImplicitParam(paramType = "path", dataType = "String", name = "mobile", value = "手机号"), @ApiImplicitParam(paramType = "header", dataType = "String", name = "uuid", value = "uuid"), }) @GetMapping("/{verificationEnums}/{mobile}") @ApiOperation(value = "发送短信验证码,一分钟同一个ip请求1次") public ResultMessage getSmsCode( @RequestHeader String uuid, @PathVariable String mobile, @PathVariable VerificationEnums verificationEnums) { verificationService.check(uuid, verificationEnums); smsUtil.sendSmsCode(mobile, verificationEnums, uuid); return ResultUtil.success(ResultCode.VERIFICATION_SEND_SUCCESS); } }