UploadObjectController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. package com.jiayue.ipfcst.fileupload.controller;
  2. import com.jiayue.ipfcst.aop.BaseInfoImage;
  3. import com.jiayue.ipfcst.aop.SaveValidate;
  4. import com.jiayue.ipfcst.common.core.exception.BusinessException;
  5. import com.jiayue.ipfcst.common.core.web.vo.ResponseVO;
  6. import com.jiayue.ipfcst.common.data.constant.enums.FileTypeEnum;
  7. import com.jiayue.ipfcst.common.data.entity.*;
  8. import com.jiayue.ipfcst.common.data.repository.UploadObjectRepository;
  9. import com.jiayue.ipfcst.fileupload.service.UploadFileChannelService;
  10. import com.jiayue.ipfcst.fileupload.service.UploadObjectService;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.ArrayList;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. import java.util.stream.Collectors;
  19. @RestController
  20. @RequestMapping("uploadObject")
  21. @Slf4j
  22. public class UploadObjectController {
  23. @Autowired
  24. private final UploadObjectService uploadObjectService;
  25. private final UploadFileChannelService uploadFileChannelService;
  26. public UploadObjectController(UploadObjectService uploadObjectService, UploadFileChannelService uploadFileChannelService) {
  27. this.uploadObjectService = uploadObjectService;
  28. this.uploadFileChannelService = uploadFileChannelService;
  29. }
  30. @Autowired UploadObjectRepository uploadObjectRepository;
  31. /**
  32. * 获取通道对象
  33. *
  34. * @return
  35. */
  36. @GetMapping()
  37. public ResponseVO get() {
  38. List list = new ArrayList();
  39. List<UploadObject> uploadObjectList = uploadObjectService.get();
  40. return ResponseVO.success(uploadObjectList);
  41. }
  42. /**
  43. * 保存通道对象
  44. *
  45. * @param uploadObject
  46. * @return
  47. */
  48. @PostMapping
  49. @SaveValidate
  50. @BaseInfoImage
  51. public ResponseVO add(@RequestBody UploadObject uploadObject) {
  52. try {
  53. uploadObjectService.save(uploadObject);
  54. return ResponseVO.success(1);
  55. } catch (Exception be) {
  56. log.error("保存通道对象出错" + be);
  57. return ResponseVO.success("失败");
  58. }
  59. }
  60. /**
  61. * 保存通道对象
  62. *
  63. * @param uploadObject
  64. * @return
  65. */
  66. @PutMapping
  67. @SaveValidate
  68. @BaseInfoImage
  69. public ResponseVO update(@RequestBody UploadObject uploadObject) {
  70. try {
  71. uploadObjectService.save(uploadObject);
  72. return ResponseVO.success(1);
  73. } catch (Exception be) {
  74. log.error("修改通道对象出错" + be);
  75. return ResponseVO.success("失败");
  76. }
  77. }
  78. /**
  79. * 删除通道对象
  80. *
  81. * @param id
  82. * @return
  83. */
  84. @DeleteMapping("/{id}")
  85. @SaveValidate
  86. @BaseInfoImage
  87. public ResponseVO delete(@PathVariable Integer id) {
  88. try {
  89. uploadFileChannelService.deleteByObjId(id);
  90. uploadObjectService.delete(id);
  91. return ResponseVO.success(1);
  92. } catch (Exception be) {
  93. log.error("保存通道对象出错" + be);
  94. return ResponseVO.success("失败");
  95. }
  96. }
  97. /**
  98. * 获取文件上报类型
  99. */
  100. @GetMapping("getFileType")
  101. public ResponseVO getFileType() {
  102. List list = new ArrayList();
  103. try {
  104. for (FileTypeEnum e : FileTypeEnum.values()) {
  105. Map map = new HashMap();
  106. map.put("label", e.getMessage());
  107. map.put("key", e.name());
  108. map.put("value", e.name());
  109. list.add(map);
  110. }
  111. return ResponseVO.success(list);
  112. } catch (Exception e) {
  113. e.printStackTrace();
  114. log.error(" 获取通道文件上报类型异常");
  115. return ResponseVO.fail(list);
  116. }
  117. }
  118. /**
  119. * 根据上报id来查询
  120. * @param uploadObjectId
  121. * @return UploadObject 上报对象
  122. */
  123. @GetMapping("getByuploadObjectId/{uploadObjectId}")
  124. public ResponseVO getFileTypeByupId(@PathVariable("uploadObjectId") Integer uploadObjectId){
  125. List list = new ArrayList();
  126. UploadObject uploadObject = uploadObjectRepository.findById(uploadObjectId).get();
  127. list.add(uploadObject);
  128. return ResponseVO.success(list);
  129. }
  130. /**
  131. * 获取对应省份的上报文件类型
  132. */
  133. @GetMapping("getFileTypeByProvince")
  134. public ResponseVO getFileTypeByProvince(){
  135. Map<String, String> uploadFileType = uploadObjectService.getUploadFileType();
  136. List<Map<String, String>> list = new ArrayList<>();
  137. for (String key : uploadFileType.keySet()) {
  138. Map<String, String> map = new HashMap<>();
  139. //map.keySet()返回的是所有key的值
  140. String value = uploadFileType.get(key);//得到每个key多对用value的值
  141. map.put("label", value);
  142. map.put("key", key);
  143. map.put("value", key);
  144. list.add(map);
  145. }
  146. return ResponseVO.success(list);
  147. }
  148. /**
  149. * 获取所有FTPSFTP通道 whc
  150. */
  151. @GetMapping("getFtpSftpChannel")
  152. public ResponseVO getAllFtpSftp(){
  153. //获取所有上报对象
  154. List<UploadObject> uploadObjectList = uploadObjectService.get();
  155. List<UploadFileChannel> uploadFileChannelList = new ArrayList<>();
  156. // 过滤出ftp/sftp的上报对象
  157. uploadObjectList = uploadObjectList.stream().filter(s -> s.getUploadProtocolEnum().toString().equals("E4") || s.getUploadProtocolEnum().toString().equals("E5")).collect(Collectors.toList());
  158. if (uploadObjectList.size() > 0) {
  159. // 获取通道信息
  160. List<UploadFileChannel> uploadFileChannels = uploadFileChannelService.get();
  161. //获取FTP/SFTP通道
  162. for(int i =0 ; i<uploadObjectList.size();i++){
  163. for(int j = 0 ; j<uploadFileChannels.size() ; j++){
  164. if(uploadObjectList.get(i).getId().equals(uploadFileChannels.get(j).getUploadObjectId())){
  165. uploadFileChannelList.add(uploadFileChannels.get(j));
  166. }
  167. }
  168. }
  169. }
  170. return ResponseVO.success(uploadFileChannelList);
  171. }
  172. /**
  173. * 检查E402 单机转发上送文件是否符合配置要求
  174. *
  175. * @return Boolean
  176. */
  177. @GetMapping("/checkE402")
  178. public ResponseVO checkE402() throws BusinessException {
  179. return ResponseVO.success(uploadObjectService.checkE402());
  180. }
  181. }