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