xiaoyong931011
2020-05-29 817bb83d5ec3e5ad379f10844362c74d8f836395
Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin.git
3 files added
6 files modified
142 ■■■■■ changed files
src/main/java/com/xcong/excoin/common/contants/AppContants.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/system/controller/CommonController.java 24 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/system/dto/Base64UploadDto.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/configurations/WebMvcConfig.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/configurations/properties/AliOssProperties.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/OssUtils.java 33 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 7 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 7 ●●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/KssframeworkApplicationTests.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/contants/AppContants.java
@@ -64,4 +64,9 @@
     */
    public static final String VERIFY_CODE_PREFIX = "CODE_SMS_";
    /**
     * 图片后缀
     */
    public static final String UPLOAD_IMAGE_SUFFIX = ".jpg";
}
src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
@@ -1,9 +1,13 @@
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.OssUtils;
import com.xcong.excoin.utils.RedisUtils;
import com.xcong.excoin.utils.SmsUtils;
import com.xcong.excoin.utils.mail.SubMailSend;
@@ -11,10 +15,8 @@
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.RequestParam;
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;
@@ -39,6 +41,9 @@
    @Resource
    private CommonService commonservice;
    @Resource
    private AliOssProperties aliOssProperties;
    @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口")
    @GetMapping(value = "/verifyCode")
@@ -89,7 +94,14 @@
    @ApiOperation(value = "文件上次接口", notes = "文件上传")
    @GetMapping(value = "/uploadFile")
    public Result uploadFile() {
        return null;
    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("success", url);
        }
        return Result.fail("上传失败");
    }
}
src/main/java/com/xcong/excoin/common/system/dto/Base64UploadDto.java
New file
@@ -0,0 +1,20 @@
package com.xcong.excoin.common.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
 * @author wzy
 * @date 2020-05-29
 **/
@Data
@ApiModel(value = "Base64UploadDto", description = "base64文件上传参数类")
public class Base64UploadDto {
    @NotBlank
    @ApiModelProperty(value = "base64字符串")
    public String base64Str;
}
src/main/java/com/xcong/excoin/configurations/WebMvcConfig.java
@@ -1,5 +1,8 @@
package com.xcong.excoin.configurations;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.xcong.excoin.configurations.properties.AliOssProperties;
import com.xcong.excoin.configurations.security.UserAuthenticationArgumentResolver;
import com.xcong.excoin.utils.SpringContextHolder;
import lombok.extern.slf4j.Slf4j;
@@ -10,6 +13,7 @@
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -19,6 +23,10 @@
@SpringBootConfiguration
@Slf4j
public class WebMvcConfig implements WebMvcConfigurer {
    @Resource
    private AliOssProperties aliOssProperties;
    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
@@ -38,6 +46,11 @@
                .allowCredentials(true).maxAge(3600);
    }
    @Bean
    public OSS ossClient() {
        return new OSSClientBuilder().build(aliOssProperties.getEndPoint(), aliOssProperties.getAccessKeyId(), aliOssProperties.getAccessKeySecret());
    }
//    @Bean
//    public SpringContextHolder springContextHolder() {
//        return new SpringContextHolder();
src/main/java/com/xcong/excoin/configurations/properties/AliOssProperties.java
New file
@@ -0,0 +1,22 @@
package com.xcong.excoin.configurations.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * @author wzy
 * @date 2020-05-29
 **/
@Data
@Configuration
@ConfigurationProperties(prefix = "aliyun.oss")
public class AliOssProperties {
    private String endPoint;
    private String bucketName;
    private String accessKeyId;
    private String accessKeySecret;
}
src/main/java/com/xcong/excoin/utils/OssUtils.java
New file
@@ -0,0 +1,33 @@
package com.xcong.excoin.utils;
import com.aliyun.oss.OSS;
import lombok.extern.slf4j.Slf4j;
import sun.misc.BASE64Decoder;
import java.io.ByteArrayInputStream;
/**
 * @author wzy
 * @date 2020-05-22
 **/
@Slf4j
public class OssUtils {
    private static final OSS OSS_CLIENT = (OSS) SpringContextHolder.getBean("ossClient");
    public static boolean uploadFileWithBase64(String base64, String pathName) {
        ByteArrayInputStream stream = null;
        try {
            BASE64Decoder decoder = new BASE64Decoder();
            byte[] bytes = decoder.decodeBuffer(base64);
            stream = new ByteArrayInputStream(bytes);
            OSS_CLIENT.putObject("excoin", pathName, stream);
            return true;
        } catch (Exception e) {
            log.error("#上传失败:{}#", e);
            return false;
        }
    }
}
src/main/resources/application-test.yml
@@ -97,6 +97,13 @@
  newest-price-update-job: true
  other-job: true
aliyun:
  oss:
    end-point: https://oss-cn-hangzhou.aliyuncs.com
    bucket-name: https://excoin.oss-cn-hangzhou.aliyuncs.com
    access-key-id: LTAI4GBuydqbJ5bTsDP97Lpd
    access-key-secret: vbCjQtPxABWjqtUlQfzjlA0qAY96fh
