yonge 3 gadi atpakaļ
vecāks
revīzija
004553a2aa

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -111,7 +111,7 @@ public class PayServiceImpl implements PayService {
         }
         
         //如果当前是买的小课/网管课
-		if (studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY || studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
+		if (studentPaymentOrder != null && studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY || studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
 				|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW) {
 			
 			// 是否由平台收款

+ 39 - 0
mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java

@@ -3,10 +3,18 @@ package com.ym.mec.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiParam;
 
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Random;
+
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.Base64Utils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -28,6 +36,8 @@ public class UploadFileController extends BaseController {
 
 	@Autowired
 	private UploadFileService uploadFileService;
+	
+	private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
 
 	@PostMapping(value = "uploadFile")
 	public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
@@ -45,4 +55,33 @@ public class UploadFileController extends BaseController {
 		}
 		return failed("上传失败");
 	}
+
+	@PostMapping(value = "uploadFileWithBase64")
+	public Object uploadFileWithBase64(String fileName, String extName, String base64Str) throws IOException {
+		if (StringUtils.isBlank(fileName)) {
+			return failed("文件名不能为空");
+		}
+
+		base64Str = base64Str.replaceAll("data:image/"+ extName +";base64,", "");
+		
+		String tmpfileName = sdf.format(new Date()) + (new Random().nextInt(9000) % (9000 - 1000 + 1) + 1000) + "." + extName;
+
+		File file = new File(tmpfileName);
+
+		FileUtils.writeByteArrayToFile(file, Base64Utils.decodeFromString(base64Str));
+
+		if (file.exists()) {
+			UploadReturnBean bean = uploadFileService.uploadFile(FileUtils.openInputStream(file), UploadUtil.getExtension(fileName));
+			bean.setName(fileName);
+			
+			FileUtils.deleteQuietly(file);
+			
+			if (bean.isStatus()) {
+				return succeed(bean);
+			}
+			return failed(bean.getMessage());
+		}
+		
+		return failed();
+	}
 }