From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/controller/admin/api/HomeBannerController.java |  365 +++++++++++++++++++++++++++------------------------
 1 files changed, 195 insertions(+), 170 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 efd92b3..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,21 +2,25 @@
 
 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;
 import org.springframework.web.bind.annotation.RequestMethod;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import com.yeshi.buwan.domain.DetailSystem;
+import com.yeshi.buwan.domain.system.DetailSystem;
 import com.yeshi.buwan.domain.HomeAd;
-import com.yeshi.buwan.domain.HomeType;
 import com.yeshi.buwan.domain.SuperHomeAd;
-import com.yeshi.buwan.domain.SuperHomeType;
 import com.yeshi.buwan.domain.VideoInfo;
 import com.yeshi.buwan.domain.special.Special;
 import com.yeshi.buwan.domain.web.DetailSystemSelect;
@@ -33,189 +37,210 @@
 @Controller
 @RequestMapping("admin/new/api/homebanner")
 public class HomeBannerController {
-	@Resource
-	private HomeAdService homeAdService;
-	@Resource
-	private SpecialService specialService;
+    @Resource
+    private HomeAdService homeAdService;
+    @Resource
+    private SpecialService specialService;
 
-	@RequestMapping(value = "/gethomeadlistadmin", method = RequestMethod.POST)
-	public void getHomeBannerListAdmin(int page, int detailsystem, String key, PrintWriter out) {
-		key = StringUtil.isNullOrEmpty(key) ? "" : key;
+    @Resource
+    private HomeRecommendSpecialService homeRecommendSpecialService;
 
-		List<HomeAdAdmin> list = homeAdService.getHomeAdAdmin(key, detailsystem, page);
+    @RequestMapping(value = "/gethomeadlistadmin", method = RequestMethod.POST)
+    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();
+            }
+        }
 
-		long count = homeAdService.getHomeAdAdminCount(key, detailsystem);
-		PageEntity pe = new PageEntity();
-		pe.setPageIndex(page);
-		pe.setPageSize(Constant.pageCount);
-		pe.setTotalCount((int) count);
-		JSONArray array = new JSONArray();
-		Gson gson = new GsonBuilder().create();
-		for (HomeAdAdmin ht : list) {
-			JSONObject root = new JSONObject();
-			ht.getHomeAd().getHomeAd().setSystem(null);
-			ht.getHomeAd().getHomeAd().setTag(null);
-			ht.getHomeAd().getHomeAd().setAdmin(null);
-			ht.getHomeAd().getHomeAd().setVideo(null);
-			root.put("homeAd", gson.toJson(ht.getHomeAd().getHomeAd()));
-			JSONArray darray = new JSONArray();
-			for (DetailSystemSelect dss : ht.getDetailSystemList()) {
-				dss.getDetailSystem().setSystem(null);
-				darray.add(gson.toJson(dss));
-			}
-			root.put("detailSystemList", darray);
-			array.add(root);
-		}
 
-		JSONObject data = new JSONObject();
-		data.put("pageEntity", gson.toJson(pe));
-		data.put("data", array);
+        List<HomeAdAdmin> list = homeAdService.getHomeAdAdmin(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem,dataKey, page);
 
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("data", data);
-		out.print(object);
-	}
+        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();
 
-	@RequestMapping(value = "/deletesuperhomead", method = RequestMethod.POST)
-	public void deleteSuperHomeAd(long id, int detailsystem, PrintWriter out) {
-		homeAdService.deleteHomeAdAdmin(id + "", detailsystem + "");
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("msg", "鍒犻櫎鎴愬姛");
-		out.print(object);
-	}
+        Map<String, HomeRecommendSpecial> specialMap = new HashMap<>();
 
