SysOperLogServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.ruoyi.system.service.impl;
  2. import cn.hutool.core.lang.Validator;
  3. import cn.hutool.core.util.ArrayUtil;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.ruoyi.system.domain.SysOperLog;
  8. import com.ruoyi.system.mapper.SysOperLogMapper;
  9. import com.ruoyi.system.service.ISysOperLogService;
  10. import org.springframework.stereotype.Service;
  11. import java.util.Arrays;
  12. import java.util.Date;
  13. import java.util.List;
  14. import java.util.Map;
  15. /**
  16. * 操作日志 服务层处理
  17. *
  18. * @author ruoyi
  19. */
  20. @Service
  21. public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOperLog> implements ISysOperLogService {
  22. /**
  23. * 新增操作日志
  24. *
  25. * @param operLog 操作日志对象
  26. */
  27. @Override
  28. public void insertOperlog(SysOperLog operLog) {
  29. operLog.setOperTime(new Date());
  30. save(operLog);
  31. }
  32. /**
  33. * 查询系统操作日志集合
  34. *
  35. * @param operLog 操作日志对象
  36. * @return 操作日志集合
  37. */
  38. @Override
  39. public List<SysOperLog> selectOperLogList(SysOperLog operLog) {
  40. Map<String, Object> params = operLog.getParams();
  41. return list(new LambdaQueryWrapper<SysOperLog>()
  42. .like(StrUtil.isNotBlank(operLog.getTitle()),SysOperLog::getTitle,operLog.getTitle())
  43. .eq(operLog.getBusinessType() != null && operLog.getBusinessType() > 0,
  44. SysOperLog::getBusinessType,operLog.getBusinessType())
  45. .func(f -> {
  46. if (ArrayUtil.isNotEmpty(operLog.getBusinessTypes())){
  47. f.in(SysOperLog::getBusinessType, Arrays.asList(operLog.getBusinessTypes()));
  48. }
  49. })
  50. .eq(operLog.getStatus() != null && operLog.getStatus() > 0,
  51. SysOperLog::getStatus,operLog.getStatus())
  52. .like(StrUtil.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
  53. .apply(Validator.isNotEmpty(params.get("beginTime")),
  54. "date_format(login_time,'%y%m%d') &gt;= date_format({0},'%y%m%d')",
  55. params.get("beginTime"))
  56. .apply(Validator.isNotEmpty(params.get("endTime")),
  57. "date_format(login_time,'%y%m%d') &lt;= date_format({0},'%y%m%d'",
  58. params.get("endTime"))
  59. .orderByDesc(SysOperLog::getOperId));
  60. }
  61. /**
  62. * 批量删除系统操作日志
  63. *
  64. * @param operIds 需要删除的操作日志ID
  65. * @return 结果
  66. */
  67. @Override
  68. public int deleteOperLogByIds(Long[] operIds) {
  69. return baseMapper.deleteBatchIds(Arrays.asList(operIds));
  70. }
  71. /**
  72. * 查询操作日志详细
  73. *
  74. * @param operId 操作ID
  75. * @return 操作日志对象
  76. */
  77. @Override
  78. public SysOperLog selectOperLogById(Long operId) {
  79. return getById(operId);
  80. }
  81. /**
  82. * 清空操作日志
  83. */
  84. @Override
  85. public void cleanOperLog() {
  86. remove(new LambdaQueryWrapper<>());
  87. }
  88. }