From ad3ac53da1c3a11a96ae62d790aa61a81b9eab91 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 20 三月 2021 18:47:23 +0800
Subject: [PATCH] 完善APP首页顶部标签栏兼容,初步处理推送

---
 src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java b/src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java
index ae06466..886bf4b 100644
--- a/src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java
+++ b/src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java
@@ -2,11 +2,15 @@
 
 import java.io.PrintWriter;
 import java.io.Serializable;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpSession;
 
+import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial;
+import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService;
 import com.yeshi.buwan.util.SystemUtil;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,20 +42,39 @@
     @Resource
     private SpecialService specialService;
 
+    @Resource
+    private HomeRecommendSpecialService homeRecommendSpecialService;
+
     @RequestMapping(value = "/gethomeadlistadmin", method = RequestMethod.POST)
-    public void getHomeBannerListAdmin(int page, int detailsystem, String key, HttpSession session, PrintWriter out) {
+    public void getHomeBannerListAdmin(int page, int detailsystem, String key,String special, HttpSession session, PrintWriter out) {
         key = StringUtil.isNullOrEmpty(key) ? "" : key;
+        String dataKey = null;
+        if (special != null && !special.equalsIgnoreCase("0")) {
+            HomeRecommendSpecial bean = homeRecommendSpecialService.getSpecial(special);
+            if (bean != null) {
+                dataKey = bean.getDataKey();
+            }
+        }
 
-        List<HomeAdAdmin> list = homeAdService.getHomeAdAdmin(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem, page);
 
-        long count = homeAdService.getHomeAdAdminCount(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem);
+        List<HomeAdAdmin> list = homeAdService.getHomeAdAdmin(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem,dataKey, page);
+
+        long count = homeAdService.getHomeAdAdminCount(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem,dataKey);
         PageEntity pe = new PageEntity();
         pe.setPageIndex(page);
         pe.setPageSize(Constant.pageCount);
         pe.setTotalCount((int) count);
         JSONArray array = new JSONArray();
         Gson gson = new GsonBuilder().create();
+
+        Map<String, HomeRecommendSpecial> specialMap = new HashMap<>();
+
         for (HomeAdAdmin ht : list) {
+            String specialDataKey = ht.getHomeAd().getHomeAd().getSpecialDataKey();
+            if (specialMap.get(specialDataKey) == null) {
+                specialMap.put(specialDataKey, homeRecommendSpecialService.getSpecialByDataKey(specialDataKey));
+            }
+
             JSONObject root = new JSONObject();
             ht.getHomeAd().getHomeAd().setSystem(null);
             ht.getHomeAd().getHomeAd().setTag(null);
@@ -64,6 +87,7 @@
                 darray.add(gson.toJson(dss));
             }
             root.put("detailSystemList", darray);
+            root.put("special", specialMap.get(specialDataKey));
             array.add(root);
         }
 
@@ -120,7 +144,7 @@
                 linkValue = ht.getVideo().getId();
                 break;
             case 2:
-                linkValue = JSONObject.fromObject(ht.getParams()).optString("id");
+                linkValue = JSONObject.fromObject(ht.getParams()).optString("url");
                 break;
             case 3:
                 linkValue = JSONObject.fromObject(ht.getParams()).optString("id");
@@ -147,6 +171,7 @@
         ht.setLinkType(homeAd.getLinkType());
         ht.setOrderby(homeAd.getOrderby());
         ht.setPicture(homeAd.getPicture());
+        ht.setSpecialDataKey(homeAd.getSpecialDataKey());
         if (homeAd.getLinkType() == 1) {
             ht.setVideo(new VideoInfo(linkValue));
         } else if (homeAd.getLinkType() == 2) {
@@ -176,7 +201,7 @@
     }
 
     @RequestMapping(value = "/addhomead", method = RequestMethod.POST)
-    public void addHomeAd(HomeAd homeAd, String linkValue, String detailsystemids, PrintWriter out) {
+    public void addHomeAd(HomeAd homeAd, String linkValue, String detailsystemids,HttpSession session, PrintWriter out) {
         if (homeAd.getLinkType() == 1) {
             homeAd.setVideo(new VideoInfo(linkValue));
         } else if (homeAd.getLinkType() == 2) {
@@ -197,7 +222,7 @@
             homeAd.setParams(obj.toString());
         }
         homeAd.setCreatetime(System.currentTimeMillis() + "");
-
+        homeAd.setSystem(SystemUtil.getAdminSelectedSystem(session));
         Serializable id = homeAdService.addHomeAd(homeAd);
 
         if (id != null && !StringUtil.isNullOrEmpty(detailsystemids)) {

--
Gitblit v1.8.0