CommonService.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package cn.cslg.pas.service.business;
  2. import cn.cslg.pas.Application;
  3. import cn.cslg.pas.common.model.common.QueryCondition;
  4. import cn.cslg.pas.common.model.cronModel.GroupConfig;
  5. import cn.cslg.pas.common.model.cronModel.SqlObject;
  6. import cn.cslg.pas.common.utils.FileUtils;
  7. import cn.cslg.pas.common.utils.JsonUtils;
  8. import cn.cslg.pas.common.vo.ConditionVO;
  9. import cn.cslg.pas.common.vo.EntityVO;
  10. import cn.cslg.pas.common.vo.UploadSettingVO;
  11. import cn.cslg.pas.domain.business.Event;
  12. import com.alibaba.fastjson.JSON;
  13. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.boot.system.ApplicationHome;
  17. import org.springframework.stereotype.Service;
  18. import java.io.*;
  19. import java.util.*;
  20. import java.util.stream.Collectors;
  21. /**
  22. * 公用服务类
  23. *
  24. * @author lrj
  25. */
  26. @Service
  27. @Slf4j
  28. public class CommonService {
  29. @Autowired
  30. private EventService eventService;
  31. @Autowired
  32. private FileUtils fileUtils;
  33. /**
  34. * 根据获得文件json
  35. *
  36. * @param fileName
  37. * @return
  38. */
  39. public static String readJsonFile(String fileName) {
  40. String json = "";
  41. try {
  42. ApplicationHome ah = new ApplicationHome(Application.class);
  43. //获取 applicationHome 内的路径 ...\target\classes 到这一层级下
  44. File fileTem = ah.getSource();
  45. //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为 ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root
  46. String rootPath = fileTem.getParentFile().toString() + FileUtils.FILE_SEPARATOR+"jsons/";
  47. // String filePath = fileUtils.getPath("/11.docx");
  48. File file = new File(rootPath + fileName);
  49. Reader reader = new InputStreamReader(new FileInputStream(file), "utf-8");
  50. int ch = 0;
  51. StringBuffer buffer = new StringBuffer();
  52. while ((ch = reader.read()) != -1) {
  53. buffer.append((char) ch);
  54. }
  55. reader.close();
  56. json = buffer.toString();
  57. return json;
  58. } catch (IOException e) {
  59. e.printStackTrace();
  60. return null;
  61. }
  62. }
  63. public List<EntityVO> getQueryConditions(List<String> tableNames) {
  64. List<EntityVO> entityVOS = new ArrayList<>();
  65. tableNames.forEach(item -> {
  66. String json = null;
  67. try {
  68. json = CommonService.readJsonFile(item + ".json");
  69. } catch (Exception e) {
  70. }
  71. if (json != null) {
  72. EntityVO entityVO = new EntityVO();
  73. entityVO.setTableName(item);
  74. List<ConditionVO> queryConditions = JSON.parseArray(json, ConditionVO.class);
  75. entityVO.setConditionDTOList(queryConditions);
  76. entityVOS.add(entityVO);
  77. }
  78. });
  79. return entityVOS;
  80. }
  81. public List<Integer> getEventOrders(Integer orderType){
  82. LambdaQueryWrapper<Event> queryWrapper = new LambdaQueryWrapper<>();
  83. queryWrapper.select(Event::getId);
  84. if (orderType.equals(0)) {
  85. queryWrapper.orderByAsc(Event::getName);
  86. } else {
  87. queryWrapper.orderByDesc(Event::getName);
  88. }
  89. java.util.function.Function<Object, Integer> f = (o -> Integer.parseInt(o.toString()));
  90. List<Integer> ids = eventService.listObjs(queryWrapper, f);
  91. return ids;
  92. }
  93. public List<Map<String, Object>> getExcelConfig() {
  94. List<Map<String,Object>> maps =new ArrayList<>();
  95. //创建map用于装载:1.自定义字段(标引/非树类型字段、分类/树类型字段) 2.文件夹 3.数据来源,和返回结果
  96. String json = CommonService.readJsonFile("uploadSetting.json");
  97. List<UploadSettingVO> uploadSettingVOs = JsonUtils.jsonToList(json, UploadSettingVO.class);
  98. uploadSettingVOs.forEach(item->{
  99. Map<String, Object> map =new HashMap<>();
  100. map.put("name",item.getName());
  101. map.put("id",item.getSourceId());
  102. maps.add(map);
  103. });
  104. return maps;
  105. }
  106. }