Parcourir la source

日志接口基本完成

soft5566 il y a 2 ans
Parent
commit
635723d38e

+ 1 - 0
.gitignore

@@ -39,6 +39,7 @@ target/
 *.iml
 *.ipr
 *.iws
+*.xml
 
 ### Eclipse
 

+ 21 - 32
.idea/workspace.xml

@@ -4,31 +4,16 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="33456f28-da03-4d10-99dd-fd9bd193cf84" name="Default Changelist" comment="Default Changelist">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/Task.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/QuartzJobUtils.java" afterDir="false" />
+    <list default="true" id="33456f28-da03-4d10-99dd-fd9bd193cf84" name="Default Changelist" comment="任务通过接口操作">
+      <change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/MybatisPlusApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/MybatisPlusApplication.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDataTaskControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDataTaskControllerAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/CommonUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataClassController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataClassController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataSourceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataSourceController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataTaskController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataTaskController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDataTaskMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/SmartDataTaskMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDataTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDataTask.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataSourceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataSourceService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataTaskService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataTaskService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataSourceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataSourceServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDataSourceLogControllerAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/SmartDataSourceLogControllerAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/QuartzJobUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/QuartzJobUtils.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataSourceLogController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/SmartDataSourceLogController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDataSourceLog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/SmartDataSourceLog.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataSourceLogService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/SmartDataSourceLogService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataSourceLogServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataSourceLogServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataTaskServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/SmartDataTaskServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/META-INF/mybatis_plus.kotlin_module" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/META-INF/spring-configuration-metadata.json" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-archiver/pom.properties" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -569,7 +554,8 @@
       <workItem from="1702030090469" duration="6723000" />
       <workItem from="1702041902347" duration="730000" />
       <workItem from="1702101136568" duration="17031000" />
-      <workItem from="1702198575272" duration="24747000" />
+      <workItem from="1702198575272" duration="25051000" />
+      <workItem from="1702254015850" duration="11585000" />
     </task>
     <task id="LOCAL-00001" summary="Default Changelist">
       <option name="closed" value="true" />
@@ -587,7 +573,15 @@
       <option name="project" value="LOCAL" />
       <updated>1702122558393</updated>
     </task>
-    <option name="localTasksCounter" value="3" />
+    <task id="LOCAL-00003" summary="任务通过接口操作">
+      <option name="closed" value="true" />
+      <created>1702224101946</created>
+      <option name="number" value="00003" />
+      <option name="presentableId" value="LOCAL-00003" />
+      <option name="project" value="LOCAL" />
+      <updated>1702224101946</updated>
+    </task>
+    <option name="localTasksCounter" value="4" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
@@ -700,7 +694,8 @@
   </component>
   <component name="VcsManagerConfiguration">
     <MESSAGE value="Default Changelist" />
-    <option name="LAST_COMMIT_MESSAGE" value="Default Changelist" />
+    <MESSAGE value="任务通过接口操作" />
+    <option name="LAST_COMMIT_MESSAGE" value="任务通过接口操作" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -722,12 +717,6 @@
         <PinnedItemInfo parentTag="com.baomidou.mybatisplus.core.conditions.query.QueryWrapper" memberName="paramNameValuePairs" />
       </pinned-members>
     </pin-to-top-manager>
-    <watches-manager>
-      <configuration name="SpringBootApplicationConfigurationType">
-        <watch expression="smartApply.dsClsId" />
-        <watch expression="jobDetail" />
-      </configuration>
-    </watches-manager>
   </component>
   <component name="antWorkspaceConfiguration">
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />

+ 11 - 7
src/main/java/com/template/api/SmartDataSourceLogControllerAPI.java

@@ -15,21 +15,25 @@ import org.springframework.web.bind.annotation.*;
  * @Version: 1.0
  */
 @RequestMapping("/api/smartDataSourceLog")
