From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java |  220 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 157 insertions(+), 63 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java
index cd690db..49caef7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UploadController.java
@@ -3,14 +3,12 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import net.sf.json.JSONObject;
 
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
@@ -21,36 +19,45 @@
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 
-import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.AdminUserService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
 import com.yeshi.fanli.service.inter.order.OrderProcessService;
 import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.util.CMQManager;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.RedisKeyEnum;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.annotation.RequestNoLogin;
 import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("admin/new/api/v1/upload")
 public class UploadController {
 
-	@Resource
-	private HongBaoService hongBaoService;
 
 	@Resource
 	private OrderService orderService;
 
 	@Resource
 	private OrderProcessService orderProcessService;
-	
+
 	@Resource
 	private AdminUserService adminUserService;
-	
+
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
-	
-	
+
+	@Resource
+	private TaoBaoOrderService taoBaoOrderService;
+
+	@Resource
+	private RedisManager redisManager;
 
 	// private static final String PAYSUCCESS = "鏀粯鎴愬姛";
 	// private static final String ORDERCLOSE="璁㈠崟鍏抽棴";
@@ -67,8 +74,8 @@
 			InputStream inputStream = file.getInputStream();
 			String contentType = file.getContentType();
 			String type = contentType.substring(contentType.indexOf("/") + 1);
-			String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
-					UUID.randomUUID().toString().replace("-", "") + "." + type).getUrl();
+			String uploadFilePath = COSManager.getInstance()
+					.uploadFile(inputStream, FilePathEnum.section.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type).getUrl();
 			out.print(JsonUtil.loadTrueResult(uploadFilePath));
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -90,8 +97,9 @@
 			InputStream inputStream = file.getInputStream();
 			String contentType = file.getContentType();
 			String type = contentType.substring(contentType.indexOf("/") + 1);
-			String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
-					UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk").getUrl();
+			String uploadFilePath = COSManager.getInstance()
+					.uploadFile(inputStream, FilePathEnum.apk.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk")
+					.getUrl();
 			out.print(JsonUtil.loadTrueResult(uploadFilePath));
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -107,8 +115,8 @@
 			String date = TimeUtil.getyyyyMMdd(timeMillis);
 			String contentType = file.getContentType();
 			String type = contentType.substring(contentType.indexOf("/") + 1);
-			String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
-					"section/" + date + "/" + timeMillis + "." + type).getUrl();
+			String uploadFilePath = COSManager.getInstance()
+					.uploadFile(inputStream, FilePathEnum.section.getPath() + timeMillis + "." + type).getUrl();
 			JSONObject data = new JSONObject();
 			data.put("original", file.getOriginalFilename());
 			data.put("name", file.getOriginalFilename());
@@ -124,13 +132,73 @@
 		}
 	}
 
