deploy-jar-template/src/main/resources/application-dev.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
deploy-jar-template/src/main/resources/sftp.properties | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
recommend-video/src/main/java/com/iplatform/recvideo/ResponseValue.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
recommend-video/src/main/java/com/iplatform/recvideo/api/ShowResultApi.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
recommend-video/src/main/java/com/iplatform/recvideo/service/VideoShowServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
deploy-jar-template/src/main/resources/application-dev.yml
@@ -75,7 +75,7 @@ # 调度器模块,是否启用 scheduler: enabled: true enabled: false # 数据采集模块 gather: @@ -102,7 +102,8 @@ test-mode: false #业务视频所在数据库信息 business-datasource-url: 116.198.40.76 # business-datasource-url: 116.198.40.76 business-datasource-url: 127.0.0.1 business-datasource-port: 3306 business-datasource-service: train_zs business-datasource-authentication: root deploy-jar-template/src/main/resources/sftp.properties
@@ -1,4 +1,4 @@ sftp.host=124.70.39.177 sftp.host=116.198.40.76 sftp.port=22 sftp.user=mysftp sftp.pass=Bjjmy_2020 recommend-video/src/main/java/com/iplatform/recvideo/ResponseValue.java
New file @@ -0,0 +1,150 @@ package com.iplatform.recvideo; import java.io.Serializable; import java.util.List; /** * 描述:响应web请求对象定义。 * @author 时克英 * @date 2020年6月30日 上午10:42:18 */ public class ResponseValue<T> implements Serializable { /** * */ private static final long serialVersionUID = -3530568444640938940L; public static final int CODE_SUCCESS = 1; public static final int CODE_ERROR = 0; public static final int CODE_RELOGIN = 10; public static final String TEXT_SUCCESS = "success"; public static final String TEXT_ERROR = "failed"; public static final String TEXT_RELOGIN = "超时,请重新登录"; private boolean state = false; private int code = CODE_ERROR; private String msg; private T data = null; // 为适配若依前端增加属性,2022-10-10 private long total = 0; // private List<T> datas = null; // public List<T> getDatas() { // return datas; // } // public void setDatas(List<T> datas) { // this.datas = datas; // } private ResponseValue(){} public boolean isState() { if(code == CODE_SUCCESS){ return true; } return state; } public void setState(boolean state) { this.state = state; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return this.msg; } public void setMsg(String text) { this.msg = text; } public T getData() { return data; } public void setData(T data) { if(data == null){ return; } if(data instanceof List){ List<?> list = (List<?>)data; this.total = list.size(); } this.data = data; } public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public static <T> ResponseValue<T> success(T data){ return success(TEXT_SUCCESS, data); } public static <T> ResponseValue<T> success(String text, T data){ ResponseValue<T> rv = new ResponseValue<T>(); rv.setState(true); rv.setCode(CODE_SUCCESS); rv.setMsg(text); rv.setData(data); return rv; } public static ResponseValue<List<?>> success(String text, List<?> data){ ResponseValue<List<?>> rv = new ResponseValue<List<?>>(); rv.setState(true); rv.setCode(CODE_SUCCESS); rv.setMsg(text); rv.setData(data); return rv; } public static ResponseValue<String> success(String text){ ResponseValue<String> rv = new ResponseValue<String>(); rv.setState(true); rv.setCode(CODE_SUCCESS); rv.setMsg(text); return rv; } public static ResponseValue<String> success(){ return success(TEXT_SUCCESS); } public static ResponseValue<String> error(String text){ ResponseValue<String> rv = new ResponseValue<String>(); rv.setState(false); rv.setCode(CODE_ERROR); rv.setMsg(text); return rv; } public static ResponseValue<String> error(){ return error(TEXT_ERROR); } public static ResponseValue<String> error(int code, String text){ if(code == CODE_SUCCESS){ throw new IllegalArgumentException("错误代码不能是 '成功代码'"); } ResponseValue<String> rv = new ResponseValue<String>(); rv.setState(false); rv.setCode(code); rv.setMsg(text); return rv; } public static ResponseValue<String> relogin(){ ResponseValue<String> rv = new ResponseValue<String>(); rv.setState(true); rv.setCode(CODE_RELOGIN); rv.setMsg(TEXT_RELOGIN); return rv; } } recommend-video/src/main/java/com/iplatform/recvideo/api/ShowResultApi.java
New file @@ -0,0 +1,61 @@ package com.iplatform.recvideo.api; import com.iplatform.model.po.Rc_video_user; import com.iplatform.recvideo.ResponseValue; import com.iplatform.recvideo.service.VideoShowServiceImpl; import com.walker.infrastructure.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/api/video") public class ShowResultApi { private VideoShowServiceImpl videoShowService; @Autowired public ShowResultApi(VideoShowServiceImpl videoShowService){ this.videoShowService = videoShowService; } @RequestMapping("/rec_list") @ResponseBody public ResponseValue showUserRecommendList(String userId){ if(StringUtils.isEmpty(userId)){ return ResponseValue.error("参数错误"); } long userIdValue = Long.parseLong(userId); List<Rc_video_user> data = this.videoShowService.queryRecommendList(userIdValue, 128); ResponseValue<List<Rc_video_user>> responseValue = ResponseValue.success(data); return responseValue; } @RequestMapping("/rec_list_test") @ResponseBody public ResponseValue testUserRecommendList(String userId){ if(StringUtils.isEmpty(userId)){ return ResponseValue.error("参数错误"); } long userIdValue = Long.parseLong(userId); // List<Rc_video_user> data = this.videoShowService.queryRecommendList(userIdValue, 128); List<Rc_video_user> data = new ArrayList<>(); data.add(this.testAcquireVideoUser(userIdValue, "test")); ResponseValue<List<Rc_video_user>> responseValue = ResponseValue.success(data); return responseValue; } private Rc_video_user testAcquireVideoUser(long userId, String videoId){ Rc_video_user user = new Rc_video_user(); user.setUser_id(userId); user.setVideo_id(videoId); user.setCreate_time(20221011164126L); user.setScore(0.8); user.setId(System.nanoTime()); return user; } } recommend-video/src/main/java/com/iplatform/recvideo/service/VideoShowServiceImpl.java
@@ -2,6 +2,7 @@ import com.iplatform.model.po.Rc_video_batch; import com.iplatform.model.po.Rc_video_t2; import com.iplatform.model.po.Rc_video_user; import com.walker.db.page.GenericPager; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; @@ -12,6 +13,19 @@ public class VideoShowServiceImpl extends BaseServiceImpl { /** * 查询给定用户推荐的视频集合 * @param userId * @param limit 限制返回几条 * @return */ public List<Rc_video_user> queryRecommendList(long userId, int limit){ if(limit <= 0){ limit = 128; } return this.select("select video_id, score from rc_video_user where user_id=? order by score desc limit ?", new Object[]{userId, limit}, new Rc_video_user()); } /** * 返回部分原始视频集合,用于选择相似视频使用。 * @return */