chenlu
9 小时以前 33dbc6a161554f3a897f9e9273feb4f2c1b47381
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
@@ -53,9 +53,17 @@
       return orderFiles;
    }
    public Object updateOrderFileByOrderNumber(MultipartFile file,String orderId,String orderNumber) throws IOException {
    public Object updateOrderFileByOrderNumber(MultipartFile file,String name,String orderId,String orderNumber) throws IOException {
       //判断是否规定的格式后缀名
        if(!isAllowedFile(name)){
           return null;
       }
        try (InputStream is = License.class.getResourceAsStream("/lisence.xml")) {
            String base64 = null;
            if(name.toLowerCase().endsWith(".dwg")){
            License license = new License();
            license.setLicense(is);
@@ -79,7 +87,11 @@
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            image.save(outputStream, options);
            byte[] imageBytes = outputStream.toByteArray();
            String base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(imageBytes);
                base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(imageBytes);
            }else{
                base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(file.getBytes());
            }
            OrderFile orderFile = new OrderFile();
            orderFile.setImageBase64(base64);
            orderFile.setFileName(file.getName());
@@ -107,6 +119,10 @@
            e.printStackTrace();
            return null;
        }
    }
    public Object getOrderNumberFile(String orderId, String orderNumber) {
@@ -122,4 +138,23 @@
                    .eq("order_number", orderNumber)
                ) > 0;
    }
    public static boolean isAllowedFile(String fileName) {
        List<String> allowedExtensions = Arrays.asList(".dwg", ".png", ".jpg");
        if (fileName == null || fileName.isEmpty()) {
            return false;
        }
        String lowerFileName = fileName.toLowerCase();
        for (String ext : allowedExtensions) {
            if (!ext.startsWith(".")) {
                ext = "." + ext;
            }
            if (lowerFileName.endsWith(ext)) {
                return true;
            }
        }
        return false;
    }
}