package com.newvideo.controller.admin.api; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.commons.CommonsMultipartFile; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.newvideo.adapter.HotTypeAdminAdapter; import com.newvideo.domain.DetailSystem; import com.newvideo.domain.HotVideoType; import com.newvideo.domain.SuperHotType; import com.newvideo.domain.SuperVideoType; import com.newvideo.domain.VideoType; import com.newvideo.domain.web.HotTypeAdmin; import com.newvideo.service.imp.ClassService; import com.newvideo.service.imp.HotVideoTypeService; import com.newvideo.service.imp.SystemService; import com.newvideo.util.Constant; import com.newvideo.util.StringUtil; import com.newvideo.web.tag.PageEntity; @Controller @RequestMapping("admin/new/api/videoType") public class VideoTypeAdminController { @Resource private ClassService classService; @Resource private SystemService systemService; @Resource private HotVideoTypeService hotVideoTypeService; private static final String IMGPATH="/upload/class"; @RequestMapping("videoTypeList") public void videoTypeList(int pageIndex,int detailsystem,int pid,PrintWriter out) { if (pageIndex == 0) pageIndex = 1; List list = classService.getVideoTypeAdmin(detailsystem, pid, pageIndex); long count = classService.getVideoTypeAdminCount(detailsystem, pid); PageEntity pe = new PageEntity(); pe.setPageIndex(pageIndex); pe.setPageSize(Constant.pageCount); Map map = new HashMap(); map.put("pid", pid + ""); map.put("detailsystem", detailsystem + ""); pe.setParams(map); pe.setTotalCount((int) count); JSONObject json=new JSONObject(); json.put("code", "0"); json.put("pageEntity", pe); Gson gson =new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); json.put("videoTypeAdminList",gson.toJson(list)); out.print(json); return ; } @RequestMapping("setSuperVideoType") public void set(String type,String id,String icon,String detailSystem,PrintWriter out){ if("add".equals(type)){ SuperVideoType svt = new SuperVideoType(); svt.setCreatetime(System.currentTimeMillis() + ""); svt.setDetailSystem(new DetailSystem(detailSystem)); svt.setPicture(icon.trim()); svt.setType(new VideoType(Long.parseLong(id))); classService.addSuperVideoType(svt); out.print("yes"); }else if("delete".equals(type)){ classService.deleteVideoTypeAdmin(id, detailSystem); out.print("yes"); } } @RequestMapping("getVideoType") public void getVideoType(String id,PrintWriter out) { VideoType vt = classService.getType(Long.parseLong(id)); JSONObject json = new JSONObject(); json.put("code", "0"); json.put("videoType", vt); out.print(json); return ; } @RequestMapping("updateVideoType") public void updateVideoType(String id,String orderby,String name,String beizhu,String iconFile,String iconUrl,PrintWriter out) { System.out.println("id="+id); System.out.println("orderby="+orderby); System.out.println("name="+name); System.out.println("beizhu="+beizhu); System.out.println("iconUrl= "+iconUrl); VideoType vt = classService.getType(Long.parseLong(id)); vt.setOrderby(Integer.parseInt(orderby)); if (iconFile != null && !"".equals(iconFile.trim())) {// 保存图片 vt.setIcon(iconFile); } else { if (!StringUtil.isNullOrEmpty(iconUrl)) vt.setIcon(iconUrl); } vt.setName(name); vt.setBeizhu(beizhu); System.out.println("vt.getIcon()--"+vt.getIcon()); classService.updateType(vt); out.print("yes"); return ; } @RequestMapping("addVideoType") public void addVideoType(String pid,String orderby,String name,String beizhu,String iconFile,String iconUrl,PrintWriter out) { System.out.println("pid="+pid); System.out.println("orderby="+orderby); System.out.println("name="+name); System.out.println("beizhu="+beizhu); System.out.println("iconUrl= "+iconUrl); VideoType vt = new VideoType(); if (iconFile != null && !"".equals(iconFile.trim())) {// 保存图片 vt.setIcon(iconFile); } else { if (!StringUtil.isNullOrEmpty(iconUrl)) vt.setIcon(iconUrl); } vt.setName(name); vt.setBeizhu(beizhu); vt.setOrderby(Integer.parseInt(orderby)); vt.setCreatetime(String.valueOf(new Date().getTime())); vt.setShow("1"); if (!StringUtil.isNullOrEmpty(pid) && !pid.equalsIgnoreCase("0")) { vt.setParent(new VideoType(Long.parseLong(pid))); } System.out.println("vt.getIcon()--"+vt.getIcon()); classService.createType(vt); out.print("yes"); return ; } @RequestMapping(value="updateVideoTypeFile",method=RequestMethod.POST) public void updateVideoTypeFile(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request,PrintWriter out){ ServletContext servletContext = request.getSession().getServletContext(); JSONObject json=new JSONObject(); if(file != null){ String root=servletContext.getRealPath(IMGPATH); if (!new File(root).exists()){ new File(root).mkdirs(); } File newFile=new File(root+"/"+file.getOriginalFilename()); //通过CommonsMultipartFile的方法直接写文件(注意这个时候) try { file.transferTo(newFile); json.put("code", "0"); json.put("path", IMGPATH+"/"+newFile.getName()); } catch (IllegalStateException e) { e.printStackTrace(); json.put("code", "2"); } catch (IOException e) { e.printStackTrace(); json.put("code", "2"); }finally{ out.print(json); } }else{ json.put("code", "1"); out.print(json); } } @RequestMapping("deleteVideoType") public void deleteVideoType(String ids,PrintWriter out) { String[] idArr = ids.split(","); for (String id : idArr) { System.out.println("id=="+id); classService.deleteVideoType(id); } out.print("yes"); return; } @RequestMapping("/getHotVideoTypeList") public void getHotVideoTypeList(int page,int detailSystem,String key,PrintWriter out){ List list = hotVideoTypeService.getHotTypeAdmin(detailSystem,key,page); int count = hotVideoTypeService.getCount(detailSystem,key); PageEntity pe = new PageEntity(); pe.setTotalCount(count); pe.setPageIndex(page); pe.setPageSize(Constant.pageCount); Gson gson=new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); JSONObject root = new JSONObject(); root.put("code", "0"); root.put("pageEntity", pe); root.put("list", gson.toJson(list)); out.print(root); } @RequestMapping("/addHotVideoType") public void addHotVideoType(HotVideoType ht,PrintWriter out){ if(ht.getType().getId()==0){ JSONObject root = new JSONObject(); root.put("code", "1"); root.put("msg", "视频分类不能为空"); out.print(root); return; } ht.setAddType(1); hotVideoTypeService.addHotType(ht); JSONObject root = new JSONObject(); root.put("code", "0"); out.print(root); } @RequestMapping("/setSystemOfHotVideoType") public void setSystemOfHotVideoType(int type,SuperHotType sht,PrintWriter out){ if(type == 0){ hotVideoTypeService.addSuperHotType(sht); }else{ hotVideoTypeService.deleteSuperHotType(sht); } JSONObject root = new JSONObject(); root.put("code", "0"); out.print(root); } @RequestMapping("/deleteHotVideoType") public void deleteHotVideoType(String[] ids,PrintWriter out){ for (String id : ids) { hotVideoTypeService.deleteHotType(new HotVideoType(id)); } JSONObject root = new JSONObject(); root.put("code", "0"); out.print(root); } }