ソースを参照

Merge branch 'feature-wcz' of lift-manager/lift-server into develop

wucizhong 5 年 前
コミット
218ef9426c

+ 4 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/controller/AnnualInspectionController.java

@@ -9,7 +9,7 @@ import cn.com.ty.lift.business.common.CountPage;
 import cn.com.ty.lift.business.common.Judge;
 import cn.com.ty.lift.business.common.Values;
 import cn.com.ty.lift.business.framework.conf.SystemConfiguration;
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -41,7 +41,6 @@ public class AnnualInspectionController {
 
     private AnnualInspectionService annualInspectionService;
     private SystemConfiguration systemConfiguration;
-    private AliyunOSSUtil aliyunOSSUtil;
 
     /**
      * @description 根据id查询
@@ -221,10 +220,11 @@ public class AnnualInspectionController {
         if(StrUtil.isEmpty(filename)){
             return null;
         }
-        String fileurl = aliyunOSSUtil.getObjectUrl(systemConfiguration.getBucketName(),filename);
+        AliyunOSS aliyunOSS = systemConfiguration.build();
+        String fileurl = aliyunOSS.getObjectUrl(systemConfiguration.getBucketName(),filename);
         log.info("fileurl: " + fileurl);
         File file = new File("download/" + filename);
-        File down = aliyunOSSUtil.getFile(systemConfiguration.getBucketName(),filename,file);
+        File down = aliyunOSS.getFile(systemConfiguration.getBucketName(),filename,file);
         return null == down ? null : ImageIO.read(new FileInputStream(file));
     }
     /**

+ 4 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonController.java

@@ -5,7 +5,7 @@ import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.library.dao.entity.LiftBrand;
 import cn.com.ty.lift.common.constants.RedisConstants;
 import cn.com.ty.lift.common.model.AreaCode;
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -34,8 +34,6 @@ public class CommonController {
     @Resource
     private RedisTemplate<String, Object> redisTemplate;
 
-    private AliyunOSSUtil aliyunOSSUtil;
-
     private SystemConfiguration systemConfiguration;
 
     /**
@@ -90,6 +88,7 @@ public class CommonController {
 
     private RestResponse upload(MultipartFile file,String[] types,long maxSize){
         try {
+            AliyunOSS aliyunOSS = systemConfiguration.build();
             Judge.notTrue(null == file || file.isEmpty(),Values.uploadMissingFileData);
             Judge.notTrue(file.getSize() > maxSize,"文件大小不超过" + (maxSize >> 20) + "M");
             // 获取文件名,带后缀
@@ -100,9 +99,9 @@ public class CommonController {
             Judge.isTrue(StrUtil.equalsAny(fileSuffix,types),"文件格式不支持, 暂时只支持" + types.toString());
             String filename = DateUtil.today().replaceAll("-","/") + "/" +IdWorker.getIdStr() + fileSuffix;
             log.info("上传文件,新文件名:" + filename);
-            boolean result = aliyunOSSUtil.putObject(systemConfiguration.getBucketName(),file.getBytes(),filename);
+            boolean result = aliyunOSS.putObject(systemConfiguration.getBucketName(),file.getBytes(),filename);
             if(result){
-                String fileUrl = aliyunOSSUtil.getObjectUrl(systemConfiguration.getBucketName(),filename);
+                String fileUrl = aliyunOSS.getObjectUrl(systemConfiguration.getBucketName(),filename);
                 log.info("上传文件,文件URL:" + fileUrl);
                 return RestResponse.success(fileUrl);
             }

+ 5 - 6
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/SystemConfiguration.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.business.framework.conf;
 
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -37,15 +37,14 @@ public class SystemConfiguration {
     private String accessKeyId;
 
     /**
-     * 配置aliyun OSS bean注入
+     * 创建aliyun OSS bean
      * @return
      */
-    @Bean
-    public AliyunOSSUtil createAliyunOSSUtil(){
+    public AliyunOSS build(){
         if(StrUtil.hasEmpty(endpoint,accessKeyId,accessKeySecret,bucketName)){
-            return AliyunOSSUtil.me();
+            return AliyunOSS.me();
         }
-        return AliyunOSSUtil.me(endpoint,accessKeyId,accessKeySecret,bucketName);
+        return AliyunOSS.me(endpoint,accessKeyId,accessKeySecret,bucketName);
     }
 
     /**

+ 15 - 13
lift-common/src/main/java/cn.com.ty.lift.common/utils/AliyunOSSUtil.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.model.*;
+import lombok.extern.slf4j.Slf4j;
 
 import java.io.*;
 
@@ -13,7 +14,8 @@ import java.io.*;
  * @date 2019/11/29
  * @description aliyun OSS工具类
  */
-public class AliyunOSSUtil {
+@Slf4j
+public class AliyunOSS {
 
     // Endpoint以杭州为例,其它Region请按实际情况填写。
     private String endpoint = "http://oss-cn-beijing.aliyuncs.com";
@@ -30,7 +32,7 @@ public class AliyunOSSUtil {
     /**
      * 无参构造,初始化oss
      */
-    public AliyunOSSUtil(){
+    public AliyunOSS(){
         if(null == ossClient){
             ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
         }
@@ -64,7 +66,7 @@ public class AliyunOSSUtil {
         String suffix = filename.substring(filename.indexOf("."));
         System.out.println("filename: " + filename);
         System.out.println("suffix: " + suffix);
-        AliyunOSSUtil util = AliyunOSSUtil.me();
+        AliyunOSS util = AliyunOSS.me();
         String objectName = DateUtil.today().replaceAll("-","/") + "/" +System.currentTimeMillis() + suffix;
         System.out.println("objectname: " + objectName);
         util.putFile(objectName,file);
@@ -74,7 +76,7 @@ public class AliyunOSSUtil {
     }
 
 
-    public AliyunOSSUtil(String endpoint, String accessKeyId, String accessKeySecret,String bucketName) {
+    public AliyunOSS(String endpoint, String accessKeyId, String accessKeySecret, String bucketName) {
         this.endpoint = endpoint;
         this.accessKeyId = accessKeyId;
         this.accessKeySecret = accessKeySecret;
@@ -82,11 +84,11 @@ public class AliyunOSSUtil {
         init();
     }
 
-    public static AliyunOSSUtil me(){
-        return new AliyunOSSUtil();
+    public static AliyunOSS me(){
+        return new AliyunOSS();
     }
-    public static AliyunOSSUtil me(String endpoint,String accessKeyId, String accessKeySecret,String bucketName){
-        return new AliyunOSSUtil(endpoint,accessKeyId,accessKeySecret,bucketName);
+    public static AliyunOSS me(String endpoint, String accessKeyId, String accessKeySecret, String bucketName){
+        return new AliyunOSS(endpoint,accessKeyId,accessKeySecret,bucketName);
     }
 
     /**
@@ -105,7 +107,7 @@ public class AliyunOSSUtil {
             ossClient.createBucket(bucketName);
             return true;
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("创建存储空间异常: {}",e);
             return false;
         }finally {
             destroy();
@@ -127,7 +129,7 @@ public class AliyunOSSUtil {
             ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content));
             return true;
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("上传文件异常: {}",e);
             return false;
         }finally {
             destroy();
@@ -205,7 +207,7 @@ public class AliyunOSSUtil {
             ossClient.deleteObject(bucketName, objectName);
             return true;
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("删除文件异常: {}",e);
             return false;
         }finally {
             destroy();
@@ -233,7 +235,7 @@ public class AliyunOSSUtil {
             ossClient.putObject(putObjectRequest);
             return true;
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("上传文件异常: {}",e);
             return false;
         }finally {
             destroy();
@@ -255,7 +257,7 @@ public class AliyunOSSUtil {
             ossClient.getObject(new GetObjectRequest(bucketName, objectName), file);
             return file;
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("获取文件异常: {}",e);
             return null;
         }finally {
             destroy();

+ 5 - 6
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/config/SystemConfiguration.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.enterprise.config;
 
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -37,15 +37,14 @@ public class SystemConfiguration {
     private String accessKeyId;
 
     /**
-     * 配置aliyun OSS bean注入
+     * 创建aliyun OSS bean
      * @return
      */
-    @Bean
-    public AliyunOSSUtil createAliyunOSSUtil(){
+    public AliyunOSS build(){
         if(StrUtil.hasEmpty(endpoint,accessKeyId,accessKeySecret,bucketName)){
-            return AliyunOSSUtil.me();
+            return AliyunOSS.me();
         }
-        return AliyunOSSUtil.me(endpoint,accessKeyId,accessKeySecret,bucketName);
+        return AliyunOSS.me(endpoint,accessKeyId,accessKeySecret,bucketName);
     }
 
     /**

+ 69 - 0
lift-quan-service/src/main/java/cn/com/ty/lift/quan/config/SystemConfiguration.java

@@ -0,0 +1,69 @@
+package cn.com.ty.lift.quan.config;
+
+import cn.com.ty.lift.common.utils.AliyunOSS;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.util.StrUtil;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
+import lombok.Data;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @author wcz
+ * @date 2019/12/3
+ * @description 配置bean注入,
+ */
+@Data
+@Configuration
+@ConfigurationProperties(prefix = "aliyun.oss")
+public class SystemConfiguration {
+
+    private String endpoint;
+
+    private String bucketName;
+
+    private String accessKeySecret;
+
+    private String accessKeyId;
+
+    /**
+     * 创建aliyun OSS bean
+     * @return
+     */
+    public AliyunOSS build(){
+        if(StrUtil.hasEmpty(endpoint,accessKeyId,accessKeySecret,bucketName)){
+            return AliyunOSS.me();
+        }
+        return AliyunOSS.me(endpoint,accessKeyId,accessKeySecret,bucketName);
+    }
+
+    /**
+     * 全局格式化日期
+     *
+     * @return Jackson2ObjectMapperBuilderCustomizer
+     */
+    @Bean
+    public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
+        return builder -> {
+            builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
+            builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
+            builder.serializers(new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
+
+            builder.deserializers(new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
+            builder.deserializers(new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
+            builder.deserializers(new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
+
+            builder.serializerByType(Long.class, ToStringSerializer.instance);
+        };
+    }
+}

+ 3 - 3
lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/service/impl/QuanNewsServiceImpl.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.quan.news.service.impl;
 
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.com.ty.lift.quan.news.dao.entity.QuanNews;
 import cn.com.ty.lift.quan.news.dao.entity.model.QuanNewsReq;
 import cn.com.ty.lift.quan.news.dao.mapper.QuanNewsMapper;
@@ -217,7 +217,7 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
     public RestResponse updateNews(QuanNews quanNews) {
         QuanNews byId = this.getById(quanNews);
         if (byId.getVideoName() != null) {
-            AliyunOSSUtil.me().deleteObject(byId.getVideoName());
+            AliyunOSS.me().deleteObject(byId.getVideoName());
         }
         if (this.updateById(quanNews)) {
             return RestResponse.success(null, "成功");
@@ -241,7 +241,7 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
             this.top(id, 0);
         }
         if (byId.getVideoName() != null) {
-            AliyunOSSUtil.me().deleteObject(byId.getVideoName());
+            AliyunOSS.me().deleteObject(byId.getVideoName());
         }
         if (this.removeById(id)) {
             return RestResponse.success(null, "成功");

+ 9 - 1
lift-quan-service/src/main/resources/application-dev.yml

@@ -15,4 +15,12 @@ spring:
         max-active: 8 #最大连接数
         max-idle: 8 #最大空闲链接
         max-wait: 20000ms
-        min-idle: 0
+        min-idle: 0
+
+#aliyun OSS服务配置信息,加载到SystemConfiguration
+aliyun:
+  oss:
+    endpoint: http://oss-cn-beijing.aliyuncs.com
+    bucketName: temp15827479607
+    accessKeyId: LTAI4FkSqFZa6LH9HqAsVott
+    accessKeySecret: w7GXuh5tf1hduQuZ2AzT3a4q14BI1i

+ 9 - 1
lift-quan-service/src/main/resources/application-local.yml

@@ -14,4 +14,12 @@ spring:
         max-active: 8 #最大连接数
         max-idle: 8 #最大空闲链接
         max-wait: 20000ms
-        min-idle: 0
+        min-idle: 0
+
+#aliyun OSS服务配置信息,加载到SystemConfiguration
+aliyun:
+  oss:
+    endpoint: http://oss-cn-beijing.aliyuncs.com
+    bucketName: temp15827479607
+    accessKeyId: LTAI4FkSqFZa6LH9HqAsVott
+    accessKeySecret: w7GXuh5tf1hduQuZ2AzT3a4q14BI1i

+ 0 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/service/impl/BannerImageServiceImpl.java

@@ -1,6 +1,5 @@
 package cn.com.ty.lift.system.banner.service.impl;
 
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
 import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
 import cn.com.ty.lift.system.banner.dao.mapper.BannerImageMapper;
 import cn.com.ty.lift.system.banner.service.BannerImageService;

+ 20 - 20
lift-system-service/src/main/java/cn/com/ty/lift/system/config/SystemConfiguration.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.system.config;
 
-import cn.com.ty.lift.common.utils.AliyunOSSUtil;
+import cn.com.ty.lift.common.utils.AliyunOSS;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -10,45 +10,45 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
-import org.springframework.beans.factory.annotation.Value;
+import lombok.Data;
 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
 
 import java.time.format.DateTimeFormatter;
 
+/**
+ * @author wcz
+ * @date 2019/12/3
+ * @description 配置bean注入,
+ */
+@Data
 @Configuration
-@PropertySource("classpath:system.properties")
+@ConfigurationProperties(prefix = "aliyun.oss")
 public class SystemConfiguration {
 
-    @Value("${aliyun.oss.endpoint}")
-    public String endpoint;
+    private String endpoint;
 
-    @Value("${aliyun.oss.bucketName}")
-    public String bucketName;
+    private String bucketName;
 
-    @Value("${aliyun.oss.accessKeySecret}")
-    public String accessKeySecret;
+    private String accessKeySecret;
 
-    @Value("${aliyun.oss.accessKeyId}")
-    public String accessKeyId;
+    private String accessKeyId;
 
     /**
-     * 配置aliyun OSS bean注入
-     *
+     * 创建aliyun OSS bean
      * @return
      */
-    @Bean
-    public AliyunOSSUtil createAliyunOSSUtil() {
-        if (StrUtil.hasEmpty(endpoint, accessKeyId, accessKeySecret)) {
-            return AliyunOSSUtil.me();
+    public AliyunOSS build(){
+        if(StrUtil.hasEmpty(endpoint,accessKeyId,accessKeySecret,bucketName)){
+            return AliyunOSS.me();
         }
-        return AliyunOSSUtil.me(endpoint, accessKeyId, accessKeySecret, bucketName);
+        return AliyunOSS.me(endpoint,accessKeyId,accessKeySecret,bucketName);
     }
 
     /**
-     * 将Long类型转为string类型传给前端
+     * 全局格式化日期
      *
      * @return Jackson2ObjectMapperBuilderCustomizer
      */

+ 0 - 4
lift-system-service/src/main/resources/system.properties

@@ -1,4 +0,0 @@
-aliyun.oss.endpoint=http://oss-cn-beijing.aliyuncs.com
-aliyun.oss.bucketName=temp15827479607
-aliyun.oss.accessKeyId=LTAI4FkSqFZa6LH9HqAsVott
-aliyun.oss.accessKeySecret=w7GXuh5tf1hduQuZ2AzT3a4q14BI1i