suochencheng hace 7 años
padre
commit
fbb097a345

+ 26 - 12
src/main/java/com/izouma/awesomeadmin/web/OrderImageController.java

@@ -12,6 +12,7 @@ import com.izouma.awesomeadmin.model.UserOrder;
 import com.izouma.awesomeadmin.service.*;
 import com.izouma.awesomeadmin.service.*;
 import com.izouma.awesomeadmin.util.ExportExcelUtil;
 import com.izouma.awesomeadmin.util.ExportExcelUtil;
 import com.izouma.awesomeadmin.util.ImagesUtil;
 import com.izouma.awesomeadmin.util.ImagesUtil;
+import com.izouma.awesomeadmin.util.MbappUtil;
 import com.izouma.awesomeadmin.util.PropertiesFileLoader;
 import com.izouma.awesomeadmin.util.PropertiesFileLoader;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.StringUtils;
@@ -246,9 +247,13 @@ public class OrderImageController {
 
 
                         String originalFilename = file.getOriginalFilename();
                         String originalFilename = file.getOriginalFilename();
 
 
+                        //不带后缀名的文件名
+                        String singleFileName = originalFilename.substring(0,originalFilename.lastIndexOf("."));
+
                         OrderImage orderImage = new OrderImage();
                         OrderImage orderImage = new OrderImage();
                         orderImage.setOrderId(orderId);
                         orderImage.setOrderId(orderId);
-                        orderImage.setImageName(originalFilename);
+                        //orderImage.setImageName(originalFilename);
+                        orderImage.setImageName(singleFileName);
                         orderImage = orderImageService.getOrderImage(orderImage);
                         orderImage = orderImageService.getOrderImage(orderImage);
 
 
                         if (orderImage == null) {
                         if (orderImage == null) {
@@ -277,7 +282,8 @@ public class OrderImageController {
                         imageUploadLog.setOrderId(orderId);
                         imageUploadLog.setOrderId(orderId);
                         imageUploadLog.setTypeFlag(typeFlag);
                         imageUploadLog.setTypeFlag(typeFlag);
                         imageUploadLog.setUserId(userId);
                         imageUploadLog.setUserId(userId);
-                        imageUploadLog.setImageName(originalFilename);
+                        //imageUploadLog.setImageName(originalFilename);
+                        imageUploadLog.setImageName(singleFileName);
                         imageUploadLog.setUrl(path);
                         imageUploadLog.setUrl(path);
                         imageUploadLog.setArtworkUrl(path);
                         imageUploadLog.setArtworkUrl(path);
                         imageUploadLog.setImageSize(BigDecimal.valueOf(file.getSize()));
                         imageUploadLog.setImageSize(BigDecimal.valueOf(file.getSize()));
@@ -293,20 +299,26 @@ public class OrderImageController {
                             if ("CR2".equalsIgnoreCase(fileType)) {
                             if ("CR2".equalsIgnoreCase(fileType)) {
 
 
                                 try {
                                 try {
-                                    File src = new File("/tmp/" + file.getOriginalFilename());
-                                    FileUtils.copyInputStreamToFile(file.getInputStream(), src);
-                                    String[] cmd = {"sh", "-c", "dcraw -v -c -q 0 -w -H 5 -b 8 /tmp/" + file.getOriginalFilename() + " | cjpeg -quality 100 > /tmp/" + file.getOriginalFilename() + ".jpg"};
-                                    Runtime.getRuntime().exec(cmd);
-
-                                    in = new FileInputStream(new File("/tmp/" + file.getOriginalFilename() + ".jpg"));
 
 
+                                    String srcName = storeId + "_" + orderId + "_" + typeFlag + "_" + MbappUtil.create_nonce_str() + "." + fileType;
+                                    File src = new File("/tmp/" + srcName);
+                                    FileUtils.copyInputStreamToFile(file.getInputStream(), src);
+                                    String[] cmd = {"sh", "-c", "dcraw -v -e -c  /tmp/" + srcName + " > /tmp/" + srcName + ".jpg"};
+                                    //System.out.println("1xxxx:" + new Date());
+                                    Process p = Runtime.getRuntime().exec(cmd);
+                                    //System.out.println("2xxxx:" + new Date());
+                                    p.waitFor();
+                                    //System.out.println("3xxxx:" + new Date());
+                                    in = new FileInputStream(new File("/tmp/" + srcName + ".jpg"));
+                                    //System.out.println("4xxxx:" + new Date());
                                     fileType = "jpg";
                                     fileType = "jpg";
-                                } catch (IOException e) {
+                                    minPath += ".jpg";
+                                } catch (Exception e) {
                                     e.printStackTrace();
                                     e.printStackTrace();
                                 }
                                 }
 
 
                             }
                             }
-
+                            //System.out.println("5xxxx:" + new Date());
                             String min = OSSFileService.upload(ImagesUtil.changeMinPhoto(
                             String min = OSSFileService.upload(ImagesUtil.changeMinPhoto(
                                     in,
                                     in,
                                     fileType,
                                     fileType,
@@ -320,7 +332,8 @@ public class OrderImageController {
 
 
                         if (orderImage != null) {
                         if (orderImage != null) {
 
 
-                            orderImage.setImageName(originalFilename);
+                            //orderImage.setImageName(originalFilename);
+                            orderImage.setImageName(singleFileName);
 
 
                             if ("original".equals(typeFlag)) {
                             if ("original".equals(typeFlag)) {
                                 orderImage.setOriginalSize(imageUploadLog.getImageSize());
                                 orderImage.setOriginalSize(imageUploadLog.getImageSize());
@@ -358,7 +371,8 @@ public class OrderImageController {
                                 orderImage.setOrderId(orderId);
                                 orderImage.setOrderId(orderId);
                                 orderImage.setUserId(userId);
                                 orderImage.setUserId(userId);
                                 orderImage.setStoreId(storeId);
                                 orderImage.setStoreId(storeId);
-                                orderImage.setImageName(originalFilename);
+                                //orderImage.setImageName(originalFilename);
+                                orderImage.setImageName(singleFileName);
 
 
 
 
                                 orderImage.setOriginalSize(imageUploadLog.getImageSize());
                                 orderImage.setOriginalSize(imageUploadLog.getImageSize());