-	@RequestMapping(value = "/addsuperhomead", method = RequestMethod.POST)
-	public void addSuperHomeAd(long id, int detailsystem, PrintWriter out) {
-		SuperHomeAd sht = new SuperHomeAd();
-		sht.setCreatetime(System.currentTimeMillis() + "");
-		sht.setDetailSystem(new DetailSystem(detailsystem + ""));
-		sht.setHomeAd(new HomeAd(id + ""));
-		homeAdService.addSuperHomeAd(sht);
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("msg", "娣诲姞鎴愬姛");
-		out.print(object);
-	}
+        for (HomeAdAdmin ht : list) {
+            String specialDataKey = ht.getHomeAd().getHomeAd().getSpecialDataKey();
+            if (specialMap.get(specialDataKey) == null) {
+                specialMap.put(specialDataKey, homeRecommendSpecialService.getSpecialByDataKey(specialDataKey));
+            }
 
-	@RequestMapping(value = "/deletehomead", method = RequestMethod.POST)
-	public void deleteHomeAd(String ids, PrintWriter out) {
-		String[] idStrs = ids.split(",");
-		for (String id : idStrs) {
-			homeAdService.deleteHomeAd(id);
-		}
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("msg", "鍒犻櫎鎴愬姛");
-		out.print(object);
-	}
+            JSONObject root = new JSONObject();
+            ht.getHomeAd().getHomeAd().setSystem(null);
+            ht.getHomeAd().getHomeAd().setTag(null);
+            ht.getHomeAd().getHomeAd().setAdmin(null);
+            ht.getHomeAd().getHomeAd().setVideo(null);
+            root.put("homeAd", gson.toJson(ht.getHomeAd().getHomeAd()));
+            JSONArray darray = new JSONArray();
+            for (DetailSystemSelect dss : ht.getDetailSystemList()) {
+                dss.getDetailSystem().setSystem(null);
+                darray.add(gson.toJson(dss));
+            }
+            root.put("detailSystemList", darray);
+            root.put("special", specialMap.get(specialDataKey));
+            array.add(root);
+        }
 
-	@RequestMapping(value = "/gethomead", method = RequestMethod.POST)
-	public void getHomeAd(String id, PrintWriter out) {
-		HomeAd ht = homeAdService.getHomeAdById(id);
-		String linkValue = "";
-		switch (ht.getLinkType()) {
-		case 1:
-			linkValue = ht.getVideo().getId();
-			break;
-		case 2:
-			linkValue = JSONObject.fromObject(ht.getParams()).optString("id");
-			break;
-		case 3:
-			linkValue = JSONObject.fromObject(ht.getParams()).optString("id");
-			break;
-		}
-		ht.setVideo(null);
-		ht.setAdmin(null);
-		ht.setSystem(null);
-		Gson gson = new GsonBuilder().create();
-		JSONObject obj = JSONObject.fromObject(gson.toJson(ht));
-		obj.put("linkValue", linkValue);
+        JSONObject data = new JSONObject();
+        data.put("pageEntity", gson.toJson(pe));
+        data.put("data", array);
 
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("data", obj);
-		out.print(object);
-	}
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("data", data);
+        out.print(object);
+    }
 
