From 2a88e5f26338343f0d1f20e4da80c7da44ed9e3a Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Tue, 08 Aug 2023 16:24:53 +0800
Subject: [PATCH] 增加mybatisplus代码生成工具 修复日志打印缺少操作内容的问题 修复app任务空指针问题 优化海康sdk日志打印

---
 ard-work/pom.xml                                                                          |   30 +++++-
 ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java         |    5 
 ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java                       |    3 
 ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java     |   78 +++++++-------
 ard-work/src/main/java/com/ruoyi/utils/generator/CodeGeneration.java                      |  118 +++++++++++++++++++++++
 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java |   18 ++-
 6 files changed, 200 insertions(+), 52 deletions(-)

diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index 0eeefb3..18bb4f8 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -31,10 +31,6 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-common</artifactId>
         </dependency>
-        <!--        <dependency>-->
-        <!--            <groupId>org.projectlombok</groupId>-->
-        <!--            <artifactId>lombok</artifactId>-->
-        <!--        </dependency>-->
 
         <!--海康录像机二次开发依赖jar包-->
         <dependency>
@@ -165,7 +161,7 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.2.0</version>
+            <version>3.5.1</version>
         </dependency>
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
@@ -173,6 +169,30 @@
             <version>3.0.3</version>
             <scope>compile</scope>
         </dependency>
+        <!--MP代码生成器依赖-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>3.5.3.1</version>
+        </dependency>
+        <!--velocity模板引擎-->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+            <version>2.0</version>
+        </dependency>
+        <!--postgresql数据库依赖-->
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+<!--        &lt;!&ndash;mybatis-plus依赖&ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>com.baomidou</groupId>-->
+<!--            <artifactId>mybatis-plus-boot-starter</artifactId>-->
+<!--            <version>3.5.1</version>-->
+<!--        </dependency>-->
     </dependencies>
 
 
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
index 0832eee..d6ab9f7 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -55,7 +55,10 @@
     @Override
     public ArdAppTask selectArdAppTaskById(String id) {
         ArdAppTask ardAppTask = ardAppTaskMapper.selectArdAppTaskById(id);
-
+        if(StringUtils.isNull(ardAppTask))
+        {
+            return null;
+        }
         List<ArdAppTaskDetail> ardAppTaskDetailList = ardAppTask.getArdAppTaskDetailList();
         if(ardAppTaskDetailList.size()>0)
         {
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index cfc76bf..60c0b26 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -179,7 +179,7 @@
         int i = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
         if (i < 0) {
             int errorCode = hCNetSDK.NET_DVR_GetLastError();
-            log.info("登录异常:" + errorCode);
+            log.error("登录异常:" + errorCode);
         }
     }
 
@@ -328,7 +328,7 @@
         boolean bool = hCNetSDK.NET_DVR_PTZControlWithSpeed_Other(userId, channelNum, dwPTZCommand, dwStop, speed);
         if (!bool) {
             int errorCode = hCNetSDK.NET_DVR_GetLastError();
-            log.info("控制失败,请稍后重试" + errorCode);
+            log.error("控制失败,请稍后重试" + errorCode);
         }
         return bool;
     }
@@ -356,7 +356,7 @@
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, focusmodeCfg.size(), ibrBytesReturned);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置聚焦值失败,请稍后重试" + code);
+            log.error("设置聚焦值失败,请稍后重试" + code);
         }
         return bool;
     }
@@ -389,7 +389,7 @@
             return map;
         } else {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("获取聚焦值失败,请稍后重试" + code);
+            log.debug("获取聚焦值失败,请稍后重试" + code);
             return new HashMap<>();
         }
     }
@@ -412,7 +412,7 @@
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("预置点设置失败,请稍后重试" + code);
+            log.error("预置点设置失败,请稍后重试" + code);
         }
         return bool;
     }
@@ -435,7 +435,7 @@
         boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("预置点设置失败,请稍后重试" + code);
+            log.error("预置点设置失败,请稍后重试" + code);
         }
         return bool;
     }
