TaskService.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.fdkankan.fusion.task;
  2. import cn.hutool.core.io.FileUtil;
  3. import com.fdkankan.fusion.common.util.DateUtils;
  4. import com.fdkankan.fusion.common.util.UploadToOssUtil;
  5. import com.fdkankan.fusion.entity.CaseLive;
  6. import com.fdkankan.fusion.entity.CommonUpload;
  7. import com.fdkankan.fusion.service.ICaseLiveService;
  8. import com.fdkankan.fusion.service.ICommonUploadService;
  9. import com.fdkankan.fusion.service.IDictFileService;
  10. import com.fdkankan.fusion.service.IDictService;
  11. import com.fdkankan.redis.util.RedisUtil;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.scheduling.annotation.Scheduled;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import javax.annotation.PostConstruct;
  18. import java.io.File;
  19. import java.util.Date;
  20. import java.util.List;
  21. import java.util.Set;
  22. import java.util.stream.Collectors;
  23. import static com.fdkankan.fusion.down.CaseDownService.downProcessKey;
  24. @Service
  25. @Slf4j
  26. public class TaskService {
  27. @Autowired
  28. ICaseLiveService caseLiveService;
  29. @Autowired
  30. RedisUtil redisUtil;
  31. @PostConstruct
  32. public void cleanRedisKey(){
  33. String redisKey = String.format(downProcessKey, "*");
  34. Set<String> keys = redisUtil.keys(redisKey);
  35. if(keys != null && !keys.isEmpty()){
  36. for (String key : keys) {
  37. redisUtil.del(key);
  38. }
  39. }
  40. checkSystemModel();
  41. }
  42. @Autowired
  43. ICommonUploadService commonUploadService;
  44. @Autowired
  45. IDictFileService dictFileService;
  46. private void checkSystemModel() {
  47. try {
  48. log.info("检查是否存在系统默认动画模型");
  49. String dfModel = "/oss/4dkankan/fusion/default/model/glb";
  50. List<CommonUpload> uploadList = commonUploadService.getIsSystem();
  51. File file = new File(dfModel);
  52. File[] files = file.listFiles();
  53. if(files == null || files.length <=0){
  54. return;
  55. }
  56. if(files.length != uploadList.size()){
  57. List<String> dbUrlList = uploadList.stream().map(CommonUpload::getFileUrl).collect(Collectors.toList());
  58. for (File s : files) {
  59. String path = s.getPath();
  60. String name = FileUtil.mainName(s);
  61. path = path.replace("4dkankan/","");
  62. if(dbUrlList.contains(path)){
  63. continue;
  64. }
  65. log.info(path);
  66. CommonUpload commonUpload = commonUploadService.addSystemFile(path,s.length(),name);
  67. if(commonUpload != null){
  68. dictFileService.addSystemFile(commonUpload);
  69. }
  70. }
  71. }
  72. }catch (Exception e){
  73. log.info("检查是否存在系统默认动画模型:{}",e);
  74. }
  75. }
  76. }