rsa:
  public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCf8UFZK54AiK4PRu7tNd+Z8qZ77o/QXCnk25DRmygVpOEu5mGNSAvfnWmKp2pEV2RljeXq3Rid/+LQkonaebMJeXKSF0yxL/VgyeT8JaQ5gNbOrdfdlc+mFkXJyzyJt8YkvApEdPRNSU2ENBn7mgRfD0BYPM4vZ6/rv+de38FJwIDAQAB
  private_key: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIJ/xQVkrngCIrg9G7u0135nypnvuj9BcKeTbkNGbKBWk4S7mYY1IC9+daYqnakRXZGWN5erdGJ3/4tCSidp5swl5cpIXTLEv9WDJ5PwlpDmA1s6t192Vz6YWRcnLPIm3xiS8CkR09E1JTYQ0GfuaBF8PQFg8zi9nr+u/517fwUnAgMBAAECgYBhPt9NvpI4wbanvnndLczr2GJkxfzvSE+vwLCJF4C5FusFHVsxZINggQcg1V75bwRgCiXRMyYefreCSdrCditS43PzTOmE4RRrpxLlm8oubJc0C98LQ2qlN9AsUqL5IHpVGgbHDyWAwjc1GBID6nwXKpxq1/VodFqhahG9D5EZsQJBALnkb+5VTxQbiyQI4Uc9NIvAyVcNY1OisbvY6tvNgdBbJkADgAb78M1HWxxYjUqsvzggNHc7cWqWBHMgpnJaqm8CQQCztze4D7uAk7OC9MJHY5eE980J8Kk+GEZKxz4LahzU6V6dcb9GFac3wEtgilj/tOAn9y0/Q8sm9vvCIbMDzgzJAkEAqRYcqhF26LdVDOX25DHMBgLKISDQZFbsjA13M4/usHL4i+mjHrc0BcUOHu59NpuDI65HitzLAUSLr5zXSdUmiQJAW77wOg4GCejdXsB3IhzMsHwU97sdm26nC+vVV9xvJZ6Rx8zW+f9543NOx9U5BCmhuaVtOvvwDU9PTVcI3atmSQJAXAIJ5gGdtXx0DXiX4VvzNFHqgaqHMGvXyjNVkU2FYQbSAd2A6app4uRO+BkZu9dSjh14m+oXMnV2HzAN2rRnjA==
src/main/resources/application.yml
@@ -100,6 +100,13 @@
  #其他任务控制
  other-job: false
aliyun:
  oss:
    end-point: https://oss-cn-hangzhou.aliyuncs.com
    bucket-name: https://excoin.oss-cn-hangzhou.aliyuncs.com
    access-key-id: LTAI4GBuydqbJ5bTsDP97Lpd
    access-key-secret: vbCjQtPxABWjqtUlQfzjlA0qAY96fh
rsa:
  public_key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCf8UFZK54AiK4PRu7tNd+Z8qZ77o/QXCnk25DRmygVpOEu5mGNSAvfnWmKp2pEV2RljeXq3Rid/+LQkonaebMJeXKSF0yxL/VgyeT8JaQ5gNbOrdfdlc+mFkXJyzyJt8YkvApEdPRNSU2ENBn7mgRfD0BYPM4vZ6/rv+de38FJwIDAQAB
  private_key: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIJ/xQVkrngCIrg9G7u0135nypnvuj9BcKeTbkNGbKBWk4S7mYY1IC9+daYqnakRXZGWN5erdGJ3/4tCSidp5swl5cpIXTLEv9WDJ5PwlpDmA1s6t192Vz6YWRcnLPIm3xiS8CkR09E1JTYQ0GfuaBF8PQFg8zi9nr+u/517fwUnAgMBAAECgYBhPt9NvpI4wbanvnndLczr2GJkxfzvSE+vwLCJF4C5FusFHVsxZINggQcg1V75bwRgCiXRMyYefreCSdrCditS43PzTOmE4RRrpxLlm8oubJc0C98LQ2qlN9AsUqL5IHpVGgbHDyWAwjc1GBID6nwXKpxq1/VodFqhahG9D5EZsQJBALnkb+5VTxQbiyQI4Uc9NIvAyVcNY1OisbvY6tvNgdBbJkADgAb78M1HWxxYjUqsvzggNHc7cWqWBHMgpnJaqm8CQQCztze4D7uAk7OC9MJHY5eE980J8Kk+GEZKxz4LahzU6V6dcb9GFac3wEtgilj/tOAn9y0/Q8sm9vvCIbMDzgzJAkEAqRYcqhF26LdVDOX25DHMBgLKISDQZFbsjA13M4/usHL4i+mjHrc0BcUOHu59NpuDI65HitzLAUSLr5zXSdUmiQJAW77wOg4GCejdXsB3IhzMsHwU97sdm26nC+vVV9xvJZ6Rx8zW+f9543NOx9U5BCmhuaVtOvvwDU9PTVcI3atmSQJAXAIJ5gGdtXx0DXiX4VvzNFHqgaqHMGvXyjNVkU2FYQbSAd2A6app4uRO+BkZu9dSjh14m+oXMnV2HzAN2rRnjA==
src/test/java/com/xcong/excoin/KssframeworkApplicationTests.java
@@ -2,15 +2,18 @@
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.enumerates.SymbolEnum;
import com.xcong.excoin.configurations.properties.AliOssProperties;
import com.xcong.excoin.modules.test.dao.TestUserDao;
import com.xcong.excoin.modules.test.entity.TestUserEntity;
import com.xcong.excoin.modules.test.service.TestUserService;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.Date;
@Slf4j
@SpringBootTest
class KssframeworkApplicationTests {
@@ -53,5 +56,13 @@
        System.out.println(SymbolEnum.BCH.getValue());
    }
    @Resource
    AliOssProperties aliOssProperties;
    @Test
    public void aliyunOssTest() {
        log.info("{}", aliOssProperties.getEndPoint());
    }
}