@@ -537,7 +537,7 @@
                 }
             } else {
                 int code = hCNetSDK.NET_DVR_GetLastError();
-                System.out.println("控制失败,请稍后重试" + code);
+                log.error("控制失败,请稍后重试" + code);
             }
         } catch (Exception ex) {
             log.error(ex.getMessage());
@@ -589,7 +589,7 @@
             return ptzMap;
         } else {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("控制失败,请稍后重试" + code);
+            log.error("控制失败,请稍后重试" + code);
             return new HashMap<>();
         }
 
@@ -627,7 +627,7 @@
             boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size());
             if (!bool) {
                 int code = hCNetSDK.NET_DVR_GetLastError();
-                log.info("设置ptz失败,请稍后重试" + code);
+                log.error("设置ptz失败,请稍后重试" + code);
             }
             return bool;
         } catch (Exception ex) {
@@ -663,7 +663,7 @@
             boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size());
             if (!bool) {
                 int code = hCNetSDK.NET_DVR_GetLastError();
-                log.info("设置ptz失败,请稍后重试" + code);
+                log.error("设置ptz失败,请稍后重试" + code);
             }
             return bool;
         } catch (Exception ex) {
@@ -739,7 +739,7 @@
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZLOCKCFG, channelNum, point, netDvrPtzLockcfg.size(), ibrBytesReturned);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("获取ptz锁定信息失败,请稍后重试" + code);
+            log.error("获取ptz锁定信息失败,请稍后重试" + code);
             return -1;
         } else {
             netDvrPtzLockcfg.read();
@@ -803,7 +803,7 @@
         boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZSCOPE, channelNum, point, m_ptzPosCurrent.size(), ibrBytesReturned);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置ptz失败,请稍后重试" + code);
+            log.error("设置ptz失败,请稍后重试" + code);
             return new HashMap<>();
         } else {
             m_ptzPosCurrent.read();
@@ -853,7 +853,7 @@
             log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
         }
         struCameraParam.read();
-        log.info("是否开启透雾:" + struCameraParam.struDefogCfg.byMode);
+        log.debug("是否开启透雾:" + struCameraParam.struDefogCfg.byMode);
 
         NET_DVR_DEFOGCFG defogcfg = new NET_DVR_DEFOGCFG();
         if (enable) {
@@ -867,9 +867,9 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置透雾失败,请稍后重试" + code);
+            log.error("设置透雾失败,请稍后重试" + code);
         }
-        log.info("设置透雾成功");
+        log.debug("设置透雾成功");
         return bool;
     }
 
@@ -899,7 +899,7 @@
             log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
         }
         struDayNigh.read();
-        log.info("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType);
+        log.debug("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType);
 
         NET_DVR_DAYNIGHT daynight = new NET_DVR_DAYNIGHT();
         if (enable) {
@@ -915,9 +915,9 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struDayNigh.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置夜视失败,请稍后重试" + code);
+            log.error("设置夜视失败,请稍后重试" + code);
         }
-        log.info("设置夜视成功");
+        log.debug("设置夜视成功");
         return bool;
     }
 
@@ -944,10 +944,10 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
-            System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
         }
         struFocusMode.read();
-        log.info("当前聚焦模式:" + struFocusMode.byFocusMode);
+        log.debug("当前聚焦模式:" + struFocusMode.byFocusMode);
 
         if (enable) {
             struFocusMode.byFocusMode = 1;//手动聚焦
@@ -961,9 +961,9 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_FOCUSMODECFG, channelNum, point, struFocusMode.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置聚焦模式失败,请稍后重试" + code);
+            log.error("设置聚焦模式失败,请稍后重试" + code);
         }
-        log.info("设置聚焦模式成功");
+        log.debug("设置聚焦模式成功");
         return bool;
     }
 
@@ -979,10 +979,10 @@
         IntByReference ibrBytesReturned = new IntByReference(0);
         boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned);
         if (!b_GetCameraParam) {
-            System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
+            log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
         }
         struFocusMode.read();
