【校招VIP】线上实习 推电影 电影详情模块 Java代码周最佳

【推电影】主要是为校招设计的年青人电影推荐平台项目,每个模块都具有亮点和难点,项目表现为手机网站应用,可嵌入小程序或APP中。

恭喜来自东华理工大学的乌托邦同学获得本周线上实习【推电影】第一期 电影详情模块 Java代码周最佳

该作品针对电影详情模块的,推文案、推剪辑,以及多演员和导演的对应,都做了比较好的逻辑实现。同时,对电影类型的枚举以及对时长的格式要求,也都进行了处理。

优点:

1.业务逻辑处理比较清楚

电影详情模块包括多演员的处理、底层怎么设计怎么实现,三推怎么实现都处理得比较好

2.枚举使用还不错
 枚举基本都知道怎么去使用

但是依然存在部分问题:

1.判空和开发文档的作用

传一个参数进来,需要考虑这个参数是不是合法的,查询出来是不是空指针。另外该同学对开发文档不是很理解。写代码不能根据自己写的文档来写,实习的时候自己的文档一般是有问题的,会有人给你提意见,我们这里也提供了官方版改进文档,如果不跟着改进的版本走只是按照自己的文档写,那么提高是有限的

2.接口一般不太使用seo的格式

这个可能是官方修改文档的一个误导。另外springboot有很多的关键词,但是使用的原则是必须要用的时候再去用,如果没有必要用,就尽量节省性能的开销。另外,对多演员通过ID字符串拼接方式查询的接口,进行了一部由字符串向链表进行转化的一个动作,这个处理实际上是有两种更好的解决方案。一种就是直接使用IDS作为参数,直接在数据层使用find-in-set来实现,数据库是支持这种实现的。另一种就是把这个字符串往链表转化的操作给嵌入到方法内部,而不用每次调用的时候在controller层额外加一个处理逻辑。

3.注解问题

注解比较多的情况下,有一个原则:能不用注解就不用。等到发现这么写代码实现不了的时候再去考虑用注解解决。

4.性能的考虑

 正常的工程师如果想要往上走,就一定要有注重性能的意识,数据库能少查一次就少查一次,量一大的话,少查一次也会有很大的影响。

部分作品展示:

@GetMapping ("/detail (movieId)")

public ResponseDO getMovieDetail(@RequestParam ("movieId") Integer movieId){

log. info ("detail获取到参数"+movieid);

ResponseDO responseDO = new ResponseDO();
//获取到电影类

MovieDetail detail = movieDetailService. getById (movieId);
if (detail==null){
responseDO.setSuccess (false);

responseDO.setMsg("查询失败");

responseDO.setData("");

return responseDO;

List<Integer>ids=DataUtil.getId(detail.getActorIds());
List<MovieActor>actors=movieActorService.listByIds(ids);/ /获取演员列表

MovieDirector director=movieDirectorService.getById (detail.getDirectorId());//获取导演

List<MovieTuiInfo> tuiVideos=movieTuiInfoService.getByMovieId (movieId,1) ; //type =1为视频; 2为图片
List<MovieTuiInfo> tuiImages=movieTuiInfoService.getByMovieId (movieId,2) ; //type =1为视频;2为图片
ResponseMovieDetail responseMovieDetail=new ResponseMovieDetail();

responseMovieDetail.setDetail (detail);

responseMovieDetail.setActorList (actors);

responseMovieDetail.setDirector (director);

responseMovieDetail.setTuiVideos (tuiVideos);

responseMovieDetail.setTuiImages (tui Images);

responseMovieDetail.setTypeName (MovieType.getNameByType (detail.getType()));

responseMovieDetail.setTime InMinite (detail. getTimeInMinite());//电影时长

//todo 当前登录用户是否收藏

responseDO.setSuccess (true);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值