From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java |  167 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 148 insertions(+), 19 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java
index ae5d46d..16b2fab 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java
@@ -1,12 +1,13 @@
 package com.yeshi.fanli.controller.admin;
 
 import java.io.PrintWriter;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
-
-import net.sf.json.JSONObject;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,7 +20,7 @@
 import com.yeshi.fanli.entity.push.PushGoods;
 import com.yeshi.fanli.entity.push.PushGoodsGroup;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.exception.PushException;
+import com.yeshi.fanli.exception.push.PushException;
 import com.yeshi.fanli.exception.push.PushGoodsException;
 import com.yeshi.fanli.service.AdminUserService;
 import com.yeshi.fanli.service.inter.push.PushGoodsGroupService;
@@ -28,6 +29,8 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("admin/new/api/v1/pushgoods")
@@ -50,7 +53,8 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "save")
-	public void save(String callback, PushGoods pushGoods, String idArray, PrintWriter out) {
+	public void save(String callback, PushGoods pushGoods, String idArray, String arrayIOS, 
+			String arrayAndroid, PrintWriter out) {
 		
 		try {
 
@@ -67,19 +71,46 @@
 			}
 
 			Gson gson = new Gson();
-			List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
-			}.getType());
+			List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType());
 
+			convertVersion(pushGoods, arrayIOS, arrayAndroid);
+			
 			pushGoodsService.save(pushGoods, list);
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛"));
-
+		} catch (PushGoodsException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
 			e.printStackTrace();
 		}
 	}
 
+	
+	/**
+	 * 鏂板/淇敼
+	 * 
+	 * @param callback
+	 * @param special
+	 * @param out
+	 */
+	@RequestMapping(value = "saveInfo")
+	public void saveInfo(String callback, PushGoods pushGoods, String arrayIOS,	String arrayAndroid, PrintWriter out) {
+		try {
+			// 鐗堟湰澶勭悊
+			convertVersion(pushGoods, arrayIOS, arrayAndroid);
+			// 淇濆瓨
+			pushGoodsService.saveInfo(pushGoods);
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛"));
+		} catch (PushGoodsException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+	
 	/**
 	 * 鍒犻櫎
 	 * 
@@ -140,10 +171,22 @@
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏁版嵁淇℃伅宸蹭笉瀛樺湪"));
 				return;
 			}
+			
+			Date controlTime = pushGoods.getControlTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
+			if (controlTime == null) {
+				pushGoods.setControlTime_str("");
+			} else {
+				pushGoods.setControlTime_str(sdf.format(controlTime));
+			}
+			
 
+			// 鐗堟湰澶勭悊
+			convertVersionList(pushGoods);
+			
 			List<TaoBaoGoodsBrief> listgoods = new ArrayList<TaoBaoGoodsBrief>();
 			
-			List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(pushGoods.getId());
+			List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(id);
 			if (listGroup == null) {
 				listGroup = new ArrayList<PushGoodsGroup>();
 			} else {
@@ -156,8 +199,12 @@
 				}
 			}
 			
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.create();
+			
 			JSONObject data = new JSONObject();
-			data.put("pushGoods", pushGoods);
+			data.put("pushGoods", gson.toJson(pushGoods));
 			data.put("listGroup", listgoods);
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
@@ -192,15 +239,26 @@
 		try {
 
 			List<PushGoods> list = pushGoodsService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state);
-
 			if (list == null || list.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
 				return;
 			}
 
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
 			for (PushGoods pushGoods : list) {
+				
+				Date controlTime = pushGoods.getControlTime();
+				if (controlTime == null) {
+					pushGoods.setControlTime_str("");
+				} else {
+					pushGoods.setControlTime_str(sdf.format(controlTime));
+				}
+				
 				long countGoods = pushGoodsGroupService.countByPushId(pushGoods.getId());
 				pushGoods.setCountGoods(countGoods);
+				
+				// 鐗堟湰澶勭悊
+				convertVersionList(pushGoods);
 			}
 
 			long count = pushGoodsService.countQuery(key, state);
@@ -234,28 +292,23 @@
 	 */
 	@RequestMapping(value = "push")
 	public void push(String callback, String idArray, PrintWriter out) throws Exception {
-
 		if (idArray == null || idArray.trim().length() == 0) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�"));
 			return;
 		}
 		
 		try {
-			
 			Gson gson = new Gson();
 			List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType());
-		
 			if (list == null || list.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�"));
 				return;
 			}
 				
 			for (Long id: list) {
-				pushGoodsService.executePush(id);
+				pushGoodsService.handPush(id);
 			}
-			
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-			
 		} catch (PushException e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (PushGoodsException e) {
@@ -264,9 +317,85 @@
 			e.printStackTrace();
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
 		}
-
 	}
 
-
-
+	/**
+	 * 杞崲json
+	 * @param pushGoods
+	 */
+	public void convertVersion(PushGoods pushGoods, String arrayIOS, String arrayAndroid) {
+		
+		List<String> listIOS = convertList(arrayIOS);
+		List<String> listAndroid = convertList(arrayAndroid);
+		if ((listIOS == null || listIOS.size() == 0) && (listAndroid == null || listAndroid.size() == 0)) {
+			return;
+		}
+		
+		JSONObject json =  new JSONObject();
+		if (listIOS != null && listIOS.size() > 0) {
+			String versions = "";
+			for (String version: listIOS) {
+				versions += version + ",";
+			}
+			if (versions.endsWith(",")) {
+				versions = versions.substring(0, versions.length() - 1);
+			}
+			
+			json.put("IOS", versions);
+		}
+		if (listAndroid != null && listAndroid.size() > 0) {
+			String versions = "";
+			for (String version: listAndroid) {
+				versions += version + ",";
+			}
+			if (versions.endsWith(",")) {
+				versions = versions.substring(0, versions.length() - 1);
+			}
+			
+			json.put("Android", versions);
+		}
+		pushGoods.setVersions(json.toString());
+	}
+	
+	/**
+	 * 鐗堟湰澶勭悊
+	 * @param array
+	 * @return
+	 */
+	public List<String> convertList (String array) {
+		Gson gson = new Gson();
+		List<String> list = null;
+		if (array != null && array.trim().length() > 0) {
+			list = gson.fromJson(array, new TypeToken<ArrayList<String>>() {}.getType());
+		}
+		return list;
+	}
+	
+	/**
+	 * 鐗堟湰杞崲涓簂ist
+	 * @param pushGoods
+	 */
+	public void convertVersionList(PushGoods pushGoods) {
+	  String versions = pushGoods.getVersions();
+	  List<String> listIOS = null;
+	  List<String> listAndroid = null;
+	  if (versions == null || versions.trim().length() == 0) {
+		  listIOS = new ArrayList<String>();
+		  listAndroid = new ArrayList<String>();
+	  } else {
+		  JSONObject json = JSONObject.fromObject(versions);
+			
+			String versionsIOS = json.optString("IOS");
+			if (versionsIOS != null && versionsIOS.trim().length() > 0) {
+				listIOS = Arrays.asList(versionsIOS.split(","));
+			}
+			
+			String versionsAndroid  = json.getString("Android");
+			if (versionsAndroid != null && versionsAndroid.trim().length() > 0) {
+				listAndroid = Arrays.asList(versionsAndroid.split(","));
+			}
+	  }
+	  pushGoods.setListIOS(listIOS);
+	  pushGoods.setListAndroid(listAndroid);
+	}
 }

--
Gitblit v1.8.0