|
@@ -0,0 +1,116 @@
|
|
|
+
|
|
|
+ * Author: wangjian
|
|
|
+ * 生成controller
|
|
|
+ */
|
|
|
+package com.tofly.base.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Assert;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.tofly.base.entity.User;
|
|
|
+import com.tofly.base.service.UserService;
|
|
|
+import com.tofly.common.core.entity.ResultRespone;
|
|
|
+import com.tofly.common.core.util.IpUtil;
|
|
|
+import com.tofly.common.log.annotation.ToFlyAppLog;
|
|
|
+import com.tofly.base.entity.MenuVisitLog;
|
|
|
+import com.tofly.base.service.MenuVisitLogService;
|
|
|
+import com.tofly.common.oauth.util.SecurityUtils;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiImplicitParam;
|
|
|
+import io.swagger.annotations.ApiImplicitParams;
|
|
|
+import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
+import org.springframework.web.context.request.RequestContextHolder;
|
|
|
+import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+
|
|
|
+ * 菜单访问记录
|
|
|
+ *
|
|
|
+ * @author wangzhun
|
|
|
+ * @date Mon Nov 15 00:00:00 CST 2021
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@AllArgsConstructor
|
|
|
+@RequestMapping("/menuvisitlog")
|
|
|
+@Api(tags="菜单访问记录接口")
|
|
|
+public class MenuVisitLogController {
|
|
|
+ private final UserService userService;
|
|
|
+ private final MenuVisitLogService menuVisitLogService;
|
|
|
+
|
|
|
+
|
|
|
+ * 分页查询
|
|
|
+ * @param page 分页对象
|
|
|
+ * @param menuVisitLog 菜单访问记录
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/page" )
|
|
|
+ @ApiOperation(value = "分页查询")
|
|
|
+ public ResultRespone getMenuVisitLogPage(Page page, @ModelAttribute MenuVisitLog menuVisitLog) {
|
|
|
+ return ResultRespone.success(menuVisitLogService.page(page, Wrappers.query(menuVisitLog)));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 通过id查询菜单访问记录
|
|
|
+ * @param id id
|
|
|
+ * @return ResultRespone
|
|
|
+ */
|
|
|
+ @GetMapping("/{id}" )
|
|
|
+ @ApiOperation(value = "通过ID查询")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "Long")
|
|
|
+ })
|
|
|
+ public ResultRespone getById(@PathVariable("id" ) Long id) {
|
|
|
+ return ResultRespone.success(menuVisitLogService.getById(id));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 新增菜单访问记录
|
|
|
+ * @param menuVisitLog 菜单访问记录
|
|
|
+ * @return ResultRespone
|
|
|
+ */
|
|
|
+ @ToFlyAppLog(title="新增菜单访问记录" )
|
|
|
+ @ApiOperation(value = "新增菜单访问记录")
|
|
|
+ @PostMapping
|
|
|
+ public ResultRespone save(@RequestBody MenuVisitLog menuVisitLog) {
|
|
|
+
|
|
|
+ paraCompletAndValidate(menuVisitLog);
|
|
|
+
|
|
|
+
|
|
|
+ return ResultRespone.success(menuVisitLogService.save(menuVisitLog));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 参数补全 以及验证
|
|
|
+ * @param menuVisitLog
|
|
|
+ */
|
|
|
+ private void paraCompletAndValidate(MenuVisitLog menuVisitLog) {
|
|
|
+
|
|
|
+ Assert.notNull(menuVisitLog.getMenuName(),"请传入菜单名称");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Long userId = SecurityUtils.getUserId();
|
|
|
+ User byId = userService.getById(userId);
|
|
|
+ menuVisitLog.setOperateUserId(userId);
|
|
|
+ menuVisitLog.setOperateUser(byId.getRealName());
|
|
|
+ menuVisitLog.setOperateTime(new Date());
|
|
|
+ menuVisitLog.setDepartmentName(byId.getDepartmentName());
|
|
|
+
|
|
|
+ HttpServletRequest request = ((ServletRequestAttributes) Objects
|
|
|
+ .requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
|
|
+ menuVisitLog.setOperateIp(IpUtil.getIpAddr(request));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|