package com.newvideo.controller.admin.api; import java.io.PrintWriter; import java.io.Serializable; import java.util.List; import javax.annotation.Resource; 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.newvideo.domain.DetailSystem; import com.newvideo.domain.HomeAd; import com.newvideo.domain.SuperHomeAd; import com.newvideo.domain.VideoInfo; import com.newvideo.domain.special.Special; import com.newvideo.domain.web.DetailSystemSelect; import com.newvideo.domain.web.HomeAdAdmin; import com.newvideo.service.imp.HomeAdService; import com.newvideo.service.imp.SpecialService; import com.newvideo.util.Constant; import com.newvideo.util.StringUtil; import com.newvideo.web.tag.PageEntity; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller @RequestMapping("admin/new/api/homebanner") public class HomeBannerController { @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; List list = homeAdService.getHomeAdAdmin(key, detailsystem, page); 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); JSONObject object = new JSONObject(); object.put("code", 0); object.put("data", data); out.print(object); } @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); } @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); } @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 = "/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 object = new JSONObject(); object.put("code", 0); object.put("data", obj); 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()); } 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, 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() + ""); 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); } }