-	@RequestMapping(value = "/updatehomead", method = RequestMethod.POST)
-	public void updateHomeAd(HomeAd homeAd, String linkValue, PrintWriter out) {
-		HomeAd ht = homeAdService.getHomeAdById(homeAd.getId());
-		ht.setClazz(homeAd.getClazz());
-		ht.setIntroduction(homeAd.getIntroduction());
-		ht.setLinkType(homeAd.getLinkType());
-		ht.setOrderby(homeAd.getOrderby());
-		ht.setPicture(homeAd.getPicture());
-		if (homeAd.getLinkType() == 1) {
-			ht.setVideo(new VideoInfo(linkValue));
-		} else if (homeAd.getLinkType() == 2) {
-			JSONObject obj = new JSONObject();
-			obj.put("url", linkValue);
-			ht.setClazz("com.weikou.beibeivideo.ui.mine.BrowserActivity");
-			ht.setVideo(new VideoInfo("1"));
-			ht.setParams(obj.toString());
-		} else if (homeAd.getLinkType() == 3) {
-			JSONObject obj = new JSONObject();
-			obj.put("id", linkValue);
-			Special se = specialService.getSpecial(linkValue);
-			if (se != null) {
-				obj.put("title", se.getName());
-			}
-			ht.setVideo(new VideoInfo("1"));
-			ht.setClazz("com.weikou.beibeivideo.ui.common.MVideosActivity");
-			ht.setParams(obj.toString());
-		}
+    @RequestMapping(value = "/deletesuperhomead", method = RequestMethod.POST)
+    public void deleteSuperHomeAd(long id, int detailsystem, PrintWriter out) {
+        homeAdService.deleteHomeAdAdmin(id + "", detailsystem + "");
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("msg", "鍒犻櫎鎴愬姛");
+        out.print(object);
+    }
 
-		homeAdService.updateHomeAd(ht);
+    @RequestMapping(value = "/addsuperhomead", method = RequestMethod.POST)
+    public void addSuperHomeAd(long id, int detailsystem, PrintWriter out) {
+        SuperHomeAd sht = new SuperHomeAd();
+        sht.setCreatetime(System.currentTimeMillis() + "");
+        sht.setDetailSystem(new DetailSystem(detailsystem + ""));
+        sht.setHomeAd(new HomeAd(id + ""));
+        homeAdService.addSuperHomeAd(sht);
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("msg", "娣诲姞鎴愬姛");
+        out.print(object);
+    }
 
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("msg", "鏇存敼鎴愬姛");
-		out.print(object);
-	}
+    @RequestMapping(value = "/deletehomead", method = RequestMethod.POST)
+    public void deleteHomeAd(String ids, PrintWriter out) {
+        String[] idStrs = ids.split(",");
+        for (String id : idStrs) {
+            homeAdService.deleteHomeAd(id);
+        }
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("msg", "鍒犻櫎鎴愬姛");
+        out.print(object);
+    }
 
