瀏覽代碼

Merge remote-tracking branch 'origin/master'

yanliming 4 年之前
父節點
當前提交
e71f355539

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/config/OSSConfig.java

@@ -14,4 +14,6 @@ public class OSSConfig {
     private String bucketName;
     private String urlPrefix;
     private String objectPre;
+    private String localPath;
+    private String localUrlPrefix;
 }

+ 7 - 7
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/WorkScheduleAttendanceServiceImpl.java

@@ -952,15 +952,15 @@ public class WorkScheduleAttendanceServiceImpl implements WorkScheduleAttendance
             WorkOverPerson workOverPerson = workOverPersonService.findByPersonIdAndDate(personInfo.getId(),attendanceTime.toDate());
             WorkOver workOver = null;
 
+            if(workOverPerson!=null) {
+                //说明下班后被安排了加班
+                workOver = workOverService.get(workOverPerson.getWorkOverId());
+            }
+
             //加班时如果是下班则考勤截止时间顺延
             if ("2".equals(classify)){
-                if(workOverPerson!=null){
-                    //说明下班后被安排了加班
-                    workOver = workOverService.get(workOverPerson.getWorkOverId());
-
-                    if(workOver!=null && workOver.getHours()!=null) {
-                        endTime = endTime.plusHours(workOver.getHours());
-                    }
+                if(workOver!=null && workOver.getHours()!=null) {
+                    endTime = endTime.plusHours(workOver.getHours());
                 }
             }
 

+ 53 - 7
common/src/main/java/com/jpsoft/shinestar/modules/common/utils/OSSUtil.java

@@ -9,7 +9,9 @@ import com.aliyun.oss.model.OSSObject;
 import com.aliyun.oss.model.PutObjectResult;
 import com.jpsoft.shinestar.config.OSSConfig;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.util.StreamUtils;
 
 import java.io.*;
 import java.net.HttpURLConnection;
@@ -17,6 +19,7 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
 import java.util.*;
+import java.util.regex.Matcher;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -45,8 +48,7 @@ public class OSSUtil {
                  + "/" + cal.get(Calendar.DAY_OF_MONTH)
                  + "/" + UUID.randomUUID().toString() + "/";
 
-        OSS ossClient = new OSSClientBuilder().build(ossConfig.getEndpoint(), ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret());
-
+        OSS ossClient = null;
 //      int index = fileName.indexOf(".");
 //      String prefix = fileName.substring(0,index);
 //      String ext = fileName.substring(index);
@@ -54,13 +56,57 @@ public class OSSUtil {
 //      String retFileUrl = savePath + newFileName;
         String retFileUrl = savePath + fileName;
 
-        // 上传文件流
-        PutObjectResult result = ossClient.putObject(ossConfig.getBucketName(), retFileUrl, fileInputStream);
+        boolean success = false;
 
-        // 关闭OSSClient
-        ossClient.shutdown();
+        try {
+            ossClient = new OSSClientBuilder().build(ossConfig.getEndpoint(), ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret());
+
+            // 上传文件流
+            PutObjectResult putObjectResult = ossClient.putObject(ossConfig.getBucketName(), retFileUrl, fileInputStream);
+
+//          putObjectResult.getResponse() is null
+            success = true;
+        }
+        catch (Exception ex){
+            log.error(ex.getMessage(),ex);
+            success = false;
+        }
+        finally {
+            if(ossClient!=null){
+                ossClient.shutdown();
+            }
+        }
+
+        String retFullUrl = "";
+
+        if(success) {
+            retFullUrl = ossConfig.getUrlPrefix() + "/" + retFileUrl;
+        }
+        else{
+            //保存到本地
+            File folder = new File(ossConfig.getLocalPath() + File.separator + savePath.replaceAll("/", Matcher.quoteReplacement(File.separator)));
+
+            if (!folder.exists()){
+                folder.mkdirs();
+            }
+
+            try {
+                fileInputStream.reset();
+                FileOutputStream output = new FileOutputStream(folder.getAbsolutePath() + File.separator + fileName);
+                StreamUtils.copy(fileInputStream,output);
+                success = true;
+            }
+            catch (Exception ex){
+                success = false;
+                log.error(ex.getMessage(),ex);
+            }
+
+            if (success){
+                retFullUrl = ossConfig.getLocalUrlPrefix() + "/" + retFileUrl;
+            }
+        }
 
-        return ossConfig.getUrlPrefix() + "/" + retFileUrl;
+        return retFullUrl;
     }
 
     public static boolean download(String fileUrl,String filePath){

+ 1 - 1
lapi/src/main/java/com/jpsoft/shinestar/lapi/handler/PersonVerificationHandler.java

@@ -1,5 +1,6 @@
 package com.jpsoft.shinestar.lapi.handler;
 
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.json.JSON;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
@@ -185,7 +186,6 @@ public class PersonVerificationHandler extends SimpleChannelInboundHandler<Perso
                 }
 
                 ByteArrayInputStream inputStream = new ByteArrayInputStream(imgData);
-
                 faceImageUrl = OSSUtil.upload(ossConfig, "/devicePersonLog", faceImageJson.getStr("Name"), inputStream);
             }
 

+ 2 - 2
web/src/main/java/com/jpsoft/shinestar/modules/base/controller/WorkOverController.java

@@ -679,9 +679,9 @@ public class WorkOverController {
         return resultStr;
     }
 
-    @PostMapping("updateFinshTime")
+    @PostMapping("updateFinishTime")
     @ApiOperation(value="更新加班完成时间")
-    public MessageResult<Integer> updateFinshTime(String day){
+    public MessageResult<Integer> updateFinishTime(String day){
         MessageResult<Integer> messageResult = new MessageResult<>();
 
         try {

+ 1 - 1
web/src/main/resources/application-dev.yml

@@ -21,7 +21,7 @@ spring:
     restart:
       enabled: true
   rabbitmq:
-    host: 119.36.146.59
+    host: 192.168.33.20
     virtual-host: tomatozq
 
 logger:

+ 5 - 1
web/src/main/resources/application-production.yml

@@ -134,4 +134,8 @@ lapi:
 #  url: http://59.208.84.65/gateway/api/3/jkm2
 
 healthyReport:
-  workerReportUrl: "https://xpgj.xiaoxinda.com/prod/business/#/master/health/workerReport?token={0}"
+  workerReportUrl: "https://xpgj.xiaoxinda.com/prod/business/#/master/health/workerReport?token={0}"
+
+oss:
+  localPath: D:\\shinestar
+  localUrlPrefix: http://223.75.170.44:6060/shinestar

+ 3 - 1
web/src/main/resources/application.yml

@@ -181,7 +181,9 @@ oss:
   bucketName: rccs
 #  urlPrefix: http://rccs.oss-cn-hangzhou.aliyuncs.com
   urlPrefix: http://oss.xiaoxinda.com
-  objectPre: smart
+  objectPre: shinestar
+  localPath: E:\\uniview
+  localUrlPrefix: http://localhost:7070/uniview
 
 mobile:
   unMeasureUrl: "http://xpgj.xiaoxinda.com/prod/business/#/master/health/noTemperatureRecord"