371 lines
13 KiB
Java
371 lines
13 KiB
Java
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;
|
||
}
|
||
|
||
}
|