课件资源库

dev
zhangyue 2024-05-15 14:07:50 +08:00
parent 5e4a997f33
commit 244241b14e
1 changed files with 706 additions and 0 deletions

View File

@ -0,0 +1,706 @@
package com.zcloud.controller.eduBus;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.service.eduBus.ChapterService;
import com.zcloud.service.eduBus.CurriculumService;
import com.zcloud.service.eduBus.VideoCoursewareService;
import com.zcloud.service.eduGateway.SynchronizeInformationService;
import com.zcloud.service.eduSystem.AnalysisService;
import com.zcloud.util.*;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author fangjiakai
* @date 2022/9/19/019 11:56
*/
@Controller
@RequestMapping("/videoRes")
public class VideoResController extends BaseController {
@Value("${customer.id}")
private String customerId;
@Value("${customer.SECRET_KEY}")
private String customer_secret_key;
@Value("${customer.url}")
private String url;
@Value("${customer.domain}")
private String domain;
@Autowired
private CurriculumService curriculumService;
@Autowired
private VideoCoursewareService videoCoursewareService;
@Autowired
private ChapterService chapterService;
@Autowired
private SynchronizeInformationService synchronizeInformationService;
// @Autowired
// private DockingCurriculumService dockingCurriculumService;
@Autowired
private AnalysisService analysisService;
// @Resource
// private ViedoResService viedoResService;
@Autowired
private InitPageDataUtil initPageDataUtil;
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/list")
@RequiresPermissions("videoRes: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());
}
page.setPd(pd);
Map<String, String> request = new HashMap<String, String>();
request.put("id", this.customerId);
String key = MD5.md5(this.customer_secret_key + domain);
request.put("SECRET_KEY", key);
request.put("KEYWORDS", KEYWORDS);
request.put("showCount", String.valueOf(page.getShowCount()));
request.put("currentPage", String.valueOf(page.getCurrentPageInit()));
String response = HttpRequestUtil.doPost(url + "/curriculum/getCurList", JSONObject.toJSONString(request));
JSONObject responseResult = JSONObject.parseObject(response);
if (responseResult != null && responseResult.get("code") != null && Tools.notEmpty(responseResult.get("code").toString()) && "0".equals(responseResult.get("code"))) {
map.put("varList", responseResult.getJSONArray("curriculumList"));
map.put("page", responseResult.getJSONObject("page"));
} else {
map.put("message", "请求出错,请联系管理员。");
}
// List<PageData> varList = videocoursewareService.list(page); //列出VideoCourseware列表
// map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param page
* @throws Exception
*/
// @RequestMapping(value = "/updNow")
// @RequiresPermissions("videoRes:list")
// @ResponseBody
// public Object updNow(Page page) throws Exception {
// Map<String, Object> map = new HashMap<String, Object>();
// String errInfo = "success";
// PageData pd = new PageData();
// pd = this.getPageData();
// pd.put("id", this.customerId);
// String key = MD5.md5(this.customer_secret_key + domain);
// pd.put("SECRET_KEY", key);
// pd.put("KEYWORDS", "2023尼特智能科技股份有限公司车间班组级安全教育培训");
//
// String msg = viedoResService.updAllNow(pd);
// if (StringUtils.isNotEmpty(msg)) {
// map.put("result", "error");
// map.put("message", msg);
// } else {
// map.put("result", errInfo);
//
// }
// return map;
// }
/**
*
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/upgradeVideoList")
@RequiresPermissions("videoRes:list")
@ResponseBody
public Object upgradeVideoList(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());
page.setPd(pd);
Map<String, String> request = new HashMap<String, String>();
request.put("id", this.customerId);
String key = MD5.md5(this.customer_secret_key + domain);
request.put("SECRET_KEY", key);
request.put("KEYWORDS", KEYWORDS);
request.put("showCount", String.valueOf(page.getShowCount()));
request.put("currentPage", String.valueOf(page.getCurrentPageInit()));
String response = HttpRequestUtil.doPost(url + "/videoCourseware/getUpgradeVideoList", JSONObject.toJSONString(request));
JSONObject responseResult = JSONObject.parseObject(response);
if (responseResult != null && responseResult.get("code") != null && Tools.notEmpty(responseResult.get("code").toString()) && "0".equals(responseResult.get("code"))) {
map.put("page", responseResult.getJSONObject("page"));
List<PageData> list = analysisService.analysisVideoList(responseResult.getJSONArray("videoList"));
map.put("varList", list);
} else {
map.put("message", "请求出错,请联系管理员。");
}
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goEdit")
@RequiresPermissions("videoRes: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();
Map<String, String> request = new HashMap<String, String>();
request.put("CURRICULUM_ID", pd.get("CURRICULUM_ID").toString());
request.put("id", this.customerId);
String key = MD5.md5(this.customer_secret_key + domain);
request.put("SECRET_KEY", key);
String response = HttpRequestUtil.doPost(url + "/curriculum/getCurInfo", JSONObject.toJSONString(request));
JSONObject responseResult = JSONObject.parseObject(response);
if (responseResult != null && responseResult.get("code") != null && Tools.notEmpty(responseResult.get("code").toString()) && "0".equals(responseResult.get("code"))) {
map.put("pd", responseResult.getJSONObject("pd"));
map.put("chapterList", responseResult.getJSONArray("chapterList"));
} else {
errInfo = "warning";
map.put("message", "请求出错,请联系管理员。");
}
// map.put("chapterList", chapterList);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goVideoEdit")
@ResponseBody
public Object goVideoEdit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("TYPE", "1");
JSONObject response = synchronizeInformationService.syncVideoInfo(pd);
if (response != null) {
if (response.get("code") != null && Tools.notEmpty(response.get("code").toString()) && "0".equals(response.get("code"))) {
map.put("pd", response.getJSONObject("video"));
} else {
errInfo = "warning";
map.put("message", response.get("errorMessage"));
}
} else {
errInfo = "warning";
map.put("message", "请求出错,请联系管理员。");
}
// map.put("chapterList", chapterList);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/syncCurriculum")
@RequiresPermissions("videoRes:edit")
@ResponseBody
public Object syncCurriculum() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData curRemote = new PageData();
curRemote.put("CURRICULUM_ID_REMOTE", pd.get("CURRICULUM_ID"));
// 验证是否添加过此课程
PageData curriculumRes = curriculumService.findByRemoteId(curRemote);
if (curriculumRes != null && curriculumRes.get("CURRICULUM_ID") != null && Tools.notEmpty(curriculumRes.get("CURRICULUM_ID").toString())) {
map.put("message", "该课程已添加。无需二次添加。");
errInfo = "warning";
} else {
Map<String, String> request = new HashMap<String, String>();
request.put("CURRICULUM_ID", pd.get("CURRICULUM_ID").toString());
request.put("id", this.customerId);
String key = MD5.md5(this.customer_secret_key + domain);
request.put("SECRET_KEY", key);
String response = HttpRequestUtil.doPost(url + "/curriculum/getCurInfo", JSONObject.toJSONString(request));
JSONObject responseResult = JSONObject.parseObject(response);
if (responseResult != null && responseResult.get("code") != null && Tools.notEmpty(responseResult.get("code").toString()) && "0".equals(responseResult.get("code"))) {
JSONObject curricullum = responseResult.getJSONObject("pd");
List<JSONObject> chapterList = JSON.parseArray(responseResult.getString("chapterList"), JSONObject.class);
PageData cur = new PageData();
PageData idDate = new PageData();
// 保存课程
if (curricullum != null && curricullum.get("CURRICULUM_ID") != null) {
cur.put("CURRICULUM_ID", this.get32UUID());
cur.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID"));
cur.put("CLASSHOUR", curricullum.getString("CLASSHOUR"));
cur.put("CURRICULUMNAME", curricullum.getString("CURRICULUMNAME"));
cur.put("CURRICULUMINTRODUCE", curricullum.getString("CURRICULUMINTRODUCE"));
cur.put("CATALOGUELEVEL", curricullum.getString("CATALOGUELEVEL"));
cur.put("VIDEOTIME", curricullum.getString("VIDEOTIME"));
cur.put("COLLECTIVE", 0);
cur.put("ISDELETE", "0");
cur.put("ISSELL", "0");
cur.put("VALID_DATE", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
cur.put("CREATOR", Jurisdiction.getUsername()); //添加人
cur.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
cur.put("OPERATOR", Jurisdiction.getUsername()); //修改人
cur.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
cur.put("ISCOMPLETE", "0");
cur.put("STATE", "1");
curriculumService.save(cur);
// 加入本地
initPageDataUtil.initEdit(pd);
// dockingCurriculumService.addLocal(pd);
}
idDate.put("CURRICULUM_ID", cur.get("CURRICULUM_ID"));
// 保存章节及视频
if (chapterList != null && chapterList.size() > 0) {
for (JSONObject chapter : chapterList) {
PageData video = new PageData();
// todo 关联课件时,查询课件是否保存过,如果没保存过,进行保存 2023-04-03 修改为 保存一次课程 就保存其中的课件 并把 课程的过期时间 赋给课件
if (chapter.get("VIDEOCOURSEWARE_ID") != null && Tools.notEmpty(chapter.get("VIDEOCOURSEWARE_ID").toString())) {
chapter.put("SOURCE", "2");
chapter.put("LIMIT_TIME", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
chapter.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID")); //存储原课程ID
video = saveOrUpdateVideo(chapter);
} else {
video.put("VIDEOCOURSEWARE_ID", "");
}
idDate.put("pid", "0");
idDate.put("VIDEOCOURSEWARE_ID", video.getString("VIDEOCOURSEWARE_ID"));
// 保存章节数据
PageData cha = saveChapter(chapter, idDate);
// 查看是否有下级章节
if (chapter.get("nodes") != null && Tools.notEmpty(chapter.get("nodes").toString())) {
List<JSONObject> nodes = (List<JSONObject>) JSON.parse(chapter.get("nodes").toString());
if (nodes != null && nodes.size() > 0) {
for (JSONObject node : nodes) {
PageData childVideo = new PageData();
// 关联课件时,查询课件是否保存过,如果没保存过,进行保存
if (node.get("VIDEOCOURSEWARE_ID") != null && Tools.notEmpty(node.get("VIDEOCOURSEWARE_ID").toString())) {
node.put("SOURCE", "2");
node.put("LIMIT_TIME", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
node.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID")); //存储原课程ID
childVideo = saveOrUpdateVideo(node);
PageData sdafas = new PageData();
PageData sdafas1 = new PageData();
System.out.println(sdafas1);
} else {
childVideo.put("VIDEOCOURSEWARE_ID", "");
}
idDate.put("pid", cha.getString("CHAPTER_ID"));
idDate.put("VIDEOCOURSEWARE_ID", childVideo.getString("VIDEOCOURSEWARE_ID"));
// 保存章节数据
PageData childCha = saveChapter(node, idDate);
}
}
}
}
}
} else {
errInfo = "warning";
map.put("message", "请求出错,请联系管理员。");
}
}
map.put("result", errInfo);
return map;
}
// /**
// * 批量添加课程
// *
// * @param
// * @throws Exception
// */
// @RequestMapping(value = "/batchAddCourses")
// @RequiresPermissions("videoRes:edit")
// @ResponseBody
// public Object batchAddCourses() throws Exception {
//
// Map<String, Object> map = new HashMap<String, Object>();
// String errInfo = "success";
// PageData data = new PageData();
// data = this.getPageData();
// data.put("COLLECTIVE","1");
// data.put("CURRICULUM_ID","1");
// data.put("ISDELETE","1");
// curriculumService.save(data);
//
// map.put("result", errInfo);
// return map;
// }
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/batchAddCourses")
@RequiresPermissions("videoRes:edit")
@ResponseBody
@Transactional
public Object batchAddCourses() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData data = new PageData();
data = this.getPageData();
List<PageData> idList = JSONObject.parseArray(data.getString("idList"), PageData.class);
for (PageData pd : idList) {
PageData curRemote = new PageData();
curRemote.put("CURRICULUM_ID_REMOTE", pd.get("CURRICULUM_ID"));
// 验证是否添加过此课程
PageData curriculumRes = curriculumService.findByRemoteId(curRemote);
if (curriculumRes != null && curriculumRes.get("CURRICULUM_ID") != null && Tools.notEmpty(curriculumRes.get("CURRICULUM_ID").toString())) {
map.put("message", "该课程已添加。无需二次添加。");
errInfo = "warning";
} else {
Map<String, String> request = new HashMap<String, String>();
request.put("CURRICULUM_ID", pd.get("CURRICULUM_ID").toString());
request.put("id", this.customerId);
String key = MD5.md5(this.customer_secret_key + domain);
request.put("SECRET_KEY", key);
String response = HttpRequestUtil.doPost(url + "/curriculum/getCurInfo", JSONObject.toJSONString(request));
JSONObject responseResult = JSONObject.parseObject(response);
if (responseResult != null && responseResult.get("code") != null && Tools.notEmpty(responseResult.get("code").toString()) && "0".equals(responseResult.get("code"))) {
JSONObject curricullum = responseResult.getJSONObject("pd");
List<JSONObject> chapterList = JSON.parseArray(responseResult.getString("chapterList"), JSONObject.class);
PageData cur = new PageData();
PageData idDate = new PageData();
// 保存课程
if (curricullum != null && curricullum.get("CURRICULUM_ID") != null) {
cur.put("CURRICULUM_ID", this.get32UUID());
cur.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID"));
cur.put("CLASSHOUR", curricullum.getString("CLASSHOUR"));
cur.put("CURRICULUMNAME", curricullum.getString("CURRICULUMNAME"));
cur.put("CURRICULUMINTRODUCE", curricullum.getString("CURRICULUMINTRODUCE"));
cur.put("CATALOGUELEVEL", curricullum.getString("CATALOGUELEVEL"));
cur.put("VIDEOTIME", curricullum.getString("VIDEOTIME"));
cur.put("COLLECTIVE", 0);
cur.put("ISDELETE", "0");
cur.put("ISSELL", "0");
cur.put("VALID_DATE", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
cur.put("CREATOR", Jurisdiction.getUsername()); //添加人
cur.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
cur.put("OPERATOR", Jurisdiction.getUsername()); //修改人
cur.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
cur.put("ISCOMPLETE", "0");
cur.put("STATE", "1");
curriculumService.save(cur);
// 加入本地
initPageDataUtil.initEdit(pd);
// dockingCurriculumService.addLocal(pd);
}
idDate.put("CURRICULUM_ID", cur.get("CURRICULUM_ID"));
// 保存章节及视频
if (chapterList != null && chapterList.size() > 0) {
for (JSONObject chapter : chapterList) {
PageData video = new PageData();
// todo 关联课件时,查询课件是否保存过,如果没保存过,进行保存 2023-04-03 修改为 保存一次课程 就保存其中的课件 并把 课程的过期时间 赋给课件
if (chapter.get("VIDEOCOURSEWARE_ID") != null && Tools.notEmpty(chapter.get("VIDEOCOURSEWARE_ID").toString())) {
chapter.put("SOURCE", "2");
chapter.put("LIMIT_TIME", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
chapter.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID")); //存储原课程ID
video = saveOrUpdateVideo(chapter);
} else {
video.put("VIDEOCOURSEWARE_ID", "");
}
idDate.put("pid", "0");
idDate.put("VIDEOCOURSEWARE_ID", video.getString("VIDEOCOURSEWARE_ID"));
// 保存章节数据
PageData cha = saveChapter(chapter, idDate);
// 查看是否有下级章节
if (chapter.get("nodes") != null && Tools.notEmpty(chapter.get("nodes").toString())) {
List<JSONObject> nodes = (List<JSONObject>) JSON.parse(chapter.get("nodes").toString());
if (nodes != null && nodes.size() > 0) {
for (JSONObject node : nodes) {
PageData childVideo = new PageData();
// 关联课件时,查询课件是否保存过,如果没保存过,进行保存
if (node.get("VIDEOCOURSEWARE_ID") != null && Tools.notEmpty(node.get("VIDEOCOURSEWARE_ID").toString())) {
node.put("SOURCE", "2");
node.put("LIMIT_TIME", Tools.isEmpty(curricullum.getString("VALID_DATE")) ? "" : curricullum.getString("VALID_DATE"));
node.put("CURRICULUM_ID_REMOTE", curricullum.get("CURRICULUM_ID")); //存储原课程ID
childVideo = saveOrUpdateVideo(node);
} else {
childVideo.put("VIDEOCOURSEWARE_ID", "");
}
idDate.put("pid", cha.getString("CHAPTER_ID"));
idDate.put("VIDEOCOURSEWARE_ID", childVideo.getString("VIDEOCOURSEWARE_ID"));
// 保存章节数据
PageData childCha = saveChapter(node, idDate);
}
}
}
}
}
} else {
errInfo = "warning";
map.put("message", "请求出错,请联系管理员。");
}
}
}
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/syncVideo")
@RequiresPermissions("videoRes:edit")
@ResponseBody
public Object syncVideo() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData videoRemote = new PageData();
videoRemote.put("VIDEOCOURSEWARE_ID_REMOTE", pd.get("VIDEOCOURSEWARE_ID"));
// 验证是否添加过此课程
PageData videoRes = videoCoursewareService.findByRemoteId(videoRemote);
if (videoRes != null && videoRes.get("VIDEOCOURSEWARE_ID") != null && Tools.notEmpty(videoRes.get("VIDEOCOURSEWARE_ID").toString())) {
map.put("message", "该课件已添加。无需二次添加。");
errInfo = "warning";
} else {
pd.put("TYPE", "1");
JSONObject response = synchronizeInformationService.syncVideoInfo(pd);
if (response != null) {
if (response.get("code") != null && Tools.notEmpty(response.get("code").toString()) && "0".equals(response.get("code"))) {
JSONObject v = response.getJSONObject("video");
PageData video = new PageData();
video.put("VIDEOCOURSEWARE_ID_REMOTE", pd.get("VIDEOCOURSEWARE_ID"));
video.put("VIDEOCOURSEWARE_ID", this.get32UUID());
video.put("ISDELETE", "0");
video.put("CREATOR", Jurisdiction.getUsername()); //添加人
video.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
video.put("OPERATOR", Jurisdiction.getUsername()); //修改人
video.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
video.put("STATE", "0");
video.put("LIMIT_TIME", Tools.isEmpty(pd.getString("LIMIT_TIME")) ? "" : pd.getString("LIMIT_TIME"));
video.put("ISCOMPLETE", "0");
video.put("COURSEWARENAME", v.get("COURSEWARENAME"));
video.put("COURSEWAREINTRODUCE", v.get("COURSEWAREINTRODUCE"));
video.put("VIDEOFILES", v.get("VIDEOFILES"));
video.put("CLASSHOUR", v.get("CLASSHOUR"));
video.put("VIDEOTIME", v.get("VIDEOTIME"));
video.put("SOURCE", "3");
videoCoursewareService.save(video);
} else {
errInfo = "warning";
map.put("message", response.get("errorMessage"));
}
} else {
errInfo = "warning";
map.put("message", "请求出错,请联系管理员。");
}
}
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/getVideoPlayAuth")
@ResponseBody
public Object getVideoPlayAuth() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData playAuth = synchronizeInformationService.syncVideoPlayAuth(pd);
if (playAuth != null) {
if (playAuth.get("code") != null && "0".equals(playAuth.get("code"))) {
map.put("playAuth", playAuth.get("PlayAuth"));
map.put("message", "获取成功。");
} else {
map.put("message", playAuth.get("errorMessage"));
errInfo = "warning";
}
} else {
map.put("message", "获取失败,请联系管理员。");
errInfo = "warning";
}
// map.put("chapterList", chapterList);
map.put("result", errInfo);
return map;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/syncVideoPlayInfo")
@ResponseBody
public Object syncVideoPlayInfo() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
JSONObject playInfo = synchronizeInformationService.syncVideoPlayInfo(pd);
if (playInfo != null) {
if (playInfo.get("code") != null && "0".equals(playInfo.get("code"))) {
map.put("urlList", playInfo.get("urlList"));
map.put("message", "获取成功。");
} else {
map.put("message", playInfo.get("errorMessage"));
errInfo = "warning";
}
} else {
map.put("message", "获取失败,请联系管理员。");
errInfo = "warning";
}
map.put("result", errInfo);
return map;
}
private PageData saveChapter(JSONObject oldCha, PageData idDate) throws Exception {
PageData newCha = new PageData();
newCha.put("CHAPTER_ID", this.get32UUID());
newCha.put("CHAPTER_ID_REMOTE", oldCha.get("CHAPTER_ID"));
newCha.put("CURRICULUM_ID", idDate.get("CURRICULUM_ID"));
newCha.put("ISDELETE", "0");
newCha.put("CREATOR", Jurisdiction.getUsername()); //添加人
newCha.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
newCha.put("OPERATOR", Jurisdiction.getUsername()); //修改人
newCha.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
newCha.put("NAME", oldCha.getString("NAME"));
newCha.put("SORT", oldCha.getString("SORT"));
newCha.put("PARENT_ID", idDate.get("pid"));
newCha.put("COURSEWARENAME", oldCha.getString("COURSEWARENAME"));
newCha.put("VIDEOFILES", oldCha.getString("VIDEOFILES"));
if (oldCha.get("nodes") == null) {
DecimalFormat df = new DecimalFormat("#.0");
Double videoTime = Double.valueOf(oldCha.getString("VIDEOTIME"));
newCha.put("CLASSHOUR", df.format(videoTime / 60 / 45));
}
newCha.put("VIDEOTIME", oldCha.getString("VIDEOTIME"));
newCha.put("VIDEOCOURSEWARE_ID", idDate.get("VIDEOCOURSEWARE_ID"));
chapterService.save(newCha);
return newCha;
}
private PageData saveVideo(JSONObject oldCha) throws Exception {
// 直接保存课件
PageData video = new PageData();
video.put("VIDEOCOURSEWARE_ID_REMOTE", oldCha.get("VIDEOCOURSEWARE_ID"));
video.put("VIDEOCOURSEWARE_ID", this.get32UUID());
video.put("ISDELETE", "0");
video.put("CREATOR", Jurisdiction.getUsername()); //添加人
video.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
video.put("OPERATOR", Jurisdiction.getUsername()); //修改人
video.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
video.put("STATE", "0");
video.put("LIMIT_TIME", oldCha.getString("LIMIT_TIME"));
video.put("ISCOMPLETE", "0");
video.put("COURSEWARENAME", oldCha.get("COURSEWARENAME"));
video.put("COURSEWAREINTRODUCE", oldCha.get("COURSEWAREINTRODUCE"));
video.put("VIDEOFILES", oldCha.get("VIDEOFILES"));
video.put("CLASSHOUR", oldCha.get("CLASSHOUR"));
video.put("VIDEOTIME", oldCha.get("VIDEOTIME"));
video.put("SOURCE", oldCha.get("SOURCE"));
video.put("CURRICULUM_ID_REMOTE", oldCha.get("CURRICULUM_ID_REMOTE"));
videoCoursewareService.save(video);
return video;
}
private PageData saveOrUpdateVideo(JSONObject oldCha) throws Exception {
// 查询课件是否加入过本地
PageData oldVideo = new PageData();
oldVideo.put("VIDEOCOURSEWARE_ID_REMOTE", oldCha.get("VIDEOCOURSEWARE_ID"));
oldVideo = videoCoursewareService.findByRemoteId(oldVideo);
if(oldVideo != null && Tools.notEmpty(oldVideo.getString("VIDEOCOURSEWARE_ID"))){ // 已经保存过,判断期限,并保存
if(Tools.notEmpty(oldCha.getString("LIMIT_TIME"))){
boolean timeBoolean = DateUtil.compareDate(oldCha.getString("LIMIT_TIME"), oldVideo.getString("LIMIT_TIME"));
if(timeBoolean){
oldVideo.put("LIMIT_TIME", oldCha.getString("LIMIT_TIME"));
oldVideo.put("CURRICULUM_ID_REMOTE", oldCha.getString("CURRICULUM_ID_REMOTE"));
initPageDataUtil.initEdit(oldVideo);
videoCoursewareService.editLimitDate(oldVideo);
}
}
// video = oldVideo;
return oldVideo;
} else { // 之前未存过,直接保存
return saveVideo(oldCha);
}
}
}