-        log.info("当前聚焦模式:" + struFocusMode.byFocusMode);
+        log.debug("当前聚焦模式:" + struFocusMode.byFocusMode);
         return String.valueOf(struFocusMode.byFocusMode);
     }
 
@@ -1013,9 +1013,9 @@
         boolean bool = hCNetSDK.NET_DVR_PTZControl_Other(userId, channelNum, HEATER_PWRON, dwStop);
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置云台加热失败,请稍后重试" + code);
+            log.error("设置云台加热失败,请稍后重试" + code);
         }
-        log.info("设置云台加热成功");
+        log.debug("设置云台加热成功");
         return bool;
     }
 
@@ -1045,7 +1045,7 @@
             log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError());
         }
         struDeicing.read();
-        log.info("是否开启除冰:" + struDeicing.byEnableDeicing);
+        log.debug("是否开启除冰:" + struDeicing.byEnableDeicing);
 
         if (enable) {
             struDeicing.byEnableDeicing = 1;//开启
@@ -1056,9 +1056,9 @@
         boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_DEVSERVER_CFG, channelNum, point, struDeicing.size());
         if (!bool) {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("设置镜头除冰失败,请稍后重试" + code);
+            log.error("设置镜头除冰失败,请稍后重试" + code);
         }
-        log.info("设置镜头除冰成功");
+        log.debug("设置镜头除冰成功");
         return bool;
     }
 
@@ -1090,13 +1090,13 @@
         ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024);
         // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中
         boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a);
-        log.info("-----------这里开始图片存入内存----------" + is);
+        log.debug("-----------这里开始图片存入内存----------" + is);
 
         Base64.Encoder decoder = Base64.getEncoder();
       //  BASE64Encoder encoder = new BASE64Encoder();
         String png_base64 = decoder.encodeToString(jpegBuffer.array());//转换成base64串
         png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n
-        log.info("-----------处理完成截图数据----------");
+        log.debug("-----------处理完成截图数据----------");
         return png_base64;
     }
 
@@ -1134,11 +1134,11 @@
         //设置图片大小
         ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024);
         // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中
-        log.info("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------");
+        log.debug("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------");
         boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a);
-        log.info("-----------这里开始图片存入内存----------" + is);
+        log.debug("-----------这里开始图片存入内存----------" + is);
         if (is) {
-            log.info("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError());
+            log.debug("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError());
             byte[] array = jpegBuffer.array();
             //存储到minio
             String BucketName = "pic";
@@ -1152,7 +1152,7 @@
                 boolean b = MinioUtils.uploadObject(BucketName, ObjectName, input, input.available(), ContentType);
                 if (b) {
                     url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName);
-                    log.info("上传文件成功!" + url);
+                    log.debug("上传文件成功!" + url);
                 }
             } catch (IOException ex) {
                 log.error("上传文件异常:" + ex.getMessage());
@@ -1160,7 +1160,7 @@
             return url;
         } else {
             int code = hCNetSDK.NET_DVR_GetLastError();
-            log.info("抓图失败,请稍后重试" + code);
+            log.error("抓图失败,请稍后重试" + code);
             return "";
         }
     }
@@ -1212,21 +1212,21 @@
                         log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError());
                         return "";
                     }
-                    log.info("取流成功");
+                    log.debug("取流成功");
                     GlobalVariable.previewMap.put(cameraId, lRealHandle);
                 }
                 if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) {
                     log.error("保存视频文件到临时文件夹失败 错误码为:  " + hCNetSDK.NET_DVR_GetLastError());
                     return "";
                 }
