| | |
| | | package com.xcong.excoin.common.system.controller; |
| | | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.xcong.excoin.common.contants.AppContants; |
| | | import com.xcong.excoin.common.response.Result; |
| | | import com.xcong.excoin.common.system.dto.Base64UploadDto; |
| | | import com.xcong.excoin.common.system.service.CommonService; |
| | | import com.xcong.excoin.configurations.properties.AliOssProperties; |
| | | import com.xcong.excoin.utils.MessageSourceUtils; |
| | | import com.xcong.excoin.utils.OssUtils; |
| | | import com.xcong.excoin.utils.RedisUtils; |
| | | import com.xcong.excoin.utils.SmsUtils; |
| | | import com.xcong.excoin.utils.mail.Sms106Send; |
| | | import com.xcong.excoin.utils.mail.SmsSend; |
| | | import com.xcong.excoin.utils.mail.SubMailSend; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | |
| | | @Resource |
| | | private RedisUtils redisUtils; |
| | | |
| | | @Resource |
| | | private CommonService commonservice; |
| | | |
| | | @Resource |
| | | private AliOssProperties aliOssProperties; |
| | | |
| | | @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口") |
| | | @GetMapping(value = "/verifyCode") |
| | | public Result verifyCode(String account, String type) { |
| | | public Result verifyCode(@ApiParam(name = "account", value = "手机号或邮箱", required = true) @RequestParam(value = "account") String account, |
| | | @ApiParam(name = "type", value = "类型1-手机号2-邮箱", required = true) @RequestParam("type") String type) { |
| | | log.info("#账号:{}, 类型:{}#", account, type); |
| | | |
| | | int code = (int) ((Math.random() * 9 + 1) * 100000); |
| | | if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) { |
| | | Map<String, Object> result = SmsUtils.sendVerifyCode(account, code); |
| | | Integer code = (int) ((Math.random() * 9 + 1) * 100000); |
| | | if (StrUtil.isNotBlank(redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account))) { |
| | | return Result.fail(MessageSourceUtils.getString("common_verify_code_exist")); |
| | | } |
| | | |
| | | if (SUCCESS.equals(result.get("resultstatus"))) { |
| | | // 发送手机验证码 |
| | | if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) { |
| | | boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2); |
| | | if (result) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | boolean flag = redisUtils.set("SMS_" + account, code, 120); |
| | | boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 600); |
| | | map.put("code", flag); |
| | | return Result.ok("success", map); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0010"), map); |
| | | } |
| | | // 发送邮件验证码 |
| | | } else if (AppContants.ACCOUNT_TYPE_EMAIL.equals(type)) { |
| | | return Result.ok("success"); |
| | | boolean flag = SubMailSend.sendMail(account, code.toString()); |
| | | if (flag) { |
| | | redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0010")); |
| | | } else { |
| | | return Result.fail(MessageSourceUtils.getString("result_fail_msg")); |
| | | } |
| | | } else { |
| | | log.info("未定义账号类型"); |
| | | return Result.fail("fail"); |
| | | return Result.fail(MessageSourceUtils.getString("result_fail_msg")); |
| | | } |
| | | return Result.fail("fail"); |
| | | return Result.fail(MessageSourceUtils.getString("result_fail_msg")); |
| | | } |
| | | |
| | | @ApiOperation(value = "验证验证码是否正确", notes = "验证验证码是否正确") |
| | | @GetMapping(value = "/checkVerify") |
| | | public Result checkVerify() { |
| | | return null; |
| | | public Result checkVerify(@ApiParam(name = "account", value = "账号", required = true) @RequestParam("account") String account, |
| | | @ApiParam(name = "code", value = "验证码", required = true) @RequestParam("code") String code) { |
| | | boolean flag = commonservice.verifyCode(account, code); |
| | | if (flag) { |
| | | return Result.ok(MessageSourceUtils.getString("result_success_msg")); |
| | | } |
| | | return Result.fail(MessageSourceUtils.getString("common_verify_code")); |
| | | } |
| | | |
| | | @ApiOperation(value = "文件上次接口", notes = "文件上传") |
| | | @GetMapping(value = "/uploadFile") |
| | | public Result uploadFile() { |
| | | return null; |
| | | @PostMapping(value = "/uploadFileBase64") |
| | | public Result uploadFileBase64(@RequestBody @Validated Base64UploadDto uploadDto) { |
| | | String imageName = "uploadeFile/image/" + System.currentTimeMillis() + IdUtil.simpleUUID() + AppContants.UPLOAD_IMAGE_SUFFIX; |
| | | |
| | | boolean flag = OssUtils.uploadFileWithBase64(uploadDto.base64Str, imageName); |
| | | if (flag) { |
| | | String url = aliOssProperties.getBucketName() + "/" + imageName; |
| | | return Result.ok(MessageSourceUtils.getString("result_success_msg"), url); |
| | | } |
| | | return Result.fail(MessageSourceUtils.getString("uploadFile_controller_0001")); |
| | | } |
| | | } |