-@Api(tags = {"SmartDataSourceLogControllerAPI"}, value = "操作记录")
+@Api(tags = {"SmartDataSourceLogControllerAPI"}, value = "操作日志记录")
 public interface SmartDataSourceLogControllerAPI {
     @PostMapping(value = "/insertSmartDataSourceLog")
-    @ApiOperation(value = "添加操作记录", notes = "添加操作记录数据", httpMethod = "POST")
-    CommonResult insertSmartDataSourceLog(@Validated @RequestBody SmartDataSourceLog smartApply, BindingResult bindingResult);
+    @ApiOperation(value = "添加操作日志记录", notes = "添加操作日志记录数据", httpMethod = "POST")
+    CommonResult insertSmartDataSourceLog(@Validated @RequestBody SmartDataSourceLog smartDataSourceLog, BindingResult bindingResult);
 
 //    @PostMapping(value = "/updateSmartDataSourceLogById")
-//    @ApiOperation(value = "编辑操作记录数据", notes = "编辑操作记录数据", httpMethod = "POST")
+//    @ApiOperation(value = "编辑操作日志记录数据", notes = "编辑操作日志记录数据", httpMethod = "POST")
 //    CommonResult updateSmartDataSourceLogById(@Validated @RequestBody SmartDataSourceLog ra, BindingResult bindingResult);
 
     @GetMapping(value = "/queryPageSmartDataSourceLog")
-    @ApiOperation(value = "操作记录分页数据", notes = "操作记录分页数据", httpMethod = "GET")
-    CommonResult queryPageSmartDataSourceLogs(@RequestParam int currentPage, @RequestParam int pageCount, String name);
+    @ApiOperation(value = "操作日志记录分页数据", notes = "操作日志记录分页数据", httpMethod = "GET")
+    CommonResult queryPageSmartDataSourceLogs(@RequestParam int currentPage,
+                                              @RequestParam int pageCount,
+                                              @RequestParam(required = false) String startTime,
+                                              @RequestParam(required = false) String endTime,
+                                              SmartDataSourceLog smartDataSourceLog);
 
 //    @GetMapping(value = "/deleteSmartDataSourceLogById")
-//    @ApiOperation(value = "根据ID删除指定操作记录", notes = "根据ID删除指定操作记录", httpMethod = "GET")
+//    @ApiOperation(value = "根据ID删除指定操作日志记录", notes = "根据ID删除指定操作日志记录", httpMethod = "GET")
 //    CommonResult deleteSmartDataSourceLogById(@RequestParam int id);
 }

+ 37 - 34
src/main/java/com/template/common/utils/QuartzJobUtils.java

