From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/admin/PushGoodsController.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 142 insertions(+), 31 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 82b4996..52fff57 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,21 +16,21 @@ 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.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.PushException; import com.yeshi.fanli.exception.push.PushGoodsException; -import com.yeshi.fanli.goods.CommonGoods; import com.yeshi.fanli.service.AdminUserService; import com.yeshi.fanli.service.inter.push.PushGoodsGroupService; import com.yeshi.fanli.service.inter.push.PushGoodsService; 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") @@ -52,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(); @@ -81,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(); @@ -154,10 +146,24 @@ 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)); + } + + // 鐗堟湰澶勭悊 + 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 { @@ -170,8 +176,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)); @@ -213,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); @@ -240,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("鎺ㄩ�佹垚鍔�")); @@ -267,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