-	@RequestMapping(value = "/addhomead", method = RequestMethod.POST)
-	public void addHomeAd(HomeAd homeAd, String linkValue, String detailsystemids, PrintWriter out) {
-		if (homeAd.getLinkType() == 1) {
-			homeAd.setVideo(new VideoInfo(linkValue));
-		} else if (homeAd.getLinkType() == 2) {
-			JSONObject obj = new JSONObject();
-			obj.put("url", linkValue);
-			homeAd.setClazz("com.weikou.beibeivideo.ui.mine.BrowserActivity");
-			homeAd.setVideo(new VideoInfo("1"));
-			homeAd.setParams(obj.toString());
-		} else if (homeAd.getLinkType() == 3) {
-			JSONObject obj = new JSONObject();
-			obj.put("id", linkValue);
-			Special se = specialService.getSpecial(linkValue);
-			if (se != null) {
-				obj.put("title", se.getName());
-			}
-			homeAd.setVideo(new VideoInfo("1"));
-			homeAd.setClazz("com.weikou.beibeivideo.ui.common.MVideosActivity");
-			homeAd.setParams(obj.toString());
-		}
-		homeAd.setCreatetime(System.currentTimeMillis() + "");
+    @RequestMapping(value = "/gethomead", method = RequestMethod.POST)
+    public void getHomeAd(String id, PrintWriter out) {
+        HomeAd ht = homeAdService.getHomeAdById(id);
+        String linkValue = "";
+        switch (ht.getLinkType()) {
+            case 1:
+                linkValue = ht.getVideo().getId();
+                break;
+            case 2:
+                linkValue = JSONObject.fromObject(ht.getParams()).optString("url");
+                break;
+            case 3:
+                linkValue = JSONObject.fromObject(ht.getParams()).optString("id");
+                break;
+        }
+        ht.setVideo(null);
+        ht.setAdmin(null);
+        ht.setSystem(null);
+        Gson gson = new GsonBuilder().create();
+        JSONObject obj = JSONObject.fromObject(gson.toJson(ht));
+        obj.put("linkValue", linkValue);
 
-		Serializable id = homeAdService.addHomeAd(homeAd);
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("data", obj);
+        out.print(object);
+    }
 
-		if (id != null && !StringUtil.isNullOrEmpty(detailsystemids)) {
-			homeAd.setId(id + "");
-			String[] dss = detailsystemids.split(",");
-			for (String did : dss) {
-				SuperHomeAd sht = new SuperHomeAd();
-				sht.setCreatetime(System.currentTimeMillis() + "");
-				sht.setDetailSystem(new DetailSystem(did));
-				sht.setHomeAd(new HomeAd(homeAd.getId()));
-				homeAdService.addSuperHomeAd(sht);
-			}
-		}
+    @RequestMapping(value = "/updatehomead", method = RequestMethod.POST)
+    public void updateHomeAd(HomeAd homeAd, String linkValue, PrintWriter out) {
+        HomeAd ht = homeAdService.getHomeAdById(homeAd.getId());
+        ht.setClazz(homeAd.getClazz());
+        ht.setIntroduction(homeAd.getIntroduction());
+        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) {
+            JSONObject obj = new JSONObject();
+            obj.put("url", linkValue);
+            ht.setClazz("com.weikou.beibeivideo.ui.mine.BrowserActivity");
+            ht.setVideo(new VideoInfo("1"));
+            ht.setParams(obj.toString());
+        } else if (homeAd.getLinkType() == 3) {
+            JSONObject obj = new JSONObject();
+            obj.put("id", linkValue);
+            Special se = specialService.getSpecial(linkValue);
+            if (se != null) {
+                obj.put("title", se.getName());
+            }
+            ht.setVideo(new VideoInfo("1"));
+            ht.setClazz("com.weikou.beibeivideo.ui.common.MVideosActivity");
+            ht.setParams(obj.toString());
+        }
 
-		JSONObject object = new JSONObject();
-		object.put("code", 0);
-		object.put("msg", "娣诲姞鎴愬姛");
-		out.print(object);
-	}
+        homeAdService.updateHomeAd(ht);
+
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("msg", "鏇存敼鎴愬姛");
+        out.print(object);
+    }
+
+    @RequestMapping(value = "/addhomead", method = RequestMethod.POST)
+    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) {
+            JSONObject obj = new JSONObject();
+            obj.put("url", linkValue);
+            homeAd.setClazz("com.weikou.beibeivideo.ui.mine.BrowserActivity");
+            homeAd.setVideo(new VideoInfo("1"));
+            homeAd.setParams(obj.toString());
+        } else if (homeAd.getLinkType() == 3) {
+            JSONObject obj = new JSONObject();
+            obj.put("id", linkValue);
+            Special se = specialService.getSpecial(linkValue);
+            if (se != null) {
+                obj.put("title", se.getName());
+            }
+            homeAd.setVideo(new VideoInfo("1"));
+            homeAd.setClazz("com.weikou.beibeivideo.ui.common.MVideosActivity");
+            homeAd.setParams(obj.toString());
+        }
+        homeAd.setCreatetime(System.currentTimeMillis() + "");
+        homeAd.setSystem(SystemUtil.getAdminSelectedSystem(session));
+        Serializable id = homeAdService.addHomeAd(homeAd);
+
+        if (id != null && !StringUtil.isNullOrEmpty(detailsystemids)) {
+            homeAd.setId(id + "");
+            String[] dss = detailsystemids.split(",");
+            for (String did : dss) {
+                SuperHomeAd sht = new SuperHomeAd();
+                sht.setCreatetime(System.currentTimeMillis() + "");
+                sht.setDetailSystem(new DetailSystem(did));
+                sht.setHomeAd(new HomeAd(homeAd.getId()));
+                homeAdService.addSuperHomeAd(sht);
+            }
+        }
+
+        JSONObject object = new JSONObject();
+        object.put("code", 0);
+        object.put("msg", "娣诲姞鎴愬姛");
+        out.print(object);
+    }
 
 }

--
Gitblit v1.8.0