From 30cba46c3a27a307f5658f1078f927f6b7100e00 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 17 十二月 2019 10:22:04 +0800
Subject: [PATCH] 兼容京东领券链接
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 183 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 181 insertions(+), 2 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
index 97670fc..0416a67 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -21,12 +21,18 @@
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
+import com.yeshi.fanli.entity.bus.homemodule.Special;
+import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.homemodule.SpecialService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
+import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import net.sf.json.JSONObject;
@@ -52,6 +58,10 @@
@Resource
private DynamicInfoService dynamicInfoService;
+ @Resource
+ private SpecialService specialService;
+
+
/**
* 鍔ㄦ�佸晢鍝佸垪琛�
@@ -68,8 +78,22 @@
return;
}
+ if (cid != null && cid == 5) {
+ // 娲诲姩涓婚
+ getSpecialList(acceptData, page, subId, out);
+ return;
+ }
+
+
long count = 0;
- List<DynamicInfo> list = dynamicInfoService.queryV2((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid,
+
+ int platform = 1;
+ if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+ platform = 2;
+ }
+
+ int version = Integer.parseInt(acceptData.getVersion());
+ List<DynamicInfo> list = dynamicInfoService.queryV2(platform, version, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid,
subId);
if (list == null) {
list = new ArrayList<DynamicInfo>();
@@ -82,6 +106,161 @@
data.put("list", getGson().toJson(list));
out.print(JsonUtil.loadTrueResult(data));
}
+
+
+ /**
+ * 娲诲姩鍒楄〃
+ * @param acceptData
+ * @param out
+ */
+ private void getSpecialList(AcceptData acceptData, Integer page, Long subId, PrintWriter out) {
+ if (subId == null) {
+ out.print(JsonUtil.loadFalseResult("鍒嗙被id涓嶈兘涓虹┖"));
+ return;
+ }
+
+ // 骞冲彴鍖哄垎
+ int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
+ List<String> listKey = new ArrayList<String>();
+
+ if (subId == 1) { // 娣樺疂
+ listKey.add("special_channel_tb");
+ } else if (subId == 2) { // 浜笢
+ listKey.add("special_channel_jd");
+ } else if (subId == 3) { // 鎷煎澶�
+ listKey.add("special_channel_pdd");
+ } else { // 鍏ㄩ儴
+ listKey.add("special_channel_tb");
+ listKey.add("special_channel_jd");
+ listKey.add("special_channel_pdd");
+ }
+
+ List<Special> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, listKey, platformCode,
+ Integer.parseInt(acceptData.getVersion()));
+
+ long time = System.currentTimeMillis();
+
+ // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
+ for (int i = 0; i < list.size(); i++) {
+ Special special = list.get(i);
+ if (special.getState() == 1L) {
+ list.remove(i--);
+ } else {
+ if (special.getStartTime() != null && special.getEndTime() != null)
+ special.setTimeTask(true);
+ else
+ special.setTimeTask(false);
+
+ if (special.isTimeTask()) {
+ if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
+ list.remove(i--);
+ } else// 璁剧疆鍊掕鏃�
+ {
+ special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
+ }
+ }
+
+ List<SpecialLabel> listLabels = special.getListLabels();
+ if (listLabels != null && !listLabels.isEmpty()) {
+ List<ClientTextStyleVO> labels = new ArrayList<>();
+ for (SpecialLabel specialLabel: listLabels) {
+ labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor()));
+ }
+ special.setLabels(labels);
+ }
+ }
+ }
+
+ long count = specialService.countByPlaceKeyList( listKey, platformCode, Integer.parseInt(acceptData.getVersion()));
+
+ GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+ Gson gson = gsonBuilder.create();
+ JSONObject data = new JSONObject();
+ data.put("count", count);
+ data.put("list", gson.toJson(list));
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+
+
+
+ /**
+ * 鏌ヨ椤堕儴鍒嗙被
+ *
+ * @param acceptData
+ * @param page
+ * @param cid
+ * @param out
+ */
+ @RequestMapping(value = "getClass", method = RequestMethod.POST)
+ public void getClass(AcceptData acceptData, Integer cid, PrintWriter out) {
+ // ios 鍙繑鍥炲瓙闆嗗垎绫�
+ if (cid != null) {
+ List<GoodsClass> list = new ArrayList<GoodsClass>();
+
+ switch (cid) {
+ case 1:
+ list.add(new GoodsClass(0L, "浠婃棩鍗曞搧"));
+ list.addAll(DaTaoKeUtil.goodsClasses);
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ list.add(new GoodsClass(0L, "鍏ㄩ儴"));
+ list.add(new GoodsClass(1L, "娣樺疂"));
+ list.add(new GoodsClass(2L, "浜笢"));
+ list.add(new GoodsClass(3L, "鎷煎澶�"));
+ break;
+ default:
+ break;
+ }
+ JSONObject data = new JSONObject();
+ data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+ out.print(JsonUtil.loadTrueResult(data));
+ return;
+ }
+
+ // Android 杩斿洖鍒嗙被浠ュ強椤堕儴鏁版嵁
+ List<GoodsClass> listSub = new ArrayList<GoodsClass>();
+ listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧"));
+ listSub.addAll(DaTaoKeUtil.goodsClasses);
+
+ GoodsClass menu1 = new GoodsClass(1L, "鐑攢");
+ menu1.setListSub(listSub);
+
+ GoodsClass menu2 = new GoodsClass(2L, "鎺ㄨ崘");
+ menu2.setListSub(new ArrayList<GoodsClass>());
+
+ GoodsClass menu3 = new GoodsClass(3L, "濂藉簵");
+ menu3.setListSub(new ArrayList<GoodsClass>());
+
+ GoodsClass menu4 = new GoodsClass(4L, "閭�璇�");
+ menu4.setListSub(new ArrayList<GoodsClass>());
+
+ GoodsClass menu5 = new GoodsClass(5L, "娲诲姩");
+ List<GoodsClass> sub5 = new ArrayList<GoodsClass>();
+ sub5.add(new GoodsClass(0L, "鍏ㄩ儴"));
+ sub5.add(new GoodsClass(1L, "娣樺疂"));
+ sub5.add(new GoodsClass(2L, "浜笢"));
+ sub5.add(new GoodsClass(3L, "鎷煎澶�"));
+ menu5.setListSub(sub5);
+
+ List<GoodsClass> list = new ArrayList<GoodsClass>();
+ list.add(menu1);
+ list.add(menu5);
+ list.add(menu2);
+ list.add(menu3);
+ list.add(menu4);
+
+ JSONObject data = new JSONObject();
+ data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
--
Gitblit v1.8.0