qa-prevention-gwj/src/main/java/com/zcloud/controller/bus/VidoManagerController.java

371 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<String,Object> map = new HashMap<String,Object>();
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<String,String> map = new HashMap<String,String>();
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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<PageData> 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<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
pd.put("ISSHOW", "1");
List<PageData> varList = vidomanagerService.listAll(pd); //根据ID读取
List<PageData> 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<NameValuePair> paramsList = new ArrayList<NameValuePair>();
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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<NameValuePair> paramsList = new ArrayList<NameValuePair>();
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<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = vidomanagerService.findById(pd); //根据ID读取
List<PageData> 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<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
List<PageData> vidoList = vidomanagerService.listAll(pd); //根据ID读取
String vidostr="";
for(PageData vido:vidoList) {
vidostr+=vido.getString("VIDOURL")+",";
}
List<PageData> 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<String,Object> map = new HashMap<String,Object>();
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<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
titles.add("企业ID"); //1
titles.add("视频名称"); //2
titles.add("播放地址"); //3
titles.add("操作日期"); //4
titles.add("操作人"); //5
titles.add("是否删除"); //6
dataMap.put("titles", titles);
List<PageData> varOList = vidomanagerService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for(int i=0;i<varOList.size();i++){
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("CORPINFO_ID")); //1
vpd.put("var2", varOList.get(i).getString("VIDONAME")); //2
vpd.put("var3", varOList.get(i).getString("VIDOURL")); //3
vpd.put("var4", varOList.get(i).getString("OPDATE")); //4
vpd.put("var5", varOList.get(i).getString("OPUSER")); //5
vpd.put("var6", varOList.get(i).getString("ISDELETE")); //6
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
@RequestMapping(value="/goAllVideo")
@ResponseBody
public Object goAllVideo() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
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<PageData> videoList = vidomanagerService.listAll(pd); //根据ID读取
map.put("videoList", videoList);
map.put("result", errInfo);
return map;
}
}