src/main/java/com/whyc/constant/UserOperation.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/controller/UserLogController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/UserLogMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/UserLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/UserLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/constant/UserOperation.java
@@ -9,6 +9,8 @@ TYPE_UPDATE(4,"修改"), TYPE_DELETE(5,"删除"), TYPE_UNRECOGNIZED(-1,"无法识别的操作类型"), /**操作分类 TODO,不确定会使用*/ SORT_LOGIN(1000,"登录"), SORT_COMMON(1001,"常规操作"); src/main/java/com/whyc/controller/UserLogController.java
New file @@ -0,0 +1,30 @@ package com.whyc.controller; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.pojo.UserLog; import com.whyc.service.UserLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 用户操作日志 */ @RestController @RequestMapping("userLog") @Api(tags = "用户操作事件") public class UserLogController { @Autowired private UserLogService service; @ApiOperation(value = "分页") @PostMapping("page") public Response<PageInfo<UserLog>> getPage(@RequestParam int pageNum, @RequestParam int pageSize, @RequestBody UserLog userLog){ PageInfo<UserLog> pageInfo = service.getPage(pageNum,pageSize,userLog); return new Response<PageInfo<UserLog>>().set(1,pageInfo); } } src/main/java/com/whyc/mapper/UserLogMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.UserLog; public interface UserLogMapper extends CustomMapper<UserLog> { } src/main/java/com/whyc/pojo/UserLog.java
New file @@ -0,0 +1,107 @@ package com.whyc.pojo; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.ibatis.type.Alias; import java.util.Date; @TableName(value = "tb_user_log") @Alias("UserLog") public class UserLog { @TableId private Integer num; @TableField("uId") private Integer uId; @TableField("uOprateType") private Integer operationType; @TableField("uOprateDay") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") private Date operationTime; @TableField("uTerminalIp") private String terminalIp; @TableField("uOprateMsg") private String operationMsg; private String operationDetail; @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") private Date operationTime2; @TableField(exist = false) private String operationTypeStr; public String getOperationTypeStr() { return operationTypeStr; } public void setOperationTypeStr(String operationTypeStr) { this.operationTypeStr = operationTypeStr; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public Integer getUId() { return uId; } public void setUId(Integer uId) { this.uId = uId; } public Integer getOperationType() { return operationType; } public void setOperationType(Integer operationType) { this.operationType = operationType; } public Date getOperationTime() { return operationTime; } public void setOperationTime(Date operationTime) { this.operationTime = operationTime; } public Date getOperationTime2() { return operationTime2; } public void setOperationTime2(Date operationTime2) { this.operationTime2 = operationTime2; } public String getTerminalIp() { return terminalIp; } public void setTerminalIp(String terminalIp) { this.terminalIp = terminalIp; } public String getOperationMsg() { return operationMsg; } public void setOperationMsg(String operationMsg) { this.operationMsg = operationMsg; } public String getOperationDetail() { return operationDetail; } public void setOperationDetail(String operationDetail) { this.operationDetail = operationDetail; } } src/main/java/com/whyc/service/UserLogService.java
New file @@ -0,0 +1,47 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.constant.UserOperation; import com.whyc.mapper.UserLogMapper; import com.whyc.pojo.UserLog; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service public class UserLogService { @Resource private UserLogMapper mapper; public PageInfo<UserLog> getPage(int pageNum, int pageSize, UserLog userLog) { QueryWrapper<UserLog> wrapper = Wrappers.query(); if(userLog.getUId()!=null){ wrapper.eq("uId",userLog.getUId()); } if(userLog.getOperationType()!=null){ wrapper.eq("uOprateType",userLog.getOperationType()); } wrapper.between("uOprateDay",userLog.getOperationTime(),userLog.getOperationTime2()); PageHelper.startPage(pageNum,pageSize,true); List<UserLog> userLogList = mapper.selectList(wrapper); userLogList.stream().forEach(userLog1 -> { switch (userLog1.getOperationType()){ case 1: userLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN.getTypeName());break; case 2: userLog1.setOperationTypeStr(UserOperation.TYPE_LOGOUT.getTypeName());break; case 3: userLog1.setOperationTypeStr(UserOperation.TYPE_ADD.getTypeName());break; case 4: userLog1.setOperationTypeStr(UserOperation.TYPE_UPDATE.getTypeName());break; case 5: userLog1.setOperationTypeStr(UserOperation.TYPE_DELETE.getTypeName());break; default:userLog1.setOperationTypeStr(UserOperation.TYPE_UNRECOGNIZED.getTypeName()); } }); PageInfo<UserLog> pageInfo = new PageInfo<>(userLogList); return pageInfo; } }