package com.zcloud.controller.bus; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSONObject; import com.zcloud.util.*; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import org.apache.shiro.authz.annotation.RequiresPermissions; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.service.bus.TokenService; import com.zcloud.service.bus.VidoManagerService; /** * 说明:视频管理 * 作者:luoxiaobao * 时间:2021-05-10 * 官网:www.zcloudchina.com */ @Controller @RequestMapping("/vidomanager") public class VidoManagerController extends BaseController { @Autowired private VidoManagerService vidomanagerService; @Autowired private TokenService tokenService; /**新增 * @param * @throws Exception */ @RequestMapping(value="/add") @RequiresPermissions("vidomanager:add") @ResponseBody public Object add(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("VIDOMANAGER_ID", this.get32UUID()); //主键 pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); pd.put("OPDATE", DateUtil.date2Str(new Date())); //操作日期 pd.put("OPUSER",Jurisdiction.getUsername()); //操作人 pd.put("ISDELETE", "0"); //是否删除 if (null != file && !file.isEmpty()) { String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) { errInfo = "fail"; map.put("result", errInfo); map.put("msg", "文件格式不正确!"); return map; } String ffile = DateUtil.getDays(); // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(file, fileName,Const.FILEPATHFXSST + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("FILEPATH", Const.FILEPATHFXSST + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } if(pd.get("ISSHOW") != null && Tools.notEmpty(pd.get("ISSHOW").toString()) && "1".equals(pd.get("ISSHOW").toString())) { PageData epd = new PageData(); epd.put("ISSHOW", '0'); epd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); vidomanagerService.editIsShowBycorpinfoid(epd); //根据ID读取 } vidomanagerService.save(pd); map.put("result", errInfo); return map; } /**删除 * @param out * @throws Exception */ @RequestMapping(value="/delete") @RequiresPermissions("vidomanager:del") @ResponseBody public Object delete() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); vidomanagerService.delete(pd); map.put("result", errInfo); //返回结果 return map; } /**修改 * @param * @throws Exception */ @RequestMapping(value="/edit") @RequiresPermissions("vidomanager:edit") @ResponseBody public Object edit(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); if (null != file && !file.isEmpty()) { String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) { errInfo = "fail"; map.put("result", errInfo); map.put("msg", "文件格式不正确!"); return map; } String ffile = DateUtil.getDays(); // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(file, fileName,Const.FILEPATHFXSST + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("FILEPATH", Const.FILEPATHFXSST + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } if(pd.get("ISSHOW") != null && Tools.notEmpty(pd.get("ISSHOW").toString()) && "1".equals(pd.get("ISSHOW").toString())) { PageData epd = new PageData(); epd.put("ISSHOW", '0'); epd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); vidomanagerService.editIsShowBycorpinfoid(epd); //根据ID读取 } vidomanagerService.edit(pd); map.put("result", errInfo); return map; } /**列表 * @param page * @throws Exception */ @RequestMapping(value="/list") @RequiresPermissions("vidomanager:list") @ResponseBody public Object list(Page page) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); page.setPd(pd); List varList = vidomanagerService.list(page); //列出VidoManager列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } @RequestMapping(value="/getISshow") @ResponseBody public Object getISshow() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); pd.put("ISSHOW", "1"); List varList = vidomanagerService.listAll(pd); //根据ID读取 List tList =tokenService.listAll(pd); if(tList.size()!=0){ System.out.println(tList.get(0).getString("TOKEN")); map.put("token", tList.get(0).getString("TOKEN")); // 萤石云获取token 临时 } if(varList !=null && varList.size() > 0 && varList.get(0) != null && varList.get(0).get("VIDOMANAGER_ID") != null && "de980a62b5214a8b8f5ceb61c01ae0cb".equals(varList.get(0).get("VIDOMANAGER_ID").toString())){ String url = "https://open.ys7.com/api/lapp/token/get"; NameValuePair pair1 = new BasicNameValuePair("appKey", "d56a9a9673754e52b8cdc08d45778684"); NameValuePair pair2 = new BasicNameValuePair("appSecret", "2a0b2311b714000cedc817633c1e8760"); List paramsList = new ArrayList(); paramsList.add(pair1); paramsList.add(pair2); Object result2 = HttpClientService.sendPostNoAccept(url, paramsList); JSONObject json=(JSONObject) JSONObject.toJSON(result2); map.put("token1", json.getJSONObject("data").getString("accessToken")); } map.put("pd", pd); map.put("varList", varList); map.put("result", errInfo); return map; } @RequestMapping(value="/editIsShow") @ResponseBody public Object editIsShow() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); PageData epd = new PageData(); epd.put("ISSHOW", '0'); epd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); vidomanagerService.editIsShowBycorpinfoid(epd); //根据ID读取 pd.put("ISSHOW", '1'); vidomanagerService.editIsShow(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEdit") @RequiresPermissions("vidomanager:edit") @ResponseBody public Object goEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = vidomanagerService.findById(pd); //根据ID读取 // 萤石云获取token 临时 if(pd != null && pd.get("VIDOMANAGER_ID") != null && "de980a62b5214a8b8f5ceb61c01ae0cb".equals(pd.get("VIDOMANAGER_ID").toString())){ String url = "https://open.ys7.com/api/lapp/token/get"; NameValuePair pair1 = new BasicNameValuePair("appKey", "d56a9a9673754e52b8cdc08d45778684"); NameValuePair pair2 = new BasicNameValuePair("appSecret", "2a0b2311b714000cedc817633c1e8760"); List paramsList = new ArrayList(); paramsList.add(pair1); paramsList.add(pair2); Object result2 = HttpClientService.sendPostNoAccept(url, paramsList); JSONObject json=(JSONObject) JSONObject.toJSON(result2); map.put("token", json.getJSONObject("data").getString("accessToken")); } map.put("pd", pd); map.put("result", errInfo); return map; } @RequestMapping(value="/govido") @ResponseBody public Object govido() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = vidomanagerService.findById(pd); //根据ID读取 List varList =tokenService.listAll(pd); pd.put("token", varList.get(0).getString("TOKEN")); map.put("pd", pd); map.put("result", errInfo); return map; } @RequestMapping(value="/govidoall") @ResponseBody public Object govidoall() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); List vidoList = vidomanagerService.listAll(pd); //根据ID读取 String vidostr=""; for(PageData vido:vidoList) { vidostr+=vido.getString("VIDOURL")+","; } List varList =tokenService.listAll(pd); pd.put("token", varList.get(0).getString("TOKEN")); map.put("pd", pd); map.put("vidostr", vidostr.substring(0, vidostr.length()-1)); map.put("count", vidoList.size()); map.put("result", errInfo); return map; } /**批量删除 * @param * @throws Exception */ @RequestMapping(value="/deleteAll") @RequiresPermissions("vidomanager:del") @ResponseBody public Object deleteAll() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); String DATA_IDS = pd.getString("DATA_IDS"); if(Tools.notEmpty(DATA_IDS)){ String ArrayDATA_IDS[] = DATA_IDS.split(","); vidomanagerService.deleteAll(ArrayDATA_IDS); errInfo = "success"; }else{ errInfo = "fail"; } map.put("result", errInfo); //返回结果 return map; } /**导出到excel * @param * @throws Exception */ @RequestMapping(value="/excel") @RequiresPermissions("toExcel") public ModelAndView exportExcel() throws Exception{ ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); Map dataMap = new HashMap(); List titles = new ArrayList(); titles.add("企业ID"); //1 titles.add("视频名称"); //2 titles.add("播放地址"); //3 titles.add("操作日期"); //4 titles.add("操作人"); //5 titles.add("是否删除"); //6 dataMap.put("titles", titles); List varOList = vidomanagerService.listAll(pd); List varList = new ArrayList(); for(int i=0;i map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); String DATA_IDS = pd.getString("DATA_IDS"); if(Tools.notEmpty(DATA_IDS)){ String ArrayDATA_IDS[] = DATA_IDS.split(","); pd.put("ArrayDATA_IDS", ArrayDATA_IDS); } List videoList = vidomanagerService.listAll(pd); //根据ID读取 map.put("videoList", videoList); map.put("result", errInfo); return map; } }