From 57b80e02ce56e3cacff75ba789fc633ab46b911a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 04 十二月 2018 15:22:25 +0800
Subject: [PATCH] 去除老版本收藏
---
fanli/src/main/java/com/yeshi/fanli/controller/client/PushController.java | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 220 insertions(+), 2 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/PushController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/PushController.java
index d82cf43..32a7c31 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/PushController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/PushController.java
@@ -1,22 +1,44 @@
package com.yeshi.fanli.controller.client;
import java.io.PrintWriter;
+import java.util.Date;
+import java.util.List;
import javax.annotation.Resource;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
+import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.entity.push.DeviceTokenIOS;
+import com.yeshi.fanli.entity.push.PushGoods;
+import com.yeshi.fanli.entity.push.PushGoodsGroup;
+import com.yeshi.fanli.entity.push.PushGoodsRecord;
import com.yeshi.fanli.entity.system.System;
+import com.yeshi.fanli.exception.push.PushGoodsGroupException;
+import com.yeshi.fanli.goods.CommonGoods;
+import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
+import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemService;
+import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
import com.yeshi.fanli.service.inter.push.IOSPushService;
+import com.yeshi.fanli.service.inter.push.PushGoodsGroupService;
+import com.yeshi.fanli.service.inter.push.PushGoodsRecordService;
+import com.yeshi.fanli.service.inter.push.PushGoodsService;
import com.yeshi.fanli.service.inter.push.PushRecordService;
+import com.yeshi.fanli.service.inter.push.PushService;
+import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
-import org.yeshi.utils.JsonUtil;
+import com.yeshi.fanli.util.factory.JumpDetailParamsFactory;
@Controller
@RequestMapping(value = "api/v1/push")
@@ -33,6 +55,30 @@
@Resource
private DeviceTokenHWService deviceTokenHWService;
+
+ @Resource
+ private DeviceActiveService deviceActiveService;
+
+ @Resource
+ private PushService pushService;
+
+ @Resource
+ private PushGoodsService PushGoodsService;
+
+ @Resource
+ private PushGoodsGroupService pushGoodsGroupService;
+
+ @Resource
+ private PushGoodsRecordService pushGoodsRecordService;
+
+ @Resource
+ private JumpDetailV2Service jumpDetailV2Service;
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource(name = "taskExecutor")
+ private TaskExecutor executor;
@RequestMapping(value = "callback", method = RequestMethod.POST)
public void callback(AcceptData acceptData, String pushId, PrintWriter out) {
@@ -60,6 +106,13 @@
@RequestMapping(value = "/insertDeviceToken", method = RequestMethod.POST)
public void insertIOSDeviceToken(AcceptData acceptData, String deviceToken, PrintWriter out) {
if (!StringUtil.isNullOrEmpty(acceptData.getDevice()) && !StringUtil.isNullOrEmpty(deviceToken)) {
+ // 娣诲姞璁惧娲昏穬璁板綍
+ DeviceActive da = new DeviceActive();
+ da.setDeviceToken(deviceToken);
+ da.setPlatform(DeviceActive.PLATFORM_IOS);
+ da.setVersionCode(Integer.parseInt(acceptData.getVersion()));
+ deviceActiveService.addDeviceActive(da);
+
DeviceTokenIOS deviceTokenIOS = iosPushService.getDeviceTokenByDeviceToken(deviceToken);
if (deviceTokenIOS == null)
iosPushService.addDeviceToken(null, Integer.parseInt(acceptData.getVersion()), deviceToken,
@@ -83,7 +136,14 @@
@RequestMapping(value = "/uidBindDeviceToken", method = RequestMethod.POST)
public void uidBindIOSDeviceToken(AcceptData acceptData, Long uid, String deviceToken, PrintWriter out) {
if (uid != null && uid != 0 && !StringUtil.isNullOrEmpty(deviceToken)) {
- DeviceTokenIOS deviceTokenIOS = iosPushService.getDeviceTokenByDeviceToken(acceptData.getDevice());
+ // 娣诲姞璁惧娲昏穬璁板綍
+ DeviceActive da = new DeviceActive();
+ da.setDeviceToken(deviceToken);
+ da.setPlatform(DeviceActive.PLATFORM_IOS);
+ da.setVersionCode(Integer.parseInt(acceptData.getVersion()));
+ deviceActiveService.addDeviceActive(da);
+ // 娣诲姞token
+ DeviceTokenIOS deviceTokenIOS = iosPushService.getDeviceTokenByDeviceToken(deviceToken);
if (deviceTokenIOS != null) {
deviceTokenIOS.setUid(uid);
deviceTokenIOS.setDevice(acceptData.getDevice());
@@ -142,5 +202,163 @@
deviceTokenHWService.unBindDeviceToken(acceptData.getDevice());
out.print(JsonUtil.loadTrueResult("鎴愬姛"));
}
+
+
+ /**
+ * 瑙g粦鎺ㄩ��
+ *
+ * @param acceptData
+ * @param out
+ */
+ @RequestMapping(value = "/gethistory", method = RequestMethod.POST)
+ public void getHistory(AcceptData acceptData, String deviceToken, int page, PrintWriter out) {
+ long count = 0;
+ List<PushGoods> list = null;
+ JSONArray resultList = new JSONArray();
+
+ DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(),
+ deviceToken, acceptData.getPlatform());
+
+ if (deviceActive != null) {
+
+ // 璁惧娉ㄥ唽鏃堕棿
+ Date createTime = deviceActive.getCreateTime();
+ count = PushGoodsService.countHistoryByPushTime(createTime);
+
+ int pageSize = Constant.PAGE_SIZE;
+
+ list = PushGoodsService.listHistoryByPushTime((page - 1) * pageSize, pageSize, createTime);
+ if (list != null && list.size() > 0) {
+ for (PushGoods pushGoods : list) {
+ JSONObject result = new JSONObject();
+
+ Long pushId = pushGoods.getId();
+ String picture = pushGoods.getPicture();
+ String alertContent = pushGoods.getAlertContent();
+ Date pushTime = pushGoods.getPushTime();
+
+ result.put("content", alertContent);
+ result.put("pushtime", pushTime.getTime());
+
+ // 缁熻鍟嗗搧鏁伴噺
+ long totalgoods = 0;
+ // 鍟嗗搧id
+ Long auctionId = null;
+ if (StringUtil.isNullOrEmpty(picture)) {
+ try {
+ List<PushGoodsGroup> listGroup = pushGoodsGroupService.getAllInfoByPushId(pushId);
+
+ if (listGroup != null && listGroup.size() > 0) {
+
+ totalgoods = listGroup.size();
+
+ PushGoodsGroup pushGoodsGroup = listGroup.get(0);
+ if (pushGoodsGroup != null) {
+ CommonGoods commonGoods = pushGoodsGroup.getCommonGoods();
+ if (commonGoods != null) {
+ picture = commonGoods.getPicture();
+ auctionId = commonGoods.getGoodsId();
+ }
+ }
+ }
+ } catch (PushGoodsGroupException e) {
+ e.printStackTrace();
+ }
+ }
+
+ result.put("picture", picture);
+
+ String fontColor1 = "#888888";
+ String fontColor2 = "#F14242";
+ JSONArray array = new JSONArray();
+
+ JSONArray array1 = new JSONArray();
+ array1.add(fontColor1);
+ array1.add("鏈鎺ㄩ�佸叡");
+
+ JSONArray array2 = new JSONArray();
+ array2.add(fontColor2);
+ array2.add(totalgoods);
+
+ JSONArray array3 = new JSONArray();
+ array3.add(fontColor1);
+ array3.add("涓晢鍝�");
+
+ array.add(array1);
+ array.add(array2);
+ array.add(array3);
+
+ result.put("totalwords", array);
+
+ String params = "";
+
+ JumpDetailV2 jumpDetail = null;
+ if (totalgoods == 1) {
+
+ params = JumpDetailParamsFactory.createGoodsParams(auctionId);
+ // 鍗曚釜鍟嗗搧璺宠浆鍟嗗搧璇︽儏
+ jumpDetail = jumpDetailV2Service.getByTypeCache("goodsdetail");
+
+ } else {
+ String url = configService.get("push_goods_details");
+ if (url == null) {
+ url = "";
+ }
+ url = url + "?id=" + pushId;
+
+ params = JumpDetailParamsFactory.createWEBParams(url);
+
+ // 璺宠浆鎺ㄨ崘璇︽儏
+ jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+ }
+ result.put("params", params);
+ result.put("jumpDetail", jumpDetail);
+
+ resultList.add(result);
+ }
+ }
+ }
+
+ JSONObject resultJson = new JSONObject();
+ resultJson.put("count", count);
+ resultJson.put("result_list", resultList);
+
+ out.print(JsonUtil.loadTrueResult(resultJson));
+
+ // 鍒楄〃鍙傛暟銆佽澶囧弬鏁颁俊鎭笉涓虹┖
+ if (list != null && list.size() > 0 && deviceActive != null) {
+
+ final List<PushGoods> listPush = list;
+ // 璁板綍璁块棶淇℃伅
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ Long deviceId = deviceActive.getId();
+
+ for (PushGoods pushGoods : listPush) {
+ List<PushGoodsRecord> listRecord = pushGoodsRecordService.listByPushIdAndDeviceId(
+ pushGoods.getId(), deviceId);
+ if (listRecord != null && listRecord.size() > 0) {
+ continue; // 宸茶璁板綍
+ }
+
+ PushGoodsRecord pushGoodsRecord = new PushGoodsRecord();
+
+ pushGoodsRecord.setCreateTime(new Date());
+ pushGoodsRecord.setPushGoods(pushGoods);
+ pushGoodsRecord.setDeviceActive(deviceActive);
+ pushGoodsRecordService.insert(pushGoodsRecord);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ });
+ }
+ }
+
}
--
Gitblit v1.8.0