From 97287ee79f67a623da39650ad9718131e8130cb5 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期一, 07 八月 2023 16:46:52 +0800
Subject: [PATCH] LIMS管理系统框架-开发8-7 bug修改

---
 framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MySqlInjector.java                    |   11 +-
 sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java                                         |  132 ++++++++++----------------------
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialController.java |   15 ---
 framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MyBatisPlusConfig.java                |   20 +----
 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java                      |    8 --
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductController.java  |    5 -
 pom.xml                                                                                                 |    2 
 7 files changed, 54 insertions(+), 139 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MyBatisPlusConfig.java b/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MyBatisPlusConfig.java
index e99a25e..f944f17 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MyBatisPlusConfig.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MyBatisPlusConfig.java
@@ -2,7 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -11,21 +11,6 @@
 @Configuration
 public class MyBatisPlusConfig {
 
-//     涔愯閿佹彃浠�
-    @Bean
-    public OptimisticLockerInterceptor optimisticLockerInterceptor() {
-        return new OptimisticLockerInterceptor();
-    }
-
-    /**
-     * 寮�鍚壒閲忔坊鍔�
-     * @return
-     */
-    @Bean
-    public MySqlInjector sqlInjector() {
-        return new MySqlInjector();
-    }
-
     /**
      * 闇�瑕侀厤缃嫤鎴櫒锛屼笉鐒跺湪AddDevice涓殑total鏃犳硶鑾峰彇鍒�
      * @return
@@ -33,6 +18,9 @@
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor(){
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        // 涔愯閿�
+        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+        // 鍒嗛〉閰嶇疆
         interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
         return interceptor;
     }
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MySqlInjector.java b/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MySqlInjector.java
index 5833a2e..aec9276 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MySqlInjector.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/mybatis_config/MySqlInjector.java
@@ -1,23 +1,24 @@
 package com.yuanchu.limslaboratory.mybatis_config;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
 import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
+import org.springframework.stereotype.Component;
 
 import java.util.List;
 
 /**
  * 鎵归噺娣诲姞
  */
+@Component
 public class MySqlInjector extends DefaultSqlInjector {
 
     @Override
-    public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
-        List<AbstractMethod> methodList = super.getMethodList(mapperClass);
+    public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
+        List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
         //澧炲姞鑷畾涔夋柟娉曪紝瀛楁娉ㄨВ涓婁笉绛変簬FieldFill.DEFAULT鐨勫瓧娈垫墠浼氭彃鍏�
-        methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.DEFAULT));
+        methodList.add(new InsertBatchSomeColumn(t->!t.isLogicDelete()));
         return methodList;
     }
