VideoInfoServiceImpl.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package top.lvzhiqiang.service.impl;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import org.springframework.beans.factory.annotation.Value;
  5. import org.springframework.stereotype.Service;
  6. import top.lvzhiqiang.config.WebAppConfig;
  7. import top.lvzhiqiang.entity.VideoGenres;
  8. import top.lvzhiqiang.entity.VideoInfo;
  9. import top.lvzhiqiang.mapper.VideoInfoInfantryMapper;
  10. import top.lvzhiqiang.mapper.VideoInfoMapper;
  11. import top.lvzhiqiang.mapper.VideoInfoPoolMapper;
  12. import top.lvzhiqiang.mapper.VideoInfoUncensoredMapper;
  13. import top.lvzhiqiang.service.VideoInfoService;
  14. import javax.annotation.Resource;
  15. import java.io.File;
  16. import java.util.Comparator;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * 电影信息ServiceImpl
  21. *
  22. * @author lvzhiqiang
  23. * 2022/4/4 15:28
  24. */
  25. @Service
  26. public class VideoInfoServiceImpl extends BaseServiceImpl<Object> implements VideoInfoService {
  27. @Resource
  28. private VideoInfoMapper videoInfoMapper;
  29. @Resource
  30. private VideoInfoPoolMapper videoInfoPoolMapper;
  31. @Resource
  32. private VideoInfoUncensoredMapper videoInfoUncensoredMapper;
  33. @Resource
  34. private VideoInfoInfantryMapper videoInfoInfantryMapper;
  35. @Value("${spring.profiles.active}")
  36. private String env;
  37. /**
  38. * 查询所有
  39. *
  40. * @return
  41. */
  42. @Override
  43. public List<VideoInfo> findAll() {
  44. return videoInfoMapper.findAll();
  45. }
  46. /**
  47. * 分页查询所有
  48. *
  49. * @return
  50. */
  51. @Override
  52. public PageInfo<VideoInfo> findAll(int pageNo, int pageSize) {
  53. PageHelper.startPage(pageNo, pageSize);
  54. List<VideoInfo> videoInfoList = videoInfoMapper.findAll();
  55. PageInfo<VideoInfo> videoInfoPageInfo = new PageInfo<>(videoInfoList);
  56. return videoInfoPageInfo;
  57. }
  58. @Override
  59. public PageInfo<VideoInfo> getVideoInfoPage(Map<String, Object> params) {
  60. Object bigType = params.get("bigType");
  61. List<VideoInfo> videoInfoList;
  62. // 转换成like
  63. paramsToLike(params, "keyword");
  64. // 分页
  65. paramsToPagination(params);
  66. // 排序
  67. paramsToSort(params);
  68. if ("骑兵".equals(bigType)) {
  69. videoInfoList = videoInfoMapper.getVideoInfoList(params);
  70. } else if ("步兵".equals(bigType)) {
  71. Object genres = params.get("genres");
  72. if (null == genres) {
  73. List<VideoGenres> videoGenresList = videoInfoInfantryMapper.findGenres();
  74. params.put("genres", videoGenresList.get(0).getName());
  75. }
  76. videoInfoList = videoInfoInfantryMapper.getVideoInfoInfantryList(params);
  77. } else if ("流出".equals(bigType)) {
  78. videoInfoList = videoInfoUncensoredMapper.getVideoInfoUncensoredList(params);
  79. } else if ("码池".equals(bigType)) {
  80. videoInfoList = videoInfoPoolMapper.getVideoInfoPoolList(params);
  81. } else {
  82. videoInfoList = videoInfoMapper.getVideoInfoList(params);
  83. }
  84. PageInfo<VideoInfo> videoInfoPageInfo = new PageInfo<>(videoInfoList);
  85. return videoInfoPageInfo;
  86. }
  87. /**
  88. * 影片信息详情
  89. *
  90. * @param type
  91. * @param code
  92. * @return
  93. */
  94. @Override
  95. public VideoInfo getVideoInfoDetail(String type, String code) {
  96. VideoInfo videoInfo;
  97. if ("qibing".equals(type)) {
  98. videoInfo = videoInfoMapper.getVideoInfoDetail(code);
  99. if (videoInfo == null) {
  100. return null;
  101. }
  102. String qibingPath = WebAppConfig.dicCodeList.stream().filter(x -> 1 == x.getType() && env.equals(x.getEnv()) && "apics_path".equals(x.getCodeKey())).findFirst().get().getCodeValue();
  103. String imgPrefixGFPath = "骑兵步兵/".concat(videoInfo.getIdentificationCode()).concat("/img_gf/");
  104. String imgPrefixSYPath = "骑兵步兵/".concat(videoInfo.getIdentificationCode()).concat("/img_sy/");
  105. videoInfo.setImgPrefixGFPath(imgPrefixGFPath);
  106. videoInfo.setImgPrefixSYPath(imgPrefixSYPath);
  107. // 获取样品图像-官方
  108. File imgGFFile = new File(qibingPath, imgPrefixGFPath);
  109. if (imgGFFile.exists()) {
  110. File[] files = imgGFFile.listFiles();
  111. for (File file : files) {
  112. videoInfo.getImgGFList().add(file.getName());
  113. }
  114. videoInfo.getImgGFList().sort(Comparator.naturalOrder());
  115. }
  116. // 获取样品图像-私有
  117. File imgSYFile = new File(qibingPath, imgPrefixSYPath);
  118. if (imgSYFile.exists()) {
  119. File[] files = imgSYFile.listFiles();
  120. for (File file : files) {
  121. videoInfo.getImgSYList().add(file.getName());
  122. }
  123. videoInfo.getImgSYList().sort(Comparator.naturalOrder());
  124. }
  125. } else if ("bubing".equals(type)) {
  126. videoInfo = null;
  127. } else if ("liuchu".equals(type)) {
  128. videoInfo = null;
  129. } else {
  130. videoInfo = null;
  131. }
  132. return videoInfo;
  133. }
  134. }