From 38287c92c304a169f5c1ca30b21d0ff77df09f2c Mon Sep 17 00:00:00 2001 From: mengweijin <1002284406@qq.com> Date: Sat, 27 Jul 2024 12:20:22 +0800 Subject: [PATCH] version 1.1.1-SNAPSHOT --- pom.xml | 2 +- .../AbstractVelocityTemplateEngine.java | 3 +- .../generator/engine/ITemplateEngine.java | 4 ++- src/main/resources/script/docker/Dockerfile | 7 ++--- src/main/resources/script/linux/app.sh | 4 ++- .../${entityName}Controller.java.vm | 28 +++++++++++++------ .../mybatis-plus/${entityName}DTO.java.vm | 7 +---- .../mybatis-plus/${entityName}Service.java.vm | 19 ++++++++++--- 8 files changed, 48 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index 65fd6f2..18adff4 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.mengweijin code-generator-maven-plugin maven-plugin - 1.1.0 + 1.1.1-SNAPSHOT code-generator-maven-plugin code-generator-maven-plugin diff --git a/src/main/java/com/github/mengweijin/code/generator/engine/AbstractVelocityTemplateEngine.java b/src/main/java/com/github/mengweijin/code/generator/engine/AbstractVelocityTemplateEngine.java index ea054e8..0a78a6d 100644 --- a/src/main/java/com/github/mengweijin/code/generator/engine/AbstractVelocityTemplateEngine.java +++ b/src/main/java/com/github/mengweijin/code/generator/engine/AbstractVelocityTemplateEngine.java @@ -90,7 +90,8 @@ public abstract class AbstractVelocityTemplateEngine implements ITemplateEngine try (FileOutputStream fos = new FileOutputStream(outputFile); OutputStreamWriter ow = new OutputStreamWriter(fos, ConstVal.UTF8); BufferedWriter writer = new BufferedWriter(ow)) { - template.merge(new VelocityContext(objectMap), writer); + VelocityContext context = new VelocityContext(objectMap); + template.merge(context, writer); log.info("生成成功!模板:{};文件:{}", templatePath, outputFile); } catch (IOException e) { log.error("生成失败!模板:{}; 文件:{}", templatePath, outputFile); diff --git a/src/main/java/com/github/mengweijin/code/generator/engine/ITemplateEngine.java b/src/main/java/com/github/mengweijin/code/generator/engine/ITemplateEngine.java index d9903c4..238007d 100644 --- a/src/main/java/com/github/mengweijin/code/generator/engine/ITemplateEngine.java +++ b/src/main/java/com/github/mengweijin/code/generator/engine/ITemplateEngine.java @@ -34,7 +34,7 @@ public interface ITemplateEngine { List commonColumns = GeneratorUtils.resolveCommonColumns(commonFields); String requestMapping = "/" + StrUtil.toSymbolCase(entityName, '-'); - if(StrUtil.isNotBlank(config.getModuleName())) { + if (StrUtil.isNotBlank(config.getModuleName())) { requestMapping = StrUtil.addPrefixIfNot(config.getModuleName(), "/") + requestMapping; } @@ -57,6 +57,8 @@ public interface ITemplateEngine { objectMap.put("commonColumns", commonColumns); objectMap.put("allColumns", CollUtil.addAll(new ArrayList<>(entityColumns), new ArrayList<>(commonColumns))); objectMap.put("requestMapping", requestMapping); + + objectMap.put("hutoolStrUtil", org.dromara.hutool.core.text.StrUtil.class); return objectMap; } diff --git a/src/main/resources/script/docker/Dockerfile b/src/main/resources/script/docker/Dockerfile index e458018..47e7a9b 100644 --- a/src/main/resources/script/docker/Dockerfile +++ b/src/main/resources/script/docker/Dockerfile @@ -9,12 +9,11 @@ RUN mkdir -p ${DIR} WORKDIR ${DIR} -ENV SERVER_PORT=8080 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" +ENV SERVER_PORT=8080 LANG=C.UTF-8 LC_ALL=C.UTF-8 +ENV JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError" EXPOSE ${SERVER_PORT} #ADD ./target/app-admin.jar ./app.jar -ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \ - -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \ - -jar app.jar \ No newline at end of file +ENTRYPOINT java -Dserver.port=${SERVER_PORT} ${JAVA_OPTS} -jar app.jar \ No newline at end of file diff --git a/src/main/resources/script/linux/app.sh b/src/main/resources/script/linux/app.sh index 876d5ba..9fe848c 100644 --- a/src/main/resources/script/linux/app.sh +++ b/src/main/resources/script/linux/app.sh @@ -3,7 +3,9 @@ AppName=app-admin.jar # JVM参数 -JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" +JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError" +# JAVA 8 +# JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" APP_HOME=`pwd` LOG_PATH=$APP_HOME/logs/$AppName.log diff --git a/src/main/resources/templates/mybatis-plus/${entityName}Controller.java.vm b/src/main/resources/templates/mybatis-plus/${entityName}Controller.java.vm index dc6a1ae..13b222b 100644 --- a/src/main/resources/templates/mybatis-plus/${entityName}Controller.java.vm +++ b/src/main/resources/templates/mybatis-plus/${entityName}Controller.java.vm @@ -1,12 +1,11 @@ package ${package}; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.mengweijin.vitality.framework.domain.R; import jakarta.validation.Valid; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -16,7 +15,8 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.bind.annotation.RequestParam; +import java.util.Arrays; +import java.util.List; /** *

@@ -44,8 +44,20 @@ public class ${entityName}Controller { * @return Page<${entityName}> */ @GetMapping("/page") - public Page<${entityName}> page(Page<${entityName}> page, ${entityName} ${entityPropertyName}) { - return ${entityPropertyName}Service.page(page, new QueryWrapper<>(${entityPropertyName})); + public IPage<${entityName}> page(IPage<${entityName}> page, ${entityName} ${entityPropertyName}) { + return ${entityPropertyName}Service.page(page, ${entityPropertyName}); + } + + /** + *

+ * Get ${entityName} list by ${entityName} + *

+ * @param ${entityPropertyName} {@link ${entityName}} + * @return List<${entityName}> + */ + @GetMapping("/list") + public List<${entityName}> list(${entityName} ${entityPropertyName}) { + return ${entityPropertyName}Service.list(new QueryWrapper<>(${entityPropertyName})); } /** @@ -69,7 +81,7 @@ public class ${entityName}Controller { @PostMapping public R add(@Valid @RequestBody ${entityName} ${entityPropertyName}) { boolean bool = ${entityPropertyName}Service.save(${entityPropertyName}); - return R.bool(bool); + return R.ajax(bool); } /** @@ -81,7 +93,7 @@ public class ${entityName}Controller { @PutMapping public R update(@Valid @RequestBody ${entityName} ${entityPropertyName}) { boolean bool = ${entityPropertyName}Service.updateById(${entityPropertyName}); - return R.bool(bool); + return R.ajax(bool); } /** @@ -92,7 +104,7 @@ public class ${entityName}Controller { */ @DeleteMapping("/{ids}") public R delete(@PathVariable("ids") ${idField.columnType.type}[] ids) { - int i = ${entityPropertyName}Service.getBaseMapper().deleteBatchIds(Arrays.asList(ids)); + int i = ${entityPropertyName}Service.getBaseMapper().deleteByIds(Arrays.asList(ids)); return R.ajax(i); } diff --git a/src/main/resources/templates/mybatis-plus/${entityName}DTO.java.vm b/src/main/resources/templates/mybatis-plus/${entityName}DTO.java.vm index 145c510..2dddb8f 100644 --- a/src/main/resources/templates/mybatis-plus/${entityName}DTO.java.vm +++ b/src/main/resources/templates/mybatis-plus/${entityName}DTO.java.vm @@ -3,8 +3,6 @@ package ${package}; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import java.io.Serial; -import java.io.Serializable; /** *

@@ -17,9 +15,6 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) -public class ${entityName}DTO extends ${entityName} implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; +public class ${entityName}DTO extends ${entityName} { } diff --git a/src/main/resources/templates/mybatis-plus/${entityName}Service.java.vm b/src/main/resources/templates/mybatis-plus/${entityName}Service.java.vm index 28fffb0..ce35116 100644 --- a/src/main/resources/templates/mybatis-plus/${entityName}Service.java.vm +++ b/src/main/resources/templates/mybatis-plus/${entityName}Service.java.vm @@ -1,10 +1,12 @@ package ${package}; -import lombok.extern.slf4j.Slf4j; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.extern.slf4j.Slf4j; +import org.dromara.hutool.core.text.StrUtil; import org.springframework.stereotype.Service; +import java.util.Objects; /** *

@@ -26,7 +28,16 @@ public class ${entityName}Service extends ServiceImpl<${entityName}Mapper, ${ent * @return IPage */ public IPage<${entityName}> page(IPage<${entityName}> page, ${entityName} ${entityPropertyName}){ - return this.getBaseMapper().page(page, ${entityPropertyName}); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query + #foreach($field in ${allFields}) + #set($upperFirstName = $hutoolStrUtil.upperFirst(${field.propertyName})) + #if(${field.columnType}=="STRING") + .eq(StrUtil.isNotBlank(${entityPropertyName}.get$upperFirstName()), ${entityName}::get$upperFirstName, ${entityPropertyName}.get$upperFirstName())#if(!$foreach.hasNext);#end + #else + .eq(!Objects.isNull(${entityPropertyName}.get$upperFirstName()), ${entityName}::get$upperFirstName, ${entityPropertyName}.get$upperFirstName())#if(!$foreach.hasNext);#end + #end + #end + return this.page(page, query); } } - -- Gitee