+	private void addOrder(List<TaoBaoOrder> orderList) {
+		try {
+			taoBaoOrderService.addTaoBaoOrderList(orderList);
+		} catch (Exception e) {
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+
+		try {
+			Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
+			if (map != null) {
+				Iterator<String> its = map.keySet().iterator();
+				while (its.hasNext()) {
+					String key = its.next();
+					List<TaoBaoOrder> orders = map.get(key);
+					String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key);
+					// redis鍋氶鐜囬檺鍒�
+					if (Constant.IS_OUTNET) {
+						try {
+							if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
+								continue;
+							}
+
+						} catch (Exception e) {
+
+						}
+					}
+
+					CMQManager.getInstance().addTaoBaoOrderMsg(key);
+					try {
+						// 6灏忔椂鍐呬笉鍐嶅鐞�
+						if (Constant.IS_OUTNET) {
+							redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
+						}
+					} catch (Exception e) {
+
+					}
+				}
+			}
+		} catch (Exception e) {
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+	}
+
 	@RequestMapping(value = "uploadOrder", method = RequestMethod.POST)
 	public void uploadOrder(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
-
 		if (file != null) {
 			try {
 				List<TaoBaoOrder> orderList = TaoBaoOrderUtil.parseOrder(file.getInputStream());
-				orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
+				// for(int i=0;i<orderList.size();i++)
+				// {
+				// if(!orderList.get(i).getOrderId().equalsIgnoreCase("229978886132510070")&&!orderList.get(i).getOrderId().equalsIgnoreCase("246314979024510070"))
+				// {
+				// orderList.remove(i--);
+				// continue;
+				// }
+				//
+				// }
+				// orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
+				addOrder(orderList);
 			} catch (IOException e) {
 				e.printStackTrace();
 				out.print(JsonUtil.loadFalseResult(e.getMessage()));
@@ -143,80 +211,98 @@
 
 	}
 
-	
 	/**
 	 * 鏂板悗鍙扮 涓婁紶璁㈠崟鏂囦欢
-	 * @param file  excel鏂囦欢
-	 * @param uid  褰撳墠鐢ㄦ埛id
+	 * 
+	 * @param file
+	 *            excel鏂囦欢
+	 * @param uid
+	 *            褰撳墠鐢ㄦ埛id
 	 * @param request
 	 * @param response
 	 * @param out
 	 */
-	@RequestNoLogin()
 	@RequestMapping(value = "uploadOrderFile")
-	public void uploadOrderFile(@RequestParam("file") CommonsMultipartFile file, Long uid,
-			 HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
-		
-		response.setHeader("Access-Control-Allow-Origin", "*");
-		response.setHeader("Access-Control-Allow-Methods", "*");
-		
-		AdminUser admin = adminUserService.selectByPrimaryKey(uid);
-		if (admin == null) {
-			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛楠岃瘉鏈�氳繃"));
-			return;
-		}
-		
+	public void uploadOrderFile(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
+
 		if (file == null) {
 			out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓嶈兘涓虹┖"));
 			return;
 		}
-		
-		List<TaoBaoOrder> orderList = null ;
+
+		List<TaoBaoOrder> orderList = null;
 		try {
 			orderList = TaoBaoOrderUtil.parseOrder(file.getInputStream());
-			out.print(JsonUtil.loadTrueResult("涓婁紶鏂囦欢鎴愬姛"));
+			out.print(JsonUtil.loadTrueResult("涓婁紶鎴愬姛,绯荤粺姝e湪澶勭悊涓�..."));
 		} catch (IOException e) {
 			out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢澶辫触"));
 			e.printStackTrace();
 		}
-		
+
 		final List<TaoBaoOrder> list = orderList;
-		
+
 		executor.execute(new Runnable() {
 			@Override
 			public void run() {
 				try {
-					
+
 					orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(list));
-					
+
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
 
 			}
 		});
-			
+
 	}
-	
-	
+
 	/**
 	 * 涓婁紶鍥剧墖jsonp
-	 * @param file 
-	 * @param out 
+	 * 
+	 * @param file
+	 * @param out
 	 */
-	@RequestNoLogin()
 	@RequestMapping(value = "uploadPicture")
-	public void uploadPicture(@RequestParam("file") CommonsMultipartFile file, Long uid, 
-			HttpServletResponse response, PrintWriter out) {
-	
-		response.setHeader("Access-Control-Allow-Origin", "*");
-		response.setHeader("Access-Control-Allow-Methods", "*");
+	public void uploadPicture(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
 
-		AdminUser admin = adminUserService.selectByPrimaryKey(uid);
-		if (admin == null) {
-			out.print(JsonUtil.loadFalseResult("褰撳墠璐︽埛楠岃瘉澶辫触"));
+		if (file == null) {
+			out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓虹┖"));
 			return;
 		}
+
+		try {
+			InputStream inputStream = file.getInputStream();
+			String contentType = file.getContentType();
+			String type = contentType.substring(contentType.indexOf("/") + 1);
+			// 涓婁紶鏂囦欢鐩稿浣嶇疆
+			String fileUrl=FilePathEnum.section.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
+			
+			String uploadPath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
+			
+			JSONObject data = new JSONObject();
+			data.put("original", file.getOriginalFilename());
+			data.put("name", file.getOriginalFilename());
+			data.put("url", uploadPath);
+			data.put("size", file.getSize() + "");
+			data.put("type", "." + type);
+			data.put("state", "SUCCESS");
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (IOException e) {
+			out.print(JsonUtil.loadFalseResult("涓婁紶鍥剧墖澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 
+	 * 鏂规硶璇存槑: 涓婁紶Apk瀹夎鍖�
+	 * 
+	 * @param file
+	 * @param out
+	 */
+	@RequestMapping(value = "installPackage")
+	public void installPackage(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
 		
 		if (file == null) {
 			out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓虹┖"));
@@ -227,15 +313,23 @@
 			InputStream inputStream = file.getInputStream();
 			String contentType = file.getContentType();
 			String type = contentType.substring(contentType.indexOf("/") + 1);
+			
 			// 涓婁紶鏂囦欢鐩稿浣嶇疆
-			String fileUrl=UUID.randomUUID().toString().replace("-", "") + "." + type;
+			String fileUrl= FilePathEnum.apk.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk";
 			
-			String uploadPath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
+			String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
 			
-			out.print(JsonUtil.loadTrueResult(uploadPath));
+			JSONObject data = new JSONObject();
+			data.put("original", file.getOriginalFilename());
+			data.put("name", file.getOriginalFilename());
+			data.put("url", uploadFilePath);
+			data.put("size", file.getSize() + "");
+			data.put("type", "." + type);
+			data.put("state", "SUCCESS");
+			out.print(JsonUtil.loadTrueResult(data));
 			
-		} catch (IOException e) {
-			out.print(JsonUtil.loadFalseResult("涓婁紶鍥剧墖澶辫触"));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("涓婁紶澶辫触"));
 			e.printStackTrace();
 		}
 	}

--
Gitblit v1.8.0