From 0b22bf61e42c7966f5395e784c796409930556da Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 26 十一月 2019 14:05:30 +0800
Subject: [PATCH] ios 版本区分
---
fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java | 191 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 159 insertions(+), 32 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 84f4cda..1ebcc8a 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,13 +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 javax.servlet.http.HttpServletResponse;
-
-import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,10 +16,11 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
-import com.yeshi.fanli.entity.common.AdminUser;
+import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.push.PushGoods;
import com.yeshi.fanli.entity.push.PushGoodsGroup;
-import com.yeshi.fanli.exception.PushException;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+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;
@@ -27,7 +28,9 @@
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.annotation.RequestNoLogin;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+
+import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/pushgoods")
@@ -49,20 +52,10 @@
* @param special
* @param out
*/
- @RequestNoLogin()
@RequestMapping(value = "save")
- public void save(String callback, PushGoods pushGoods, Long editorUid, String idArray, HttpServletResponse response,
- PrintWriter out) {
-
- response.setHeader("Access-Control-Allow-Origin", "*");
- response.setHeader("Access-Control-Allow-Methods", "*");
-
- AdminUser admin = adminUserService.selectByPrimaryKey(editorUid);
- if (admin == null) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鐢ㄦ埛楠岃瘉澶辫触"));
- return;
- }
-
+ public void save(String callback, PushGoods pushGoods, String idArray, String arrayIOS,
+ String arrayAndroid, PrintWriter out) {
+
try {
String alertTitle = pushGoods.getAlertTitle();
@@ -78,13 +71,15 @@
}
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();
@@ -151,12 +146,43 @@
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.setTimeTask(false);
+ pushGoods.setControlTime_str("");
+ } else {
+ pushGoods.setTimeTask(true);
+ pushGoods.setControlTime_str(sdf.format(controlTime));
+ }
+
- List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(pushGoods.getId());
+ // 鐗堟湰澶勭悊
+ convertVersionList(pushGoods);
+
+ List<TaoBaoGoodsBrief> listgoods = new ArrayList<TaoBaoGoodsBrief>();
+
+ List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(id);
+ if (listGroup == null) {
+ listGroup = new ArrayList<PushGoodsGroup>();
+ } else {
+ for (PushGoodsGroup pushGoodsGroup: listGroup) {
+ CommonGoods commonGoods = pushGoodsGroup.getCommonGoods();
+ if (commonGoods != null) {
+ TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
+ listgoods.add(goodsBrief);
+ }
+ }
+ }
+
+ GsonBuilder gsonBuilder = new GsonBuilder();
+ gsonBuilder.serializeNulls();
+ Gson gson = gsonBuilder.create();
JSONObject data = new JSONObject();
- data.put("pushGoods", pushGoods);
- data.put("listGroup", listGroup);
+ data.put("pushGoods", gson.toJson(pushGoods));
+ data.put("listGroup", listgoods);
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
@@ -197,8 +223,22 @@
}
for (PushGoods pushGoods : list) {
+
+ Date controlTime = pushGoods.getControlTime();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
+ if (controlTime == null) {
+ pushGoods.setTimeTask(false);
+ pushGoods.setControlTime_str("");
+ } else {
+ pushGoods.setTimeTask(true);
+ pushGoods.setControlTime_str(sdf.format(controlTime));
+ }
+
long countGoods = pushGoodsGroupService.countByPushId(pushGoods.getId());
pushGoods.setCountGoods(countGoods);
+
+ // 鐗堟湰澶勭悊
+ convertVersionList(pushGoods);
}
long count = pushGoodsService.countQuery(key, state);
@@ -224,22 +264,33 @@
/**
- * 缃戦〉鎺ㄩ��
+ * 鍟嗗搧鎺ㄩ��
*
* @param id 鎺ㄩ�乮d
* @param out
* @throws Exception
*/
@RequestMapping(value = "push")
- public void push(String callback, Long id, PrintWriter out) throws Exception {
+ public void push(String callback, String idArray, PrintWriter out) throws Exception {
- if (id == null) {
+ if (idArray == null || idArray.trim().length() == 0) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�"));
return;
}
try {
- pushGoodsService.executePush(id);
+
+ 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.handPush(id);
+ }
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
@@ -251,9 +302,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.getString("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