TULogController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package com.sooka.system.controller;
  2. import java.io.Serializable;
  3. import java.util.Deque;
  4. import java.util.List;
  5. import com.github.pagehelper.Page;
  6. import com.github.pagehelper.PageHelper;
  7. import com.sooka.common.annotation.Log;
  8. import com.sooka.common.constant.ShiroConstants;
  9. import com.sooka.common.core.controller.BaseController;
  10. import com.sooka.common.core.domain.AjaxResult;
  11. import com.sooka.common.core.page.PageDomain;
  12. import com.sooka.common.core.page.TableDataInfo;
  13. import com.sooka.common.core.page.TableSupport;
  14. import com.sooka.common.core.text.Convert;
  15. import com.sooka.common.enums.BusinessType;
  16. import com.sooka.common.utils.CacheUtils;
  17. import com.sooka.common.utils.poi.ExcelUtil;
  18. import org.apache.shiro.authz.annotation.RequiresPermissions;
  19. import org.apache.shiro.cache.Cache;
  20. import org.apache.shiro.cache.CacheManager;
  21. import org.apache.shiro.cache.ehcache.EhCache;
  22. import org.apache.shiro.cache.ehcache.EhCacheManager;
  23. import org.apache.xmlbeans.impl.common.SystemCache;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.stereotype.Controller;
  26. import org.springframework.ui.ModelMap;
  27. import org.springframework.web.bind.annotation.GetMapping;
  28. import org.springframework.web.bind.annotation.PathVariable;
  29. import org.springframework.web.bind.annotation.PostMapping;
  30. import org.springframework.web.bind.annotation.RequestMapping;
  31. import org.springframework.web.bind.annotation.ResponseBody;
  32. import com.sooka.system.domain.TULog;
  33. import com.sooka.system.service.ITULogService;
  34. /**
  35. * 接口调用日志Controller
  36. *
  37. * @author lei
  38. * @date 2021-07-06
  39. */
  40. @Controller
  41. @RequestMapping("/system/log")
  42. public class TULogController extends BaseController
  43. {
  44. private String prefix = "system/log";
  45. @Autowired
  46. private ITULogService tULogService;
  47. @RequiresPermissions("system:log:view")
  48. @GetMapping()
  49. public String log()
  50. {
  51. return prefix + "/log";
  52. }
  53. /**
  54. * 跳转日志列表
  55. */
  56. @GetMapping("/logList/{id}")
  57. public String logList(@PathVariable("id") String id, ModelMap modelMap)
  58. {
  59. modelMap.put("intId",id);
  60. return prefix + "/logList";
  61. }
  62. /**
  63. * 查询接口调用日志列表
  64. */
  65. @RequiresPermissions("system:log:list")
  66. @PostMapping("/list")
  67. @ResponseBody
  68. public TableDataInfo list(String id,String loginName, String platformInterfacetype)
  69. {
  70. TULog tULog = new TULog();
  71. tULog.setInterfaceinfoId(id);
  72. tULog.setLoginName(loginName);
  73. tULog.setPlatformInterfacetype(platformInterfacetype);
  74. startPage();
  75. List<TULog> list = tULogService.selectTULogList(tULog);
  76. return getDataTable(list);
  77. }
  78. /**
  79. * 获取cache name
  80. *
  81. * @return 缓存名
  82. */
  83. public Long getTotal(TULog tULog)
  84. {
  85. Long total = Convert.toLong(CacheUtils.get(tULog.getCacheName(),tULog.getCacheKey()));
  86. if(total == null){
  87. total = tULogService.getLogCount();
  88. CacheUtils.put(tULog.getCacheName(), tULog.getCacheKey(), total);
  89. }
  90. return total;
  91. }
  92. /**
  93. * 导出接口调用日志列表
  94. */
  95. @RequiresPermissions("system:log:export")
  96. @Log(title = "接口调用日志", businessType = BusinessType.EXPORT)
  97. @PostMapping("/export")
  98. @ResponseBody
  99. public AjaxResult export(TULog tULog)
  100. {
  101. List<TULog> list = tULogService.selectTULogList(tULog);
  102. ExcelUtil<TULog> util = new ExcelUtil<TULog>(TULog.class);
  103. return util.exportExcel(list, "log");
  104. }
  105. /**
  106. * 新增接口调用日志
  107. */
  108. @GetMapping("/add")
  109. public String add()
  110. {
  111. return prefix + "/add";
  112. }
  113. /**
  114. * 新增保存接口调用日志
  115. */
  116. @RequiresPermissions("system:log:add")
  117. @Log(title = "接口调用日志", businessType = BusinessType.INSERT)
  118. @PostMapping("/add")
  119. @ResponseBody
  120. public AjaxResult addSave(TULog tULog)
  121. {
  122. return toAjax(tULogService.insertTULog(tULog));
  123. }
  124. /**
  125. * 修改接口调用日志
  126. */
  127. @GetMapping("/edit/{id}")
  128. public String edit(@PathVariable("id") String id, ModelMap mmap)
  129. {
  130. TULog tULog = tULogService.selectTULogById(id);
  131. mmap.put("tULog", tULog);
  132. return prefix + "/edit";
  133. }
  134. /**
  135. * 查看接口调用日志详情
  136. */
  137. @GetMapping("/detail/{id}")
  138. public String detail(@PathVariable("id") String id, ModelMap mmap) {
  139. TULog tULog = tULogService.selectTULogById(id);
  140. mmap.put("tULog", tULog);
  141. return prefix + "/detail";
  142. }
  143. /**
  144. * 修改保存接口调用日志
  145. */
  146. @RequiresPermissions("system:log:edit")
  147. @Log(title = "接口调用日志", businessType = BusinessType.UPDATE)
  148. @PostMapping("/edit")
  149. @ResponseBody
  150. public AjaxResult editSave(TULog tULog)
  151. {
  152. return toAjax(tULogService.updateTULog(tULog));
  153. }
  154. /**
  155. * 删除接口调用日志
  156. */
  157. @RequiresPermissions("system:log:remove")
  158. @Log(title = "接口调用日志", businessType = BusinessType.DELETE)
  159. @PostMapping( "/remove")
  160. @ResponseBody
  161. public AjaxResult remove(String ids)
  162. {
  163. return toAjax(tULogService.deleteTULogByIds(ids));
  164. }
  165. }