KKSU
2025-03-18 664184af3e070dee665ee736caffa0297804975f
src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
@@ -5,33 +5,22 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.*;
import cc.mrbird.febs.mall.dto.AccountAndCodeDto;
import cc.mrbird.febs.mall.dto.ApiCheckTraceInfoDto;
import cc.mrbird.febs.mall.dto.Base64UploadDto;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
import cc.mrbird.febs.mall.service.ICommonService;
import cn.hutool.core.io.file.FileNameUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.thoughtworks.xstream.core.BaseException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.best.javaSdk.kdTraceQuery.response.KdTraceQueryRsp;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.coobird.thumbnailator.Thumbnails;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.FileCopyUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,7 +40,7 @@
    private final RedisUtils redisUtils;
    private final ICommonService commonService;
    @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口")
    @ApiOperation(value = "(马来西亚)INFOBIP获取验证码接口", notes = "(马来西亚)INFOBIP获取验证码接口")
    @GetMapping(value = "/verifyCode")
    public FebsResponse verifyCode(@ApiParam(name = "account", value = "手机号", required = true) @RequestParam(value = "account") String account,
                                   @ApiParam(name = "type", value = "类型1-手机号", required = true) @RequestParam("type") String type) {
@@ -64,9 +53,7 @@
        // 发送手机验证码
        if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) {
//            boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2);
            boolean result = ZzSmsSend.sendALiYun(account, code.toString());
//            boolean result = ZzSmsSend.sendVerifyCode(account, code.toString(), 2);
            boolean result = InfobipSmsSend.sendSms(account, code.toString());
            if (result) {
                Map<String, Object> map = new HashMap<>();
                boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120);
@@ -89,9 +76,31 @@
        return new FebsResponse().fail().message("验证码发送失败");
    }
    @ApiOperation(value = "获取阿里云验证码接口", notes = "获取阿里云验证码接口")
    @ApiOperation(value = "假的获取阿里云验证码接口", notes = "假的获取阿里云验证码接口")
    @GetMapping(value = "/aliVerifyCode")
    public FebsResponse aliVerifyCode(@ApiParam(name = "account", value = "手机号", required = true) @RequestParam(value = "account") String account,
                                      @ApiParam(name = "type", value = "类型1-手机号", required = true) @RequestParam("type") String type) {
        log.info("#账号:{}, 类型:{}#", account, type);
        Integer code = (int) ((Math.random() * 9 + 1) * 100000);
        if (StrUtil.isNotBlank(redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account))) {
            throw new FebsException("验证码已发送");
        }
        boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120);
        if(flag){
            Map<String, Object> map = new HashMap<>();
            map.put("code", code);
            return new FebsResponse().success().data(map);
        }else{
            return new FebsResponse().fail().message("验证码发送失败");
        }
    }
    @ApiOperation(value = "获取阿里云验证码接口", notes = "获取阿里云验证码接口")
    @GetMapping(value = "/aliVerifyCodeReal")
    public FebsResponse aliVerifyCodeReal(@ApiParam(name = "account", value = "手机号", required = true) @RequestParam(value = "account") String account,
                                   @ApiParam(name = "type", value = "类型1-手机号", required = true) @RequestParam("type") String type) {
        log.info("#账号:{}, 类型:{}#", account, type);
@@ -99,15 +108,15 @@
        if (StrUtil.isNotBlank(redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account))) {
            throw new FebsException("验证码已发送");
        }
        // 发送手机验证码
        if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) {
            boolean result = ZzSmsSend.sendALiYun(account, code.toString());
            if (result) {
                Map<String, Object> map = new HashMap<>();
                boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 300);
                map.put("code", flag);
                return new FebsResponse().success().message("验证码发送成功");
                boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120);
                map.put("code", code);
                return new FebsResponse().success().message("发送成功");
//                return new FebsResponse().success().data(map);
            }
            // 发送邮件验证码
        } else if (AppContants.ACCOUNT_TYPE_EMAIL.equals(type)) {
@@ -223,4 +232,19 @@
        }
        return new FebsResponse().fail().message("验证码错误");
    }
    @ApiOperation(value = "获取快递信息接口")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = KdTraceQueryRsp.class)
    })
    @PostMapping(value = "/checkTraceInfo")
    public FebsResponse checkTraceInfo(@RequestBody ApiCheckTraceInfoDto checkTraceInfoDto) {
        KdTraceQueryRsp traceQueryRsp = commonService.checkTraceInfo(checkTraceInfoDto);
        boolean result = traceQueryRsp.isResult();
        if (result) {
            return new FebsResponse().success().data(traceQueryRsp);
        }
        return new FebsResponse().fail().message("请检查您的快递单号是否输入正确。");
    }
}