@@ -17,9 +17,9 @@ public class QuartzJobUtils {
      * @param smartDataTask 定时任务信息类
      */
     public static Map<String, Object> createScheduleJob(Scheduler scheduler, SmartDataTask smartDataTask) {
-        boolean exists = exists(scheduler, smartDataTask.getTkName());
-        if (exists) {
-            return CommonUtil.getReturnMap(String.valueOf(0), "【" + smartDataTask.getTkName() + "】定时任务已在运行!");
+        Map<String, Object> exists = exists(scheduler, smartDataTask.getTkName());
+        if ("0".equals(exists.get("code"))) {
+            return exists;
         }
         try {
             Class<? extends Job> jobClass = (Class<? extends Job>) Class.forName(JobClass);
@@ -38,7 +38,7 @@ public class QuartzJobUtils {
             //把触发器与任务进行绑定
             scheduler.scheduleJob(jobDetail, cronTrigger);
 
-            return CommonUtil.getReturnMap(String.valueOf(0), "【" + smartDataTask.getTkName() + "】定时任务创建成功!");
+            return CommonUtil.getReturnMap(String.valueOf(0), "定时任务【" + smartDataTask.getTkName() + "】创建成功!");
         } catch (ClassNotFoundException e) {
             return CommonUtil.getReturnMap(String.valueOf(1), "找不到定时任务类!");
         } catch (SchedulerException e) {
@@ -53,27 +53,30 @@ public class QuartzJobUtils {
      * @param jobName   任务名称
      */
     public static CommonResult pauseScheduleJob(Scheduler scheduler, String jobName) {
-        boolean exists = exists(scheduler, jobName);
-        if (!exists) {
-            return CommonResult.ok("【" + jobName + "】定时任务不存在!");
+        Map<String, Object> exists = exists(scheduler, jobName);
+        if ("1".equals(exists.get("code"))) {
+            return CommonResult.fail((String) exists.get("msg"));
         }
 
         JobKey jobKey = JobKey.jobKey(jobName);
         try {
             scheduler.pauseJob(jobKey);
-            return CommonResult.ok("【" + jobName + "】定时任务已暂停成功!");
+            return CommonResult.ok("定时任务【" + jobName + "】暂停成功!");
         } catch (SchedulerException e) {
-            return CommonResult.ok("【" + jobName + "】定时任务暂停出错:" + e.getMessage());
+            return CommonResult.ok("定时任务【" + jobName + "】暂停出错:" + e.getMessage());
         }
     }
 
-    public static boolean exists(Scheduler scheduler, String jobName) {
+    public static Map<String, Object> exists(Scheduler scheduler, String jobName) {
         JobKey jobKey = new JobKey(jobName);
         try {
-            return scheduler.getJobDetail(jobKey) != null;
+            if (scheduler.getJobDetail(jobKey) != null) {
+                return CommonUtil.getReturnMap("0", "定时任务【" + jobName + "】已在运行!");
+            } else {
+                return CommonUtil.getReturnMap("1", "定时任务【" + jobName + "】不存在!");
+            }
         } catch (SchedulerException e) {
-//            throw new RuntimeException(e);
-            return false;
+            return CommonUtil.getReturnMap("1", "异常:" + e.getMessage());
         }
     }
 
@@ -84,17 +87,17 @@ public class QuartzJobUtils {
      * @param jobName   任务名称
      */
     public static CommonResult resumeScheduleJob(Scheduler scheduler, String jobName) {
-        boolean exists = exists(scheduler, jobName);
-        if (!exists) {
-            return CommonResult.ok("【" + jobName + "】定时任务不存在!");
+        Map<String, Object> exists = exists(scheduler, jobName);
+        if ("1".equals(exists.get("code"))) {
+            return CommonResult.fail((String) exists.get("msg"));
         }
 
         JobKey jobKey = JobKey.jobKey(jobName);
         try {
             scheduler.resumeJob(jobKey);
-            return CommonResult.ok("【" + jobName + "】定时任务已恢复成功!");
+            return CommonResult.ok("定时任务【" + jobName + "】已恢复成功!");
         } catch (SchedulerException e) {
-            return CommonResult.ok("【" + jobName + "】定时任务恢复出错:" + e.getMessage());
+            return CommonResult.ok("定时任务【" + jobName + "】恢复出错:" + e.getMessage());
         }
     }
 
@@ -105,17 +108,17 @@ public class QuartzJobUtils {
      * @param jobName   任务名称
      */
     public static CommonResult runOnce(Scheduler scheduler, String jobName) {
-        boolean exists = exists(scheduler, jobName);
-        if (!exists) {
-            return CommonResult.ok("【" + jobName + "】定时任务不存在!");
+        Map<String, Object> exists = exists(scheduler, jobName);
+        if ("1".equals(exists.get("code"))) {
+            return CommonResult.fail((String) exists.get("msg"));
         }
 
         JobKey jobKey = JobKey.jobKey(jobName);
         try {
             scheduler.triggerJob(jobKey);
-            return CommonResult.ok("【" + jobName + "】定时任务立即运行成功!");
+            return CommonResult.ok("定时任务【" + jobName + "】立即运行1次成功!");
         } catch (SchedulerException e) {
-            return CommonResult.ok("【" + jobName + "】定时任务立即运行出错:" + e.getMessage());
+            return CommonResult.ok("定时任务【" + jobName + "】立即运行1次出错:" + e.getMessage());
         }
     }
 
@@ -126,9 +129,9 @@ public class QuartzJobUtils {
      * @param smartDataTask 定时任务信息类
      */
     public static CommonResult updateScheduleJob(Scheduler scheduler, SmartDataTask smartDataTask) {
-        boolean exists = exists(scheduler, smartDataTask.getTkName());
-        if (!exists) {
-            return CommonResult.ok("【" + smartDataTask.getTkName() + "】定时任务不存在!");
+        Map<String, Object> exists = exists(scheduler, smartDataTask.getTkName());
+        if ("1".equals(exists.get("code"))) {
+            return CommonResult.fail((String) exists.get("msg"));
         }
 
         try {
@@ -144,9 +147,9 @@ public class QuartzJobUtils {
                     .build();
             //重置对应的Job
             scheduler.rescheduleJob(triggerKey, trigger);
-            return CommonResult.ok("【" + smartDataTask.getTkName() + "】定时任务更新成功!");
+            return CommonResult.ok("定时任务【" + smartDataTask.getTkName() + "】刷新成功!");
         } catch (SchedulerException e) {
-            return CommonResult.ok("【" + smartDataTask.getTkName() + "】定时任务更新出错:" + e.getMessage());
+            return CommonResult.ok("定时任务【" + smartDataTask.getTkName() + "】刷新出错:" + e.getMessage());
         }
     }
 
@@ -156,18 +159,18 @@ public class QuartzJobUtils {
      * @param scheduler 调度器
      * @param jobName   任务名称
      */
-    public static CommonResult deleteScheduleJob(Scheduler scheduler, String jobName) {
-        boolean exists = exists(scheduler, jobName);
-        if (!exists) {
-            return CommonResult.ok("【" + jobName + "】定时任务不存在!");
+    public static Map<String, Object> deleteScheduleJob(Scheduler scheduler, String jobName) {
+        Map<String, Object> exists = exists(scheduler, jobName);
+        if ("1".equals(exists.get("code"))) {
+            return exists;
         }
 
         JobKey jobKey = JobKey.jobKey(jobName);
         try {
             scheduler.deleteJob(jobKey);
-            return CommonResult.ok("【" + jobName + "】定时任务删除成功!");
+            return CommonUtil.getReturnMap(String.valueOf(0), "定时任务【" + jobName + "】删除成功!");
         } catch (SchedulerException e) {
-            return CommonResult.ok("【" + jobName + "】定时任务删除出错:" + e.getMessage());
+            return CommonUtil.getReturnMap(String.valueOf(1), "定时任务【" + jobName + "】删除出错:" + e.getMessage());
         }
     }
 }

+ 36 - 6
src/main/java/com/template/controller/SmartDataSourceLogController.java

@@ -29,6 +29,7 @@ public class SmartDataSourceLogController implements SmartDataSourceLogControlle
 
     /**
      * 新增日志
+     *
      * @param smartDataSourceLog 日志数据
      * @param bindingResult
      * @return
@@ -40,9 +41,31 @@ public class SmartDataSourceLogController implements SmartDataSourceLogControlle
             return CommonResult.fail(st);
         }
 
+        if (smartDataSourceLog.getLogActionBusiness() == null) {
+            return CommonResult.fail("【业务名称】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionHost() == null) {
+            return CommonResult.fail("【操作主机ip】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionModule() == null) {
+            return CommonResult.fail("【操作模块】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionClass() == null) {
+            return CommonResult.fail("【操作类型】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionPeople() == null) {
+            return CommonResult.fail("【操作人】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionRemote() == null) {
+            return CommonResult.fail("【操作人ip】不能为空!");
+        }
+        if (smartDataSourceLog.getLogActionName() == null) {
+            return CommonResult.fail("【操作名称】不能为空!");
+        }
+
         int result = smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
 
-        return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
+        return result > 0 ? CommonResult.ok("操作日志添加成功") : CommonResult.fail("操作日志添加失败");
     }
 
     /**
@@ -64,14 +87,21 @@ public class SmartDataSourceLogController implements SmartDataSourceLogControlle
 
     /**
      * 日志分页数据查询
-     * @param currentPage 当前页数
-     * @param pageCount 一页数据条数
-     * @param name 查询名称
+     *
+     * @param currentPage        当前页数
+     * @param pageCount          一页数据条数
+     * @param smartDataSourceLog 查询名称
      * @return
      */
     @Override
-    public CommonResult queryPageSmartDataSourceLogs(int currentPage, int pageCount, String name) {
-        PageUtils<SmartDataSourceLog> result = smartDataSourceLogService.queryPageSmartDataSourceLogs(currentPage, pageCount, name);
+    public CommonResult queryPageSmartDataSourceLogs(int currentPage, int pageCount, String startTime, String endTime,
+                                                     SmartDataSourceLog smartDataSourceLog) {
+
+        if ((startTime != null && endTime == null) || (startTime == null && endTime != null)) {
+            return CommonResult.fail("查询的【开始时间】和【结束时间】必须同时提供!");
+        }
+        PageUtils<SmartDataSourceLog> result = smartDataSourceLogService.queryPageSmartDataSourceLogs(currentPage, pageCount,
+                startTime, endTime, smartDataSourceLog);
 
         return CommonResult.ok(result);
     }

+ 5 - 6
src/main/java/com/template/model/pojo/SmartDataSourceLog.java

@@ -1,11 +1,8 @@
 package com.template.model.pojo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -13,6 +10,9 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 数据源操作日志
@@ -51,12 +51,11 @@ public class SmartDataSourceLog implements Serializable {
     @ApiModelProperty(value = "操作人ip")
     private String logActionRemote;
 
-    @ApiModelProperty(value = "操作类型:select  login update  delete create")
+    @ApiModelProperty(value = "操作类型:select login update delete create")
     private String logActionClass;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "操作日志创建时间")
     private Date logActionCreateTime;
 
-
 }

+ 4 - 1
src/main/java/com/template/services/SmartDataSourceLogService.java

@@ -4,6 +4,7 @@ import com.template.model.pojo.SmartDataSourceLog;
 import com.template.model.pojo.SmartDataSourceLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * <p>
@@ -18,7 +19,9 @@ public interface SmartDataSourceLogService extends IService<SmartDataSourceLog>
 
 //    int updateSmartDataSourceLog(SmartDataSourceLog rns);
 
-    PageUtils<SmartDataSourceLog> queryPageSmartDataSourceLogs(int currentPage, int pageCount, String name);
+    PageUtils<SmartDataSourceLog> queryPageSmartDataSourceLogs(int currentPage, int pageCount,
+                                                               String startTime,
+                                                               String endTime, SmartDataSourceLog smartDataSourceLog);
 
 //    int deleteSmartDataSourceLogById(int id);
 

+ 15 - 5
src/main/java/com/template/services/impl/SmartDataSourceLogServiceImpl.java

@@ -28,8 +28,8 @@ public class SmartDataSourceLogServiceImpl extends ServiceImpl<SmartDataSourceLo
     private SmartDataSourceLogMapper smartDataSourceLogMapper;
 
     @Override
-    public int insertSmartDataSourceLog(SmartDataSourceLog sa) {
-        int result = smartDataSourceLogMapper.insert(sa);
+    public int insertSmartDataSourceLog(SmartDataSourceLog smartDataSourceLog) {
+        int result = smartDataSourceLogMapper.insert(smartDataSourceLog);
         return result;
     }
 
@@ -40,12 +40,22 @@ public class SmartDataSourceLogServiceImpl extends ServiceImpl<SmartDataSourceLo
 //    }
 
     @Override
-    public PageUtils<SmartDataSourceLog> queryPageSmartDataSourceLogs(int currentPage, int pageCount, String name) {
+    public PageUtils<SmartDataSourceLog> queryPageSmartDataSourceLogs(int currentPage, int pageCount, String startTime,
+                                                                      String endTime, SmartDataSourceLog smartDataSourceLog) {
         Page<SmartDataSourceLog> page = new Page<>(currentPage, pageCount);
         QueryWrapper<SmartDataSourceLog> queryWrapper = new QueryWrapper<>();
-        queryWrapper.like(StringUtils.hasText(name), "name", name);
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionName()), "log_action_name", smartDataSourceLog.getLogActionName());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionHost()), "log_action_host", smartDataSourceLog.getLogActionHost());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionPeople()), "log_action_people", smartDataSourceLog.getLogActionPeople());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionModule()), "log_action_module", smartDataSourceLog.getLogActionModule());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionBusiness()), "log_action_business", smartDataSourceLog.getLogActionBusiness());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionRemote()), "log_action_remote", smartDataSourceLog.getLogActionRemote());
+        queryWrapper.like(StringUtils.hasText(smartDataSourceLog.getLogActionClass()), "log_action_class", smartDataSourceLog.getLogActionClass());
+        if (startTime != null && endTime != null) {
+            queryWrapper.between("log_action_create_time", startTime, endTime);
+        }
         queryWrapper.orderByDesc("log_action_create_time");
-        IPage<SmartDataSourceLog> result = smartDataSourceLogMapper.selectPage(page,queryWrapper);
+        IPage<SmartDataSourceLog> result = smartDataSourceLogMapper.selectPage(page, queryWrapper);
         return new PageUtils<>(result);
     }
 

+ 112 - 99
src/main/java/com/template/services/impl/SmartDataTaskServiceImpl.java

@@ -21,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * <p>
@@ -49,9 +46,46 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
     @Override
     public Map<String, Object> insertSmartDataTask(SmartDataTask smartDataTask) {
         // 检测参数,还有是否存在重复记录
-        Map<String, Object> stringStringMap = validateParams(smartDataTask, "insert");
-        if (stringStringMap != null) {
-            return stringStringMap;
+        if (smartDataTask.getTkName() == null) {
+            return CommonUtil.getReturnMap("0", "【任务名称】不能为空!");
+        }
+        QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
+        SmartDataTask sdt = smartDataTaskMapper.selectOne(queryWrapper);
+        if (sdt != null) {
+            return CommonUtil.getReturnMap("0", "任务名有重名!");
+        }
+        // 检测必要参数是否为null
+        if (smartDataTask.getTkDsId() == null) {
+            return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
+        }
+        SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
+        if (smartDataSource == null) {
+            return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
+        }
+        if (smartDataTask.getTkCron() == null) {
+            return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
+        }
+        if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
+            return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
+        }
+        if (smartDataTask.getTkSql() == null) {
+            return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
+        }
+        if (smartDataTask.getTkDescrition() == null) {
+            return CommonUtil.getReturnMap("0", "【任务描述】不能为空!");
+        }
+        if (smartDataTask.getTkActivation() == null) {
+            return CommonUtil.getReturnMap("0", "【是否启用】不能为空!");
+        }
+        queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
+        queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
+        sdt = smartDataTaskMapper.selectOne(queryWrapper);
+        if (sdt != null) {
+            return CommonUtil.getReturnMap("0", "有重复记录!");
         }
 
         int result = smartDataTaskMapper.insert(smartDataTask);
@@ -62,93 +96,56 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         }
     }
 
-    // 检测验证参数,和数据库中是否存在重复记录
-    private Map<String, Object> validateParams(SmartDataTask smartDataTask, String action) {
-        // 看是否有相同的记录
-        if ("update".equals(action)) {
-            List<SmartDataTask> smartDataSources = smartDataTaskMapper.isRepeatTaskName(smartDataTask);
-            if (smartDataSources.size() > 0) {
-                return CommonUtil.getReturnMap("0", "任务名有重名!");
-            }
-        }
-        QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
-        if ("update".equals(action) || "active".equals(action)) {
-            queryWrapper.eq(smartDataTask.getTkId() != null, "tk_id", smartDataTask.getTkId());
+    @Override
+    public Map<String, Object> updateSmartDataTaskById(SmartDataTask smartDataTask) {
+        if (smartDataTask.getTkId() == null) {
+            return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
         }
-
-        if (!"active".equals(action)) {
-            queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
-            if ("insert".equals(action)) {
-                List<SmartDataTask> smartDataSources = smartDataTaskMapper.selectList(queryWrapper);
-                if (smartDataSources.size() > 0) {
-                    return CommonUtil.getReturnMap("0", "任务名有重名!");
-                }
-            }
-            queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
-            queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
-            queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
-            queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
+        if (smartDataTask.getTkName() == null) {
+            return CommonUtil.getReturnMap("0", "【任务名称】不能为空!");
         }
-        queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
-        List<SmartDataTask> smartDataSources = smartDataTaskMapper.selectList(queryWrapper);
+        // 检测参数,还有是否存在重复记录
+        List<SmartDataTask> smartDataSources = smartDataTaskMapper.isRepeatTaskName(smartDataTask);
         if (smartDataSources.size() > 0) {
-            if ("update".equals(action)) {
-                return CommonUtil.getReturnMap("0", "数据未修改,请修改后再提交!");
-            }
-            if ("active".equals(action)) {
-                if (smartDataTask.getTkActivation() == 1) {
-                    return CommonUtil.getReturnMap("0", "任务之前已启动!");
-                } else {
-                    return CommonUtil.getReturnMap("0", "任务之前已是停止状态!");
-                }
-            }
-            if ("insert".equals(action)) {
-                return CommonUtil.getReturnMap("0", "有重复记录!");
-            }
+            return CommonUtil.getReturnMap("0", "任务名有重名!");
         }
-        // 检测必要参数是否为null
-        if ("update".equals(action) || "active".equals(action)) {
-            if (smartDataTask.getTkId() == null) {
-                return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
-            }
-            SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
-            if (sdc == null) {
-                return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
-            }
+        SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
+        if (sdc == null) {
+            return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
         }
-
-        if (!"active".equals(action)) {
-            // 检测必要参数是否为null
-            if (smartDataTask.getTkDsId() == null) {
-                return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
-            }
-            SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
-            if (smartDataSource == null) {
-                return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
-            }
-            if (smartDataTask.getTkCron() == null) {
-                return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
-            }
-            if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
-                return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
-            }
-            if (smartDataTask.getTkSql() == null) {
-                return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
-            }
+        if (smartDataTask.getTkDsId() == null) {
+            return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
+        }
+        SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
+        if (smartDataSource == null) {
+            return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
+        }
+        if (smartDataTask.getTkCron() == null) {
+            return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
+        }
+        if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
+            return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
+        }
+        if (smartDataTask.getTkSql() == null) {
+            return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
+        }
+        if (smartDataTask.getTkDescrition() == null) {
+            return CommonUtil.getReturnMap("0", "【任务描述】不能为空!");
         }
-
         if (smartDataTask.getTkActivation() == null) {
             return CommonUtil.getReturnMap("0", "【是否启动】不能为空!");
         }
-        return null;
-    }
-
-    @Override
-    public Map<String, Object> updateSmartDataTaskById(SmartDataTask smartDataTask) {
-        // 检测参数,还有是否存在重复记录
-        Map<String, Object> stringStringMap = validateParams(smartDataTask, "update");
-        if (stringStringMap != null) {
-            return stringStringMap;
+        QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(smartDataTask.getTkId() != null, "tk_id", smartDataTask.getTkId());
+        queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
+        queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
+        queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
+        queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
+        SmartDataTask sdt = smartDataTaskMapper.selectOne(queryWrapper);
+        if (sdt != null) {
+            return CommonUtil.getReturnMap("0", "数据未修改,请修改后再提交!");
         }
 
         int result = smartDataTaskMapper.updateById(smartDataTask);
@@ -161,24 +158,25 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
 
     private Map<String, Object> updateSmartDataTaskActivation(SmartDataTask smartDataTask) {
         // 检测参数,还有是否存在重复记录
-        Map<String, Object> stringStringMap = validateParams(smartDataTask, "active");
-        if (stringStringMap != null) {
-            return stringStringMap;
+        if (smartDataTask.getTkId() == null) {
+            return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
+        }
+        SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
+        if (sdc == null) {
+            return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
+        }
+        if (smartDataTask.getTkActivation() == null) {
+            return CommonUtil.getReturnMap("0", "【是否启用】不能为空!");
         }
 
-        Integer tkActivation = smartDataTask.getTkActivation();
         int result = smartDataTaskMapper.updateById(smartDataTask);
-        if (tkActivation == 1) {
-            if (result > 0) {
-                return CommonUtil.getReturnMap(String.valueOf(result), "启动成功!");
-            } else {
-                return CommonUtil.getReturnMap(String.valueOf(result), "启动失败!");
-            }
+        if (result > 0) {
+            return CommonUtil.getReturnMap(String.valueOf(result), "标注成功!");
         } else {
-            if (result > 0) {
-                return CommonUtil.getReturnMap(String.valueOf(result), "取消启动成功!");
+            if (smartDataTask.getTkActivation() == 1) {
+                return CommonUtil.getReturnMap(String.valueOf(result), "标注失败,之前已是启用状态!");
             } else {
-                return CommonUtil.getReturnMap(String.valueOf(result), "取消启动失败!");
+                return CommonUtil.getReturnMap(String.valueOf(result), "标注失败,之前已是启用状态!");
             }
         }
     }
@@ -232,6 +230,7 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
         Map<String, Object> returnMap = QuartzJobUtils.createScheduleJob(scheduler, smartDataTask_return);
         if ("0".equals(returnMap.get("code"))) {
+            smartDataTask.setTkId(smartDataTask_return.getTkId());
             smartDataTask.setTkActivation(1);
             Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
             String msg;
@@ -291,7 +290,21 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
 
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
 
-        return QuartzJobUtils.deleteScheduleJob(scheduler, smartDataTask_return.getTkName());
+        Map<String, Object> returnMap = QuartzJobUtils.deleteScheduleJob(scheduler, smartDataTask_return.getTkName());
+        if ("0".equals(returnMap.get("code"))) {
+            smartDataTask.setTkId(smartDataTask_return.getTkId());
+            smartDataTask.setTkActivation(0);
+            Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
+            String msg;
+            if ("0".equals(stringStringMap.get("code"))) {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            } else {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            }
+            return CommonResult.ok(msg);
+        } else {
+            return CommonResult.fail((String) returnMap.get("msg"));
+        }
     }
 
     @Override