-
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialController.java
index 7388de8..63ace1b 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialController.java
@@ -1,24 +1,9 @@
 package com.yuanchu.limslaboratory.controller;
 
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.api.ApiController;
-
-import java.util.List;
-
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.service.InspectionMaterialService;
-
-import javax.annotation.Resource;
-import java.io.Serializable;
-import java.util.List;
 
 /**
  * (鏍峰搧)妫�楠屽崟閲岄潰鐨勭墿鏂�(InspectionMaterial)琛ㄦ帶鍒跺眰
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductController.java
index 1ceff0c..8203159 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductController.java
@@ -1,11 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.api.ApiController;
-
-import java.util.List;
-
 import com.yuanchu.limslaboratory.pojo.InspectionProduct;
 import com.yuanchu.limslaboratory.pojo.vo.InsProductVo;
 import com.yuanchu.limslaboratory.service.InstrumentService;
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
index 472e939..e62f2a8 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
@@ -33,38 +33,30 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
-    @TableField(fill = FieldFill.INSERT)
     @ApiModelProperty(value = "鏍峰搧缂栧彿", required = true, example = "YPBH123456789")
     private String sampleNumber;
 
-    @TableField(fill = FieldFill.INSERT)
     @ApiModelProperty(value = "鏍峰搧鍚嶇О", required = true, example = "鍙戝姩鏈�")
     private String sampleName;
 
-    @TableField(fill = FieldFill.INSERT)
     @ApiModelProperty(value = "瑙勬牸鍨嬪彿", required = true, example = "GGXH-AAAAA")
     private String specificationsModels;
 
-    @TableField(fill = FieldFill.INSERT)
     @NotBlank(message = "璇峰~鍐欏崟浣嶏紒")
     @ApiModelProperty(value = "鍗曚綅", required = true, example = "鐧惧害")
     private String unit;
 
-    @TableField(fill = FieldFill.INSERT)
     @NotNull(message = "璇峰~鍐欐牱鍝佹暟閲忥紒")
     @ApiModelProperty(value = "鏍峰搧鏁伴噺", required = true, example = "20")
     private Integer samplesNumber;
 
-    @TableField(fill = FieldFill.INSERT)
     @NotBlank(message = "璇曢獙涓嶈兘涓虹┖锛�")
     @ApiModelProperty(value = "璇曢獙", required = true, example = "鍋氭ⅵ")
     private String experiment;
 
-    @TableField(fill = FieldFill.INSERT)
     @ApiModelProperty(value = "澶囨敞", example = "閫氳繃浜�")
     private String remarks;
 
-    @TableField(fill = FieldFill.INSERT)
     @ApiModelProperty(value = "LinkBasicInformation瀵硅薄Id", hidden = true)
     private Integer linkBasicId;
 
diff --git a/pom.xml b/pom.xml
index 0bfe39d..b6025a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
         <swagger.version>3.0.0</swagger.version>
         <knife4j-spring-ui.version>3.0.3</knife4j-spring-ui.version>
         <druid.version>1.2.18</druid.version>
-        <mybatis-plus.version>3.4.0</mybatis-plus.version>
+        <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
         <openfeign.version>3.1.3</openfeign.version>
         <feign-okhttp.version>11.0</feign-okhttp.version>
         <shiro.version>1.5.3</shiro.version>
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
index 62440cc..0807851 100644
--- a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
@@ -1,110 +1,64 @@
 package com.yuanchu.limslaboratory;
 
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.generator.AutoGenerator;
-import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.FastAutoGenerator;
 import com.baomidou.mybatisplus.generator.config.*;
-import com.baomidou.mybatisplus.generator.config.po.TableInfo;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collections;
 import java.util.Scanner;
 
 // 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
 public class CodeGenerator {
 
-    public static String database_url = "jdbc:mysql://localhost:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
-    public static String database_driver_name = "com.mysql.cj.jdbc.Driver";
+    public static String database_url = "jdbc:mysql://localhost:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
     public static String database_username = "root";
     public static String database_password= "123456";
     public static String author = "姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃";
-    public static String model_name = "/inspection-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
-    public static String setParent = "com.yuanchu.limslaboratory"; // 鍖呰矾寰�
-    public static Boolean Override = false; // 鏄惁瑕嗙洊鍘熸潵鐨勬枃浠讹紵
-
+    public static String model_name = "/inspect-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
+    public static String setParent = "com.yuanchu.mom"; // 鍖呰矾寰�
     public static void main(String[] args) {
-        // 浠g爜鐢熸垚鍣�
-        AutoGenerator mpg = new AutoGenerator();
-
         String projectPath = System.getProperty("user.dir");
         System.out.println(projectPath+"===================");
-
-        GlobalConfig gc = new GlobalConfig() // 鍏ㄥ眬閰嶇疆
-                .setOutputDir(projectPath + model_name + "/src/main/java") // 杈撳嚭璺緞
-                .setAuthor(author) // 浣滆�呮敞閲�
-                .setOpen(false) // 鏄惁鎵撳紑
-                .setSwagger2(true) //瀹炰綋灞炴�� Swagger2 娉ㄨВ
-                .setServiceName("%sService") // 璁剧疆serviceName鐨勫悕绉板幓澶у啓I
-                .setFileOverride(Override);// 鏄惁瑕嗙洊宸茬敓鎴愭枃浠�
-        mpg.setGlobalConfig(gc);
-
-        // 鏁版嵁婧愰厤缃� 鏁版嵁搴撳悕 璐﹀彿瀵嗙爜
-        DataSourceConfig dsc = new DataSourceConfig()
-                .setUrl(database_url)
-                .setDriverName(database_driver_name)
-                .setUsername(database_username)
-                .setPassword(database_password);
-        mpg.setDataSource(dsc);
-
-
-        // 鍖呴厤缃�
-        PackageConfig pc = new PackageConfig()
-                .setModuleName(null)
-                .setParent(setParent)
-                .setEntity("pojo");// 鍖呰矾寰�
-        mpg.setPackageInfo(pc);
-
-        // 鑷畾涔夐厤缃�
-        InjectionConfig cfg = new InjectionConfig() {
-            @Override
-            public void initMap() {
-                // to do nothing
-            }
-        };
-
-        // 濡傛灉妯℃澘寮曟搸鏄� freemarker
-        String templatePath = "/templates/mapper.xml.ftl";
-        // 濡傛灉妯℃澘寮曟搸鏄� velocity
-        // String templatePath = "/templates/mapper.xml.vm";
-
-        // 鑷畾涔夎緭鍑洪厤缃�
-        List<FileOutConfig> focList = new ArrayList<>();
-        // 鑷畾涔夐厤缃細琚紭鍏堣緭鍑�
-        focList.add(new FileOutConfig(templatePath) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                // 鑷畾涔夎緭鍑烘枃浠跺悕 锛� 濡傛灉浣� Entity 璁剧疆浜嗗墠鍚庣紑銆佹澶勬敞鎰� xml 鐨勫悕绉颁細璺熺潃鍙戠敓鍙樺寲锛�
-                return projectPath + model_name + "/src/main/resources/mapper/"
-                        + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
-            }
-        });
-
-        cfg.setFileOutConfigList(focList);
-        mpg.setCfg(cfg);
-
-        // 閰嶇疆妯℃澘
-        TemplateConfig templateConfig = new TemplateConfig()
-                .setXml(null);
-
-        mpg.setTemplate(templateConfig);
-
-        // 绛栫暐閰嶇疆
-        StrategyConfig strategy = new StrategyConfig()
-                .setNaming(NamingStrategy.underline_to_camel)
-                .setColumnNaming(NamingStrategy.underline_to_camel)
-                .setEntityLombokModel(true)
-                .setRestControllerStyle(true)
-                .setInclude(scanner("琛ㄥ悕锛屽涓亾鍙峰垎鍓�").split(","))
-                .setControllerMappingHyphenStyle(true)
-                .setTablePrefix("m_");
-        mpg.setStrategy(strategy);
-        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
-        //濡傛灉涓嶈皟鐢ㄨ鏂规硶銆佸氨浼氫娇鐢∕yBatis-Plus榛樿鐨勬枃浠剁敓鎴愯矾寰勫拰鍖呰矾寰勭敓鎴愭枃浠躲�佷絾鍙互浣跨敤涓婇潰鐨凱ackageConfig鍋氫竴浜涚畝鍗曠殑閰嶇疆
-        mpg.execute();
+        FastAutoGenerator.create(database_url, database_username, database_password)
+                // 鍏ㄥ眬閰嶇疆
+                .globalConfig(builder -> {
+                    builder.author(author) // 璁剧疆浣滆��
+                            .commentDate("yyyy-MM-dd hh:mm:ss")   //娉ㄩ噴鏃ユ湡
+                            .outputDir(projectPath + model_name + "/src/main/java") // 鎸囧畾杈撳嚭鐩綍
+                            .disableOpenDir() //绂佹鎵撳紑杈撳嚭鐩綍锛岄粯璁ゆ墦寮�
+                    ;
+                })
+                // 鍖呴厤缃�
+                .packageConfig(builder -> {
+                    builder.entity("pojo");
+                    builder.parent(setParent) // 璁剧疆鐖跺寘鍚�
+                            .pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + model_name +  "/src/main/resources/mapper")); // 璁剧疆mapperXml鐢熸垚璺緞
+                })
+                // 绛栫暐閰嶇疆
+                .strategyConfig(builder -> {
+                    builder.addInclude(scanner("琛ㄥ悕锛屽涓┖鏍煎垎鍓�").split(" ")) // 璁剧疆闇�瑕佺敓鎴愮殑琛ㄥ悕
+                            .addTablePrefix("sys_") // 璁剧疆杩囨护琛ㄥ墠缂�
+                            // Entity 绛栫暐閰嶇疆
+                            .entityBuilder()
+                            .enableLombok() //寮�鍚� Lombok
+                            .naming(NamingStrategy.underline_to_camel)  //鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐锛氫笅鍒掔嚎杞┘宄板懡
+                            .columnNaming(NamingStrategy.underline_to_camel)    //鏁版嵁搴撹〃瀛楁鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐锛氫笅鍒掔嚎杞┘宄板懡
+                            // Mapper 绛栫暐閰嶇疆
+                            .mapperBuilder()
+                            .enableFileOverride() // 瑕嗙洊宸茬敓鎴愭枃浠�
+                            // Service 绛栫暐閰嶇疆
+                            .serviceBuilder()
+                            .enableFileOverride() // 瑕嗙洊宸茬敓鎴愭枃浠�
+                            .formatServiceFileName("%sService") //鏍煎紡鍖� service 鎺ュ彛鏂囦欢鍚嶇О锛�%s杩涜鍖归厤琛ㄥ悕锛屽 UserService
+                            .formatServiceImplFileName("%sServiceImpl") //鏍煎紡鍖� service 瀹炵幇绫绘枃浠跺悕绉帮紝%s杩涜鍖归厤琛ㄥ悕锛屽 UserServiceImpl
+                            // Controller 绛栫暐閰嶇疆
+                            .controllerBuilder()
+                            .enableFileOverride() // 瑕嗙洊宸茬敓鎴愭枃浠�
+                    ;
+                })
+                .execute();
     }
 
     /**

--
Gitblit v1.9.3