QueryController.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. package com.ruoyi.web.controller.system;
  2. import com.ruoyi.common.annotation.RepeatSubmit;
  3. import com.ruoyi.common.config.RuoYiConfig;
  4. import com.ruoyi.common.constant.UserConstants;
  5. import com.ruoyi.common.core.controller.BaseController;
  6. import com.ruoyi.common.core.domain.AjaxResult;
  7. import com.ruoyi.common.core.domain.entity.ColumnNavigationBar;
  8. import com.ruoyi.common.core.domain.entity.ColumnNews;
  9. import com.ruoyi.common.core.domain.entity.ImageDatas;
  10. import com.ruoyi.common.core.domain.entity.SysDictData;
  11. import com.ruoyi.common.core.page.TableDataInfo;
  12. import com.ruoyi.common.utils.StringUtils;
  13. import com.ruoyi.common.utils.file.FileUploadUtils;
  14. import com.ruoyi.framework.config.ServerConfig;
  15. import com.ruoyi.system.domain.*;
  16. import com.ruoyi.system.service.*;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.security.access.prepost.PreAuthorize;
  19. import org.springframework.validation.annotation.Validated;
  20. import org.springframework.web.bind.annotation.*;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import java.util.ArrayList;
  23. import java.util.List;
  24. /**门户接口,对外开放
  25. * @author tjf
  26. * @Date: 2021/12/27/11:36
  27. */
  28. @RestController
  29. @RequestMapping("/gateway/query")
  30. @CrossOrigin
  31. public class QueryController extends BaseController {
  32. @Autowired
  33. private IQueryService queryService;
  34. @Autowired
  35. private IColumnNavigationBarService columnNavigationBarService;
  36. @Autowired
  37. private IImageDataService imageDataService;
  38. @Autowired
  39. private IColumnNewsService columnNewsService;
  40. @Autowired
  41. private ISysNoticeService noticeService;
  42. @Autowired
  43. private IFriendLinkService friendLinkService;
  44. @Autowired
  45. private IInspectInforService inspectInforService;
  46. @Autowired
  47. private ServerConfig serverConfig;
  48. @Autowired
  49. private ISysDictTypeService dictTypeService;
  50. @Autowired
  51. private IMiniprogramQueryLogService miniprogramQueryLogService;
  52. /**
  53. * 门户查询报告信息
  54. */
  55. @PostMapping("/getReport")
  56. public AjaxResult list(ReportQueryLog reportQueryLog)
  57. {
  58. return queryService.selectReport(reportQueryLog);
  59. }
  60. /**
  61. * 小程序根据二维码查询
  62. */
  63. //@PostMapping("/queryQr")
  64. public AjaxResult queryQr(ReportQueryLog reportQueryLog)
  65. {
  66. return queryService.queryQr(reportQueryLog);
  67. }
  68. /**
  69. * 小程序根据编号查询
  70. */
  71. @PostMapping("/queryReportNum")
  72. public AjaxResult queryReportNum(ReportQueryLog reportQueryLog)
  73. {
  74. return queryService.queryReportNum(reportQueryLog);
  75. }
  76. /**
  77. * 获取栏目导航下拉树列表
  78. */
  79. @GetMapping("/treeselect")
  80. public AjaxResult treeselect(ColumnNavigationBar columnNavigationBar)
  81. {
  82. //默认查询是导航
  83. columnNavigationBar.setIsNavigationBar("Y");
  84. List<ColumnNavigationBar> columnNavigationBars = columnNavigationBarService.selectColumnNavigationBarList(columnNavigationBar);
  85. return AjaxResult.success(columnNavigationBarService.buildColumnTreeSelect(columnNavigationBars));
  86. }
  87. /**
  88. * 获取各个部分首页标题
  89. */
  90. @GetMapping("/titleList")
  91. public AjaxResult titleList(ColumnNavigationBar columnNavigationBar)
  92. {
  93. List<ColumnNavigationBar> columnNavigationBars = columnNavigationBarService.selectColumnNavigationBarListMenHu(columnNavigationBar);
  94. return AjaxResult.success(columnNavigationBars);
  95. }
  96. /**
  97. * 获取首大图
  98. */
  99. @PostMapping("/getRotationChart")
  100. public AjaxResult getRotationChart(ImageDatas imageDatas)
  101. {
  102. List<ImageDatas> list = imageDataService.selectImageDatasListMenHu(imageDatas);
  103. return AjaxResult.success(list);
  104. }
  105. /**
  106. * 获取首页轮播图
  107. */
  108. @PostMapping("/getRotation")
  109. public AjaxResult getRotation()
  110. {
  111. List<ColumnNews> list = columnNewsService.getRotation();
  112. return AjaxResult.success(list);
  113. }
  114. /**
  115. * 提交送检信息
  116. */
  117. @PostMapping("/sendInspectInFor")
  118. public AjaxResult sendInspectInFor(InspectInfor inspectInfor)
  119. {
  120. /* if (UserConstants.NOT_UNIQUE.equals(inspectInforService.checkSampleNameUnique(inspectInfor)))
  121. {
  122. return AjaxResult.error("新增样品名称'" + inspectInfor.getSampleName() + "'失败,样品名称已存在");
  123. }*/
  124. return toAjax(inspectInforService.insertInspectInfor(inspectInfor));
  125. }
  126. /**
  127. * 获取新闻文章
  128. */
  129. @PostMapping("/getNewS")
  130. public TableDataInfo getNewS(ColumnNews columnNews)
  131. {
  132. startPage();
  133. List<ColumnNews> list = columnNewsService.selectColumnNewsListMenHu(columnNews);
  134. return getDataTable(list);
  135. }
  136. /**
  137. * 获取新闻文章详情
  138. */
  139. @GetMapping("/{newsId}")
  140. public AjaxResult getNewSDetail(@PathVariable("newsId") Integer newsId)
  141. {
  142. ColumnNews columnNews = columnNewsService.selectColumnNewsDetailMenHu(newsId);
  143. return AjaxResult.success(columnNews);
  144. }
  145. /**
  146. * 获取通知公告
  147. */
  148. @PostMapping("/getNotice")
  149. public TableDataInfo getNotice(SysNotice notice)
  150. {
  151. startPage();
  152. List<SysNotice> list = noticeService.selectNoticeListMenHu(notice);
  153. return getDataTable(list);
  154. }
  155. /**
  156. * 获取友链
  157. */
  158. @PostMapping("/getFriendLink")
  159. public AjaxResult getFriendLink()
  160. {
  161. List<FriendLink> list = friendLinkService.selectFriendLinkList(new FriendLink());
  162. return AjaxResult.success(list);
  163. }
  164. /**
  165. * 给档案拥有者发送询问短信 todo做好防御
  166. * @param reportQueryLog
  167. * @return
  168. */
  169. @PostMapping("/sendQueryNum")
  170. @RepeatSubmit
  171. public AjaxResult sendQueryNum(ReportQueryLog reportQueryLog)
  172. {
  173. return queryService.sendQueryNum(reportQueryLog);
  174. }
  175. /**
  176. * 获取验证码 todo做好防御
  177. * @param reportQueryLog
  178. * @return
  179. */
  180. @PostMapping("/getCode")
  181. @RepeatSubmit
  182. public AjaxResult getCode( ReportQueryLog reportQueryLog)
  183. {
  184. return queryService.sendSms(reportQueryLog);
  185. }
  186. /**
  187. * 门户二维码上传请求
  188. */
  189. @PostMapping("/common/upload")
  190. public AjaxResult uploadFile(MultipartFile file) throws Exception
  191. {
  192. try
  193. {
  194. // 上传文件路径
  195. String filePath = RuoYiConfig.getUploadQrPath();
  196. // 上传并返回新文件名称
  197. String fileName = FileUploadUtils.upload(filePath, file);
  198. String originalFilename = file.getOriginalFilename();
  199. String url = RuoYiConfig.getStaticIp() + fileName;
  200. String profile = RuoYiConfig.getUploadQrPath();
  201. String absolutePath = fileName.replace("/profile/qrUpload",profile);
  202. AjaxResult ajax = AjaxResult.success();
  203. ajax.put("fileName", fileName);
  204. ajax.put("absolutePath", absolutePath);
  205. ajax.put("originalFilename", originalFilename);
  206. ajax.put("url", url);
  207. return ajax;
  208. }
  209. catch (Exception e)
  210. {
  211. return AjaxResult.error(e.getMessage());
  212. }
  213. }
  214. /**
  215. * 根据字典类型查询字典数据信息
  216. */
  217. @GetMapping(value = "/type/{dictType}")
  218. public AjaxResult dictType(@PathVariable String dictType)
  219. {
  220. List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
  221. if (StringUtils.isNull(data))
  222. {
  223. data = new ArrayList<SysDictData>();
  224. }
  225. return AjaxResult.success(data);
  226. }
  227. /**
  228. * 查询小程序查询历史记录列表
  229. */
  230. @PostMapping("/miniProgramQueryLog")
  231. public TableDataInfo list(@RequestBody MiniprogramQueryLog miniprogramQueryLog)
  232. {
  233. startPage();
  234. List<MiniprogramQueryLog> list = miniprogramQueryLogService.selectMiniprogramQueryLogList(miniprogramQueryLog);
  235. return getDataTable(list);
  236. }
  237. }