-                log.info("录像开始");
+                log.debug("录像开始");
             } else {
                 if (GlobalVariable.previewMap.containsKey(cameraId)) {
                     Integer lRealHandle = GlobalVariable.previewMap.get(cameraId);
                     hCNetSDK.NET_DVR_StopRealPlay(lRealHandle);
                     GlobalVariable.previewMap.remove(cameraId);
                 }
-                log.info("录像停止");
+                log.debug("录像停止");
             }
             return url;
         } catch (Exception ex) {
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
index a13a827..66f6a26 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -1,8 +1,6 @@
 package com.ruoyi.inspect.service.impl;
 
-import java.text.SimpleDateFormat;
 import java.util.*;
-
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
 import com.ruoyi.common.utils.DateUtils;
@@ -10,7 +8,6 @@
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
-import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
 import com.ruoyi.device.hiksdk.service.IHikClientService;
 import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
 import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
@@ -24,7 +21,6 @@
 import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper;
 import com.ruoyi.inspect.domain.ArdVideoInspectTask;
 import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
-
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 
@@ -417,7 +413,7 @@
         try {
             String currentStepId = ardVideoInspectTask.getCurrentStepId();
             if (StringUtils.isNull(currentStepId)) {
-                log.info("当前开始巡检步骤id为空");
+                log.debug("当前开始巡检步骤id为空");
                 return;
             }
             log.debug("巡检步骤:" + currentStepId + "尝试开始");
@@ -442,6 +438,11 @@
                     targetPositon[2] = ardAlarmpointsWell.getAltitude();
                     /*获取相机坐标*/
                     ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
+                    if(StringUtils.isNull(cameras))
+                    {
+                        log.debug("找不到相机:"+cameraId);
+                        return;
+                    }
                     double[] cameraPositon = new double[3];
                     cameraPositon[0] = cameras.getLongitude();
                     cameraPositon[1] = cameras.getLatitude();
@@ -474,7 +475,7 @@
         try {
             String currentStepId = ardVideoInspectTask.getCurrentStepId();
             if (StringUtils.isNull(currentStepId)) {
-                log.info("当前开始巡检步骤id为空");
+                log.debug("当前开始巡检步骤id为空");
                 return;
             }
             log.debug("巡检正常,尝试引导:" + currentStepId);
@@ -495,6 +496,11 @@
                     targetPositon[2] = ardAlarmpointsWell.getAltitude();
                     /*获取相机坐标*/
                     ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
+                    if(StringUtils.isNull(cameras))
+                    {
+                        log.debug("找不到相机:"+cameraId);
+                        return;
+                    }
                     double[] cameraPositon = new double[3];
                     cameraPositon[0] = cameras.getLongitude();
                     cameraPositon[1] = cameras.getLatitude();
diff --git a/ard-work/src/main/java/com/ruoyi/utils/generator/CodeGeneration.java b/ard-work/src/main/java/com/ruoyi/utils/generator/CodeGeneration.java
new file mode 100644
index 0000000..049a5e6
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/utils/generator/CodeGeneration.java
@@ -0,0 +1,118 @@
+package com.ruoyi.utils.generator;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.querys.PostgreSqlQuery;
+import com.baomidou.mybatisplus.generator.config.rules.DateType;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.util.Collections;
+
+/**
+ * @ClassName: CodeGeneration
+ * @Description: mybatisPlus 代码生成工具
+ * @Author: Administrator
+ * @Date: 2023年03月25日 14:49
+ * @Version: 1.0
+ **/
+public class CodeGeneration {
+    public static void main(String[] args) {
+        /**
+         * 先配置数据源
+         */
+        PostgreSqlQuery postgreSqlQuery = new PostgreSqlQuery() {
+            @Override
+            public String[] fieldCustom() {
+                return new String[]{"Default"};
+            }
+        };
+
+        DataSourceConfig dsc = new DataSourceConfig.Builder("jdbc:postgresql://192.168.1.15:5432/ry-vue?stringtype=unspecified","postgres","postgres")
+                .dbQuery(postgreSqlQuery).build();
+        //通过datasourceConfig创建AutoGenerator
+        AutoGenerator generator = new AutoGenerator(dsc);
+
+        /**
+         * 全局配置
+         */
+        String projectPath = System.getProperty("user.dir"); //获取项目路径
+        String filePath = projectPath + "/ard-work/src/main/java";  //java下的文件路径
+        GlobalConfig global = new GlobalConfig.Builder()
+                .outputDir(filePath)//生成的输出路径
+                .author("刘苏义")//生成的作者名字
+                //.enableSwagger()开启swagger,需要添加swagger依赖并配置
+                .dateType(DateType.TIME_PACK)//时间策略
+                .commentDate("yyyy年MM月dd日")//格式化时间格式
+                .disableOpenDir()//禁止打开输出目录,默认false
+                .fileOverride()//覆盖生成文件
+                .build();
+
+        /**
+         * 包配置
+         */
+        PackageConfig packages = new PackageConfig.Builder()
+                .entity("domian")//实体类包名
+                .parent("com.ruoyi.test")//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
+                .controller("controller")//控制层包名
+                .mapper("mapper")//mapper层包名
+                .xml("mapper.xml")//数据访问层xml包名
+                .service("service")//service层包名
+                .serviceImpl("service.impl")//service实现类包名
+                .pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + "/ard-work/src/main/resources/mapper"))
+                .build();
+
+        /**
+         * 策略配置开始
+         */
+        StrategyConfig strategyConfig = new StrategyConfig.Builder()
+                .enableCapitalMode()//开启全局大写命名
+                //.likeTable()模糊表匹配
+                .addInclude("school")//添加表匹配,指定要生成的数据表名,不写默认选定数据库所有表
+                //.disableSqlFilter()禁用sql过滤:默认(不使用该方法)true
+                //.enableSchema()启用schema:默认false
+
+                .entityBuilder() //实体策略配置
+                //.disableSerialVersionUID()禁用生成SerialVersionUID:默认true
+                .enableChainModel()//开启链式模型
+                .enableLombok()//开启lombok
+                .enableRemoveIsPrefix()//开启 Boolean 类型字段移除 is 前缀
+                .enableTableFieldAnnotation()//开启生成实体时生成字段注解
+                //.addTableFills()添加表字段填充
+                .naming(NamingStrategy.underline_to_camel)//数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
+                .columnNaming(NamingStrategy.underline_to_camel)//表字段映射实体属性命名规则:默认null,不指定按照naming执行
+                .idType(IdType.AUTO)//添加全局主键类型
+                .formatFileName("%s")//格式化实体名称,%s取消首字母I
+                .build()
+
+                .mapperBuilder()//mapper文件策略
+                .enableMapperAnnotation()//开启mapper注解
+                .enableBaseResultMap()//启用xml文件中的BaseResultMap 生成
+                .enableBaseColumnList()//启用xml文件中的BaseColumnList
+                //.cache(缓存类.class)设置缓存实现类
+                .formatMapperFileName("%sMapper")//格式化Dao类名称
+                .formatXmlFileName("%sMapper")//格式化xml文件名称
+                .build()
+
+                .serviceBuilder()//service文件策略
+                .formatServiceFileName("%sService")//格式化 service 接口文件名称
+                .formatServiceImplFileName("%sServiceImpl")//格式化 service 接口文件名称
+                .build()
+
+                .controllerBuilder()//控制层策略
+                //.enableHyphenStyle()开启驼峰转连字符,默认:false
+                .enableRestStyle()//开启生成@RestController
+                .formatFileName("%sController")//格式化文件名称
+                .build();
+        /*至此,策略配置才算基本完成!*/
+
+        /**
+         * 将所有配置项整合到AutoGenerator中进行执行
+         */
+        generator.global(global)
+                .packageInfo(packages)
+                .strategy(strategyConfig)
+                .execute();
+    }
+}
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
index 8b572b6..812dcc1 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
@@ -61,8 +61,9 @@
      * 测试
      */
     TEST,
+
     /**
      * 控制
      */
-    CONTROL,
+    CONTROL
 }

--
Gitblit v1.9.3