Commit 4593c890f955d2172baba2d011d9856f017f30fe
Merge branch 'v532' into 'master'
添加直播回放act See merge request !7
Showing
12 changed files
with
68 additions
and
252 deletions
.settings/org.eclipse.wst.common.component
| @@ -8,10 +8,16 @@ | @@ -8,10 +8,16 @@ | ||
| 8 | <dependent-module archiveName="cnlive_live_model-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/cnlive_live_model/cnlive_live_model"> | 8 | <dependent-module archiveName="cnlive_live_model-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/cnlive_live_model/cnlive_live_model"> |
| 9 | <dependency-type>uses</dependency-type> | 9 | <dependency-type>uses</dependency-type> |
| 10 | </dependent-module> | 10 | </dependent-module> |
| 11 | - <dependent-module archiveName="cnlive_ks3-1.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/cnlive_ks3/cnlive_ks3"> | 11 | + <dependent-module archiveName="smart-framework-4.0.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/smart-framework/smart-framework"> |
| 12 | <dependency-type>uses</dependency-type> | 12 | <dependency-type>uses</dependency-type> |
| 13 | </dependent-module> | 13 | </dependent-module> |
| 14 | - <dependent-module archiveName="smart-framework-4.0.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/smart-framework/smart-framework"> | 14 | + <dependent-module archiveName="smart-plugin-dbcp-1.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/smart-plugin-dbcp/smart-plugin-dbcp"> |
| 15 | + <dependency-type>uses</dependency-type> | ||
| 16 | + </dependent-module> | ||
| 17 | + <dependent-module archiveName="smart-plugin-rest-1.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/smart-plugin-rest/smart-plugin-rest"> | ||
| 18 | + <dependency-type>uses</dependency-type> | ||
| 19 | + </dependent-module> | ||
| 20 | + <dependent-module archiveName="smart-plugin-i18n-1.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/smart-plugin-i18n/smart-plugin-i18n"> | ||
| 15 | <dependency-type>uses</dependency-type> | 21 | <dependency-type>uses</dependency-type> |
| 16 | </dependent-module> | 22 | </dependent-module> |
| 17 | <dependent-module archiveName="cnlive_mam_commons-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/cnlive_mam_commons/cnlive_mam_commons"> | 23 | <dependent-module archiveName="cnlive_mam_commons-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/cnlive_mam_commons/cnlive_mam_commons"> |
src/main/java/com/cnlive/mz/live/action/CopyOfIndexAction.java deleted
100644 → 0
| 1 | -/** | ||
| 2 | - * Project Name:cnlive_live_web | ||
| 3 | - * File Name:IndexAction.java | ||
| 4 | - * Package Name:com.cnlive.mz.live.action | ||
| 5 | - * Date:2015年8月3日下午3:18:31 | ||
| 6 | - * Copyright (c) 2015, cnlive.com All Rights Reserved. | ||
| 7 | - * | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -package com.cnlive.mz.live.action; | ||
| 11 | - | ||
| 12 | -import java.io.File; | ||
| 13 | -import java.util.HashMap; | ||
| 14 | -import java.util.LinkedHashMap; | ||
| 15 | -import java.util.Map; | ||
| 16 | - | ||
| 17 | -import net.sf.json.JSONObject; | ||
| 18 | - | ||
| 19 | -import org.apache.commons.lang.StringUtils; | ||
| 20 | -import org.smart4j.framework.ioc.annotation.Inject; | ||
| 21 | -import org.smart4j.framework.mvc.annotation.Action; | ||
| 22 | -import org.smart4j.framework.mvc.annotation.Request; | ||
| 23 | -import org.smart4j.framework.mvc.bean.Params; | ||
| 24 | - | ||
| 25 | -import com.cnlive.mz.live.bean.Account; | ||
| 26 | -import com.cnlive.ksyun.KsYun; | ||
| 27 | -import com.cnlive.mz.commons.CNLiveFFmpeg; | ||
| 28 | -import com.cnlive.mz.commons.CnliveUtil; | ||
| 29 | -import com.cnlive.mz.commons.DateUtil; | ||
| 30 | -import com.cnlive.mz.commons.JsonUtil; | ||
| 31 | -import com.cnlive.mz.commons.net.HttpReq; | ||
| 32 | -import com.cnlive.mz.commons.sys.Scp; | ||
| 33 | -import com.cnlive.mz.live.bean.ResultBean; | ||
| 34 | -import com.cnlive.mz.live.entity.TApp; | ||
| 35 | -import com.cnlive.mz.live.entity.TDispatchServer; | ||
| 36 | -import com.cnlive.mz.live.entity.TUser; | ||
| 37 | -import com.cnlive.mz.live.entity.TVideo; | ||
| 38 | -import com.cnlive.mz.live.service.TActivityService; | ||
| 39 | -import com.cnlive.mz.live.service.TAppService; | ||
| 40 | -import com.cnlive.mz.live.service.TChannelService; | ||
| 41 | -import com.cnlive.mz.live.service.TDispatchServerService; | ||
| 42 | -import com.cnlive.mz.live.service.TUserService; | ||
| 43 | -import com.cnlive.mz.live.service.TVideoService; | ||
| 44 | -import com.cnlive.mz.live.service.TWowzaService; | ||
| 45 | - | ||
| 46 | -@Action | ||
| 47 | -public class CopyOfIndexAction { | ||
| 48 | - @Inject | ||
| 49 | - private TChannelService tChannelService; | ||
| 50 | - @Inject | ||
| 51 | - private TActivityService tActivityService; | ||
| 52 | - @Inject | ||
| 53 | - private TWowzaService tWowzaService; | ||
| 54 | - | ||
| 55 | - @Inject | ||
| 56 | - private TUserService tUserService; | ||
| 57 | - | ||
| 58 | - @Request.Post("/api/video/uploadNotify") | ||
| 59 | - public void uploadNotify(Params params) { | ||
| 60 | - String video_uuid = params.getString("video_uuid"); | ||
| 61 | - String upload_type = params.getString("upload_type"); | ||
| 62 | - String video_type = params.getString("video_type"); | ||
| 63 | - String state = params.getString("state"); | ||
| 64 | - notify(video_uuid); | ||
| 65 | - // renderJson(new ResultBean(100, "请求成功", null)); | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - /** | ||
| 69 | - * sdk 方式上传 | ||
| 70 | - */ | ||
| 71 | - @Request.Post("/api/video/supload") | ||
| 72 | - public void supload(Params params) { | ||
| 73 | - ResultBean resultBean = new ResultBean(); | ||
| 74 | - try { | ||
| 75 | - Map data = new LinkedHashMap(); | ||
| 76 | - String app_access_key = params.getString("app_access_key"); | ||
| 77 | - String user_access_key = params.getString("user_access_key"); | ||
| 78 | - String server_access_key = params.getString("server_access_key"); | ||
| 79 | - String uuid = CnliveUtil.getUUID(); | ||
| 80 | - String md5 = params.getString("md5"); | ||
| 81 | - TVideo tVideo = new TVideo(); | ||
| 82 | - tVideo.setCustom_args(params.getString("custom_args")); | ||
| 83 | - tVideo.setRelation_id(params.getString("relation_id")); | ||
| 84 | - tVideo.setName(params.getString("name")); | ||
| 85 | - tVideo.setVideo_type(params.getString("video_type")); | ||
| 86 | - tVideo.setPlat(params.getString("plat")); | ||
| 87 | - tVideo.setState(207); | ||
| 88 | - tVideo.setMd5(md5); | ||
| 89 | - tVideo.setVideo_uuid(uuid); | ||
| 90 | - tVideo.setTitle(params.getString("title")); | ||
| 91 | - tVideo.setVideo_type(params.getString("video_type")); | ||
| 92 | - tVideo.setDescription(params.getString("description")); | ||
| 93 | - saveSdkVideoSrc(tVideo, server_access_key, user_access_key, app_access_key); | ||
| 94 | - resultBean.setCode(100); | ||
| 95 | - resultBean.setMessage("请求成功"); | ||
| 96 | - data.put("video_uuid", uuid); | ||
| 97 | - resultBean.setData(data); | ||
| 98 | - } catch (Exception e) { | ||
| 99 | - e.printStackTrace(); | ||
| 100 | - } | ||
| 101 | - // renderJson(resultBean); | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - TDispatchServerService tDispatchServerService; | ||
| 105 | - TAppService tAppService; | ||
| 106 | - TVideoService tVideoService; | ||
| 107 | - | ||
| 108 | - public void saveSdkVideoSrc(TVideo tVideo, String server_access_key, String user_access_key, String app_access_key) { | ||
| 109 | - TDispatchServer dispatchServer = tDispatchServerService.getServerByAccessKey(server_access_key); | ||
| 110 | - TUser user = tUserService.getUserByAccessKey(user_access_key); | ||
| 111 | - TApp app = tAppService.getAppByAccessKey(app_access_key); | ||
| 112 | - int video_type = Integer.parseInt(tVideo.getVideo_type()); | ||
| 113 | - String name = tVideo.getName(); | ||
| 114 | - tVideo.setT_app_id(app.getId()); | ||
| 115 | - tVideo.setT_user_id(user.getId()); | ||
| 116 | - tVideo.setT_dispatch_server_id(dispatchServer.getId()); | ||
| 117 | - tVideo.setState(207); | ||
| 118 | - tVideoService.save(tVideo); | ||
| 119 | - } | ||
| 120 | - | ||
| 121 | - public void notify(String video_uuid) { | ||
| 122 | - TVideo video = tVideoService.getVideoByUuId(video_uuid); | ||
| 123 | - tVideoService.updateState(video.getId(), 302); | ||
| 124 | - NotifyThread t = new NotifyThread(video); | ||
| 125 | - t.start(); | ||
| 126 | - } | ||
| 127 | - | ||
| 128 | - public String tempPath = "/opt/video/"; | ||
| 129 | - | ||
| 130 | - class NotifyThread extends Thread { | ||
| 131 | - TVideo video; | ||
| 132 | - | ||
| 133 | - NotifyThread(TVideo video) { | ||
| 134 | - this.video = video; | ||
| 135 | - } | ||
| 136 | - | ||
| 137 | - @Override | ||
| 138 | - public void run() { | ||
| 139 | - TDispatchServer dispatchServer = tDispatchServerService.getDispatchServerById(video | ||
| 140 | - .getT_dispatch_server_id()); | ||
| 141 | - String floder = "/home/lijielong/video/storage/";// dispatchServer.getStr("floder"); | ||
| 142 | - String account = dispatchServer.getAccount(); | ||
| 143 | - Account acc = (Account) JsonUtil.getDtoFromJsonObjStr(account, Account.class); | ||
| 144 | - String name = video.getName(); | ||
| 145 | - String md5 = video.getMd5(); | ||
| 146 | - String ip = dispatchServer.getIp(); | ||
| 147 | - String remoteFile = floder + md5 + "/" + name; | ||
| 148 | - boolean flag = Scp.get(ip, acc.getS_name(), acc.getS_password(), tempPath, remoteFile); | ||
| 149 | - if (flag) { | ||
| 150 | - String localFilePath = tempPath + name; | ||
| 151 | - File localFile = new File(localFilePath); | ||
| 152 | - String basePath = tempPath + DateUtil.getDays("yyyy/MM/dd/"); | ||
| 153 | - new File(basePath).mkdirs(); | ||
| 154 | - String imageKey = DateUtil.getDays("yyyy/MM/dd/") + video.getVideo_uuid() + ".jpg"; | ||
| 155 | - String imagePath = tempPath + imageKey; | ||
| 156 | - CNLiveFFmpeg ffmpeg = new CNLiveFFmpeg(localFilePath); | ||
| 157 | - String w = ffmpeg.getWidth(); | ||
| 158 | - String h = ffmpeg.getHeight(); | ||
| 159 | - int width = Integer.parseInt(w); | ||
| 160 | - int height = Integer.parseInt(h); | ||
| 161 | - CNLiveFFmpeg.getPreviewImg(localFilePath, imagePath); | ||
| 162 | - | ||
| 163 | - File image = new File(imagePath); | ||
| 164 | - if (!image.exists()) { | ||
| 165 | - image = new File("/usr/local/tomcat/webapps/ROOT/resource/assets/images/336x220.jpg"); | ||
| 166 | - } | ||
| 167 | - String ks3ImagePath = putToKS3(image, imageKey); | ||
| 168 | - String ks3VideoPath = putToKS3(localFile, DateUtil.getDays("yyyy/MM/dd/") + name); | ||
| 169 | - Map map = new HashMap(); | ||
| 170 | - map.put("file_path", ks3VideoPath); | ||
| 171 | - map.put("preview_image", ks3ImagePath); | ||
| 172 | - tVideoService.update(video.getId(), map); | ||
| 173 | - } else { | ||
| 174 | - System.out.println("scp get file fail " + remoteFile); | ||
| 175 | - } | ||
| 176 | - } | ||
| 177 | - } | ||
| 178 | - | ||
| 179 | - public String putToKS3(File file, String key) { | ||
| 180 | - KsYun yun = new KsYun(false); | ||
| 181 | - yun.singlePut("cnlive-ugc", key, file); | ||
| 182 | - return "http://cnlive-ugc.ks3-cn-beijing.ksyun.com/" + key; | ||
| 183 | - } | ||
| 184 | - | ||
| 185 | - private void pushToCms(TVideo video, String start_time, String endTime) { | ||
| 186 | - String url = "http://icms.staff.cnlive.com/icms_service/api/ugcContentSave.do"; | ||
| 187 | - JSONObject obj = JSONObject.fromObject(video.getCustom_args()); | ||
| 188 | - Map map = new HashMap(); | ||
| 189 | - map.put("MAM_UUID", video.getName()); | ||
| 190 | - map.put("MAM_USERID", String.valueOf(obj.get("userId"))); | ||
| 191 | - map.put("MAM_NickName", obj.get("nickName")); | ||
| 192 | - map.put("MAM_Title", video.getTitle()); | ||
| 193 | - map.put("MAM_Description", video.getDescription()); | ||
| 194 | - map.put("MAM_PublishDate", start_time); | ||
| 195 | - map.put("MAM_VideoUrl", video.getFile_path()); | ||
| 196 | - map.put("MAM_VideoHUrl", video.getFile_path()); | ||
| 197 | - map.put("MAM_VideoUHUrl", video.getFile_path()); | ||
| 198 | - map.put("MAM_VideoLUrl", video.getFile_path()); | ||
| 199 | - if (StringUtils.isNotEmpty(endTime)) { | ||
| 200 | - map.put("MAM_EndTime", endTime); | ||
| 201 | - } | ||
| 202 | - JSONObject jsonObj = JSONObject.fromObject(map); | ||
| 203 | - String str = HttpReq.postRequestWidthResult(url, "json", jsonObj.toString()); | ||
| 204 | - System.out.println("测试期间:调用cms" + str); | ||
| 205 | - } | ||
| 206 | - | ||
| 207 | -} |
src/main/java/com/cnlive/mz/live/action/IndexAction.java
| @@ -15,6 +15,7 @@ import java.util.Map; | @@ -15,6 +15,7 @@ import java.util.Map; | ||
| 15 | 15 | ||
| 16 | import javax.servlet.http.HttpSession; | 16 | import javax.servlet.http.HttpSession; |
| 17 | 17 | ||
| 18 | +import org.apache.commons.lang3.StringUtils; | ||
| 18 | import org.smart4j.framework.core.ConfigHelper; | 19 | import org.smart4j.framework.core.ConfigHelper; |
| 19 | import org.smart4j.framework.ioc.annotation.Inject; | 20 | import org.smart4j.framework.ioc.annotation.Inject; |
| 20 | import org.smart4j.framework.mvc.DataContext; | 21 | import org.smart4j.framework.mvc.DataContext; |
| @@ -53,7 +54,6 @@ public class IndexAction { | @@ -53,7 +54,6 @@ public class IndexAction { | ||
| 53 | @Inject | 54 | @Inject |
| 54 | private TUserService tUserService; | 55 | private TUserService tUserService; |
| 55 | 56 | ||
| 56 | - | ||
| 57 | int type = 1; | 57 | int type = 1; |
| 58 | 58 | ||
| 59 | @Request.Get("/index") | 59 | @Request.Get("/index") |
| @@ -89,11 +89,16 @@ public class IndexAction { | @@ -89,11 +89,16 @@ public class IndexAction { | ||
| 89 | @Request.Post("/doswitch") | 89 | @Request.Post("/doswitch") |
| 90 | public Result doSwitch(Params params) { | 90 | public Result doSwitch(Params params) { |
| 91 | String channel_ids = params.getString("channel_ids"); | 91 | String channel_ids = params.getString("channel_ids"); |
| 92 | - String wowza_id = params.getString("wowza_id"); | ||
| 93 | - tActivityService.doSwitch(channel_ids, Integer.parseInt(wowza_id)); | ||
| 94 | - return new Result(true); | 92 | + if (StringUtils.isEmpty(channel_ids)) { |
| 93 | + System.out.println("没选择频道"); | ||
| 94 | + return new Result(false); | ||
| 95 | + } else { | ||
| 96 | + String wowza_id = params.getString("wowza_id"); | ||
| 97 | + tActivityService.doSwitch(channel_ids, Integer.parseInt(wowza_id)); | ||
| 98 | + return new Result(true); | ||
| 99 | + } | ||
| 95 | } | 100 | } |
| 96 | - | 101 | + |
| 97 | @Request.Get("/login/success") | 102 | @Request.Get("/login/success") |
| 98 | public View loginSuccess(Params params) { | 103 | public View loginSuccess(Params params) { |
| 99 | String userName = params.getString("username"); | 104 | String userName = params.getString("username"); |
| @@ -102,7 +107,7 @@ public class IndexAction { | @@ -102,7 +107,7 @@ public class IndexAction { | ||
| 102 | if (tUser == null) { | 107 | if (tUser == null) { |
| 103 | view = new View("index/loginfail.jsp"); | 108 | view = new View("index/loginfail.jsp"); |
| 104 | } else { | 109 | } else { |
| 105 | - HttpSession session=DataContext.getRequest().getSession(); | 110 | + HttpSession session = DataContext.getRequest().getSession(); |
| 106 | session.setAttribute(LiveUtils.SESSION_KEY_NAME, tUser.getName()); | 111 | session.setAttribute(LiveUtils.SESSION_KEY_NAME, tUser.getName()); |
| 107 | session.setAttribute(LiveUtils.SESSION_KEY_ID, tUser.getId()); | 112 | session.setAttribute(LiveUtils.SESSION_KEY_ID, tUser.getId()); |
| 108 | session.setAttribute(LiveUtils.SESSION_ROLE_ID, tUser.getIs_admin()); | 113 | session.setAttribute(LiveUtils.SESSION_ROLE_ID, tUser.getIs_admin()); |
| @@ -125,17 +130,17 @@ public class IndexAction { | @@ -125,17 +130,17 @@ public class IndexAction { | ||
| 125 | public void logout() { | 130 | public void logout() { |
| 126 | HttpSession session = DataContext.getRequest().getSession(); | 131 | HttpSession session = DataContext.getRequest().getSession(); |
| 127 | String logoutUrl = ConfigHelper.getString("auth.logout.url"); | 132 | String logoutUrl = ConfigHelper.getString("auth.logout.url"); |
| 128 | - String webUrl= ConfigHelper.getString("website.url"); | 133 | + String webUrl = ConfigHelper.getString("website.url"); |
| 129 | session.removeAttribute(LiveUtils.SESSION_KEY_NAME); | 134 | session.removeAttribute(LiveUtils.SESSION_KEY_NAME); |
| 130 | session.removeAttribute(LiveUtils.SESSION_KEY_ID); | 135 | session.removeAttribute(LiveUtils.SESSION_KEY_ID); |
| 131 | session.invalidate(); | 136 | session.invalidate(); |
| 132 | try { | 137 | try { |
| 133 | - DataContext.getResponse().sendRedirect(logoutUrl+webUrl+"/logout/success"); | 138 | + DataContext.getResponse().sendRedirect(logoutUrl + webUrl + "/logout/success"); |
| 134 | } catch (IOException e) { | 139 | } catch (IOException e) { |
| 135 | e.printStackTrace(); | 140 | e.printStackTrace(); |
| 136 | } | 141 | } |
| 137 | } | 142 | } |
| 138 | - | 143 | + |
| 139 | @Request.Get("/logout/success") | 144 | @Request.Get("/logout/success") |
| 140 | public Result logoutSuccess() { | 145 | public Result logoutSuccess() { |
| 141 | return new Result(true).data("退出成功"); | 146 | return new Result(true).data("退出成功"); |
src/main/java/com/cnlive/mz/live/action/VideoAction.java
| @@ -6,16 +6,18 @@ import java.util.Map; | @@ -6,16 +6,18 @@ import java.util.Map; | ||
| 6 | 6 | ||
| 7 | import org.smart4j.framework.dao.bean.Pager; | 7 | import org.smart4j.framework.dao.bean.Pager; |
| 8 | import org.smart4j.framework.ioc.annotation.Inject; | 8 | import org.smart4j.framework.ioc.annotation.Inject; |
| 9 | +import org.smart4j.framework.mvc.DataContext; | ||
| 9 | import org.smart4j.framework.mvc.annotation.Action; | 10 | import org.smart4j.framework.mvc.annotation.Action; |
| 10 | import org.smart4j.framework.mvc.annotation.Request; | 11 | import org.smart4j.framework.mvc.annotation.Request; |
| 11 | import org.smart4j.framework.mvc.bean.ApiBean; | 12 | import org.smart4j.framework.mvc.bean.ApiBean; |
| 12 | import org.smart4j.framework.mvc.bean.Params; | 13 | import org.smart4j.framework.mvc.bean.Params; |
| 14 | +import org.smart4j.framework.mvc.bean.View; | ||
| 15 | +import org.smart4j.framework.util.CastUtil; | ||
| 13 | 16 | ||
| 14 | import com.cnlive.mz.commons.CnliveUtil; | 17 | import com.cnlive.mz.commons.CnliveUtil; |
| 15 | -import com.cnlive.mz.live.entity.TApp; | 18 | +import com.cnlive.mz.live.common.LiveUtils; |
| 16 | import com.cnlive.mz.live.entity.TLive; | 19 | import com.cnlive.mz.live.entity.TLive; |
| 17 | import com.cnlive.mz.live.entity.TVideo; | 20 | import com.cnlive.mz.live.entity.TVideo; |
| 18 | -import com.cnlive.mz.live.service.TAppService; | ||
| 19 | import com.cnlive.mz.live.service.TDispatchServerService; | 21 | import com.cnlive.mz.live.service.TDispatchServerService; |
| 20 | import com.cnlive.mz.live.service.TLiveService; | 22 | import com.cnlive.mz.live.service.TLiveService; |
| 21 | import com.cnlive.mz.live.service.TUserService; | 23 | import com.cnlive.mz.live.service.TUserService; |
| @@ -25,8 +27,7 @@ import com.cnlive.mz.live.service.TVideoService; | @@ -25,8 +27,7 @@ import com.cnlive.mz.live.service.TVideoService; | ||
| 25 | public class VideoAction { | 27 | public class VideoAction { |
| 26 | @Inject | 28 | @Inject |
| 27 | private TDispatchServerService tDispatchServerService; | 29 | private TDispatchServerService tDispatchServerService; |
| 28 | - @Inject | ||
| 29 | - private TAppService tAppService; | 30 | + |
| 30 | @Inject | 31 | @Inject |
| 31 | private TVideoService tVideoService; | 32 | private TVideoService tVideoService; |
| 32 | @Inject | 33 | @Inject |
| @@ -47,25 +48,8 @@ public class VideoAction { | @@ -47,25 +48,8 @@ public class VideoAction { | ||
| 47 | public ApiBean redirect(Params params) { | 48 | public ApiBean redirect(Params params) { |
| 48 | String app_access_key = params.getString("app_access_key"); | 49 | String app_access_key = params.getString("app_access_key"); |
| 49 | String video_type = params.getString("video_type"); | 50 | String video_type = params.getString("video_type"); |
| 50 | - String userId = params.getString("userId"); | ||
| 51 | - TApp app = tAppService.getAppByAccessKey(app_access_key); | ||
| 52 | - ApiBean apiBean = new ApiBean(); | ||
| 53 | - apiBean.setCode(100); | ||
| 54 | - apiBean.setMessage("请求成功"); | ||
| 55 | - Map map = tDispatchServerService.getDispatchServer(app, video_type, app_access_key); | ||
| 56 | - String chat_room_id = ""; | ||
| 57 | - int active_id = 0; | ||
| 58 | - String ks_id = ""; | ||
| 59 | - if (video_type.equals("3")) { | ||
| 60 | - TLive tLive = tLiveService.save(Integer.parseInt(userId)); | ||
| 61 | - chat_room_id = tLive.getChat_room_id(); | ||
| 62 | - active_id = tLive.getId(); | ||
| 63 | - ks_id = userId + "_" + tLive.getId(); | ||
| 64 | - } | ||
| 65 | - map.put("chat_room_id", chat_room_id); | ||
| 66 | - map.put("active_id", active_id); | ||
| 67 | - map.put("ks_id", ks_id); | ||
| 68 | - apiBean.setData(map); | 51 | + String user_id = params.getString("relation_id"); |
| 52 | + ApiBean apiBean = tDispatchServerService.redirect(video_type, app_access_key, user_id); | ||
| 69 | return apiBean; | 53 | return apiBean; |
| 70 | } | 54 | } |
| 71 | 55 | ||
| @@ -79,14 +63,14 @@ public class VideoAction { | @@ -79,14 +63,14 @@ public class VideoAction { | ||
| 79 | String active_id = params.getString("active_id"); | 63 | String active_id = params.getString("active_id"); |
| 80 | String title = params.getString("title"); | 64 | String title = params.getString("title"); |
| 81 | String description = params.getString("description"); | 65 | String description = params.getString("description"); |
| 82 | - String args = params.getString("custom_args"); | 66 | + String custom_args = params.getString("custom_args"); |
| 83 | String uuid = CnliveUtil.getUUID(); | 67 | String uuid = CnliveUtil.getUUID(); |
| 84 | String md5 = params.getString("md5"); | 68 | String md5 = params.getString("md5"); |
| 85 | String relation_id = params.getString("relation_id"); | 69 | String relation_id = params.getString("relation_id"); |
| 86 | if (video_type.equals("2")) { | 70 | if (video_type.equals("2")) { |
| 87 | // 2:sdk上传录播文件 | 71 | // 2:sdk上传录播文件 |
| 88 | TVideo tVideo = new TVideo(); | 72 | TVideo tVideo = new TVideo(); |
| 89 | - tVideo.setCustom_args(args); | 73 | + tVideo.setCustom_args(custom_args); |
| 90 | tVideo.setRelation_id(relation_id); | 74 | tVideo.setRelation_id(relation_id); |
| 91 | tVideo.setName(params.getString("name")); | 75 | tVideo.setName(params.getString("name")); |
| 92 | tVideo.setVideo_type(params.getString("video_type")); | 76 | tVideo.setVideo_type(params.getString("video_type")); |
| @@ -106,7 +90,8 @@ public class VideoAction { | @@ -106,7 +90,8 @@ public class VideoAction { | ||
| 106 | tLive.setUuid(uuid); | 90 | tLive.setUuid(uuid); |
| 107 | tLive.setUser_uuid(params.getString("name")); | 91 | tLive.setUser_uuid(params.getString("name")); |
| 108 | tLive.setRelation_id(relation_id); | 92 | tLive.setRelation_id(relation_id); |
| 109 | - tLive.setLive_url("http://cnlive.hlslive.ks-cdn.com/live/" + relation_id + "_" + tLive.getId() | 93 | + tLive.setCustom_args(custom_args); |
| 94 | + tLive.setLive_url("http://cnlive.hlslive.ks-cdn.com/live/" + tLive.getT_user_id() + "_" + tLive.getId() | ||
| 110 | + "/index.m3u8"); | 95 | + "/index.m3u8"); |
| 111 | tLiveService.startLive(tLive); | 96 | tLiveService.startLive(tLive); |
| 112 | } | 97 | } |
| @@ -125,8 +110,7 @@ public class VideoAction { | @@ -125,8 +110,7 @@ public class VideoAction { | ||
| 125 | String pageNo = params.getString("page_no"); | 110 | String pageNo = params.getString("page_no"); |
| 126 | String relation_id = params.getString("relation_id"); | 111 | String relation_id = params.getString("relation_id"); |
| 127 | String upload_type = params.getString("upload_type"); | 112 | String upload_type = params.getString("upload_type"); |
| 128 | - String page_no = params.getString("page_no"); | ||
| 129 | - String video_type = params.getString("video_type"); | 113 | + // String video_type = params.getString("video_type"); |
| 130 | Pager<TVideo> page = tVideoService.findAll(app_access_key, relationId, pageNo); | 114 | Pager<TVideo> page = tVideoService.findAll(app_access_key, relationId, pageNo); |
| 131 | ApiBean apiBean = new ApiBean(); | 115 | ApiBean apiBean = new ApiBean(); |
| 132 | apiBean.setCode(100); | 116 | apiBean.setCode(100); |
| @@ -135,6 +119,31 @@ public class VideoAction { | @@ -135,6 +119,31 @@ public class VideoAction { | ||
| 135 | return apiBean; | 119 | return apiBean; |
| 136 | } | 120 | } |
| 137 | 121 | ||
| 122 | + @Request.Get("/video/list/{page_number}") | ||
| 123 | + public View list(int page_number) { | ||
| 124 | + int user_id = CastUtil.castInt(DataContext.getRequest().getSession().getAttribute(LiveUtils.SESSION_KEY_ID)); | ||
| 125 | + Pager<TVideo> page = tVideoService.list(user_id, page_number, 33); | ||
| 126 | + return new View("live/video_management.jsp").data("videos", page); | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + @Request.Post("/video/view/{id}") | ||
| 130 | + public View one(int id) { | ||
| 131 | + TVideo page = tVideoService.getVideoById(id); | ||
| 132 | + return new View("live/video_view.jsp").data("videos", page); | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + @Request.Post("/api/video/one") | ||
| 136 | + public ApiBean one(Params params) { | ||
| 137 | + String app_access_key = params.getString("app_access_key"); | ||
| 138 | + String video_uuid = params.getString("video_uuid"); | ||
| 139 | + TVideo page = tVideoService.getVideoByUuId(video_uuid); | ||
| 140 | + ApiBean apiBean = new ApiBean(); | ||
| 141 | + apiBean.setCode(100); | ||
| 142 | + apiBean.setMessage("请求成功"); | ||
| 143 | + apiBean.setData(page); | ||
| 144 | + return apiBean; | ||
| 145 | + } | ||
| 146 | + | ||
| 138 | @Request.Post("/api/video/uploadNotify") | 147 | @Request.Post("/api/video/uploadNotify") |
| 139 | public ApiBean uploadNotify(Params params) { | 148 | public ApiBean uploadNotify(Params params) { |
| 140 | String video_uuid = params.getString("video_uuid"); | 149 | String video_uuid = params.getString("video_uuid"); |
src/main/webapp/pages/common/left.jsp
| @@ -43,12 +43,15 @@ | @@ -43,12 +43,15 @@ | ||
| 43 | </li> | 43 | </li> |
| 44 | 44 | ||
| 45 | <!-- 主播 --> | 45 | <!-- 主播 --> |
| 46 | - <li class="header">系统设置</li> | 46 | + <li class="header">UGC直播</li> |
| 47 | <li> | 47 | <li> |
| 48 | <a href="${BASE}/room/list/1"><i class="fa fa-circle-o text-yellow"></i>直播间管理</a> | 48 | <a href="${BASE}/room/list/1"><i class="fa fa-circle-o text-yellow"></i>直播间管理</a> |
| 49 | </li> | 49 | </li> |
| 50 | <li> | 50 | <li> |
| 51 | - <a href="${BASE}/live/list/1"><i class="fa fa-circle-o text-yellow"></i>直播活动</a> | 51 | + <a href="${BASE}/live/list/1"><i class="fa fa-circle-o text-yellow"></i>直播活动管理</a> |
| 52 | + </li> | ||
| 53 | + <li> | ||
| 54 | + <a href="${BASE}/video/list/1"><i class="fa fa-circle-o text-yellow"></i>直播录制管理</a> | ||
| 52 | </li> | 55 | </li> |
| 53 | </c:if> | 56 | </c:if> |
| 54 | <c:if test="${sessionScope.roleId=='0'}"> | 57 | <c:if test="${sessionScope.roleId=='0'}"> |
src/main/webapp/pages/live/live_add.jsp
| @@ -82,10 +82,10 @@ | @@ -82,10 +82,10 @@ | ||
| 82 | </div> | 82 | </div> |
| 83 | </div> | 83 | </div> |
| 84 | <div class="form-group"> | 84 | <div class="form-group"> |
| 85 | - <label>海报 </label> | 85 | + <label>封面海报 </label> |
| 86 | <div class="input-group"> | 86 | <div class="input-group"> |
| 87 | <span class="input-group-addon"><i | 87 | <span class="input-group-addon"><i |
| 88 | - class="fa fa-file-word-o"></i> </span> <input id="input-22" type="file" name="input-22" accept="image/*" class="file-loading"> | 88 | + class="fa fa-file-word-o"></i> </span> <input id="input-22" type="file" name="input-22" accept="image/*" class="file-loading"> |
| 89 | </div> | 89 | </div> |
| 90 | </div> | 90 | </div> |
| 91 | <div class="form-group"> | 91 | <div class="form-group"> |
| @@ -106,7 +106,7 @@ | @@ -106,7 +106,7 @@ | ||
| 106 | </div> | 106 | </div> |
| 107 | 107 | ||
| 108 | <div class="form-group"> | 108 | <div class="form-group"> |
| 109 | - <label>活动简述 </label> | 109 | + <label>活动简介 </label> |
| 110 | <div class="input-group"> | 110 | <div class="input-group"> |
| 111 | <span class="input-group-addon"><i | 111 | <span class="input-group-addon"><i |
| 112 | class="fa fa-file-word-o"></i> </span> <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script> | 112 | class="fa fa-file-word-o"></i> </span> <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script> |
target/classes/com/cnlive/mz/live/action/ActivityAction.class
No preview for this file type
target/classes/com/cnlive/mz/live/action/ChannelAction.class
No preview for this file type
target/classes/com/cnlive/mz/live/action/IndexAction.class
No preview for this file type
target/classes/com/cnlive/mz/live/aspect/ActionAspect.class
No preview for this file type
target/classes/com/cnlive/mz/live/aspect/AuthFilter.class
No preview for this file type
target/m2e-wtp/web-resources/META-INF/maven/com.cnlive.mz.live.web/cnlive_live_web/pom.properties
| 1 | #Generated by Maven Integration for Eclipse | 1 | #Generated by Maven Integration for Eclipse |
| 2 | -#Thu May 26 14:32:01 CST 2016 | 2 | +#Mon Jun 06 10:53:20 CST 2016 |
| 3 | version=0.0.1-SNAPSHOT | 3 | version=0.0.1-SNAPSHOT |
| 4 | groupId=com.cnlive.mz.live.web | 4 | groupId=com.cnlive.mz.live.web |
| 5 | m2e.projectName=cnlive_live_web | 5 | m2e.projectName=cnlive_live_web |