完成简单入出库功能

This commit is contained in:
AlanScipio
2024-03-06 16:26:21 +08:00
parent 24f1f4c3e7
commit 1c38d91567
26 changed files with 948 additions and 182 deletions

View File

@@ -134,16 +134,17 @@ public class VelocityUtils {
if ("mybatis-dynamic".equals(tplBackendType)) {
//MyBatis Dynamic SQL
templates.add("vm/java/controller-dynamic.java.vm");
templates.add("vm/java/service-dynamic.java.vm");
templates.add("vm/java/serviceImpl-dynamic.java.vm");
} else {
//常规
templates.add("vm/java/domain.java.vm");
templates.add("vm/java/controller.java.vm");
templates.add("vm/java/service.java.vm");
templates.add("vm/java/serviceImpl.java.vm");
templates.add("vm/java/mapper.java.vm");
templates.add("vm/xml/mapper.xml.vm");
}
templates.add("vm/java/service.java.vm");
templates.add("vm/sql/sql.vm");
//前端
templates.add("vm/js/api.js.vm");
@@ -190,6 +191,8 @@ public class VelocityUtils {
fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
} else if (template.contains("service.java.vm")) {
fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
} else if (template.contains("service-dynamic.java.vm")) {
fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
} else if (template.contains("serviceImpl.java.vm")) {
fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
} else if (template.contains("serviceImpl-dynamic.java.vm")) {

View File

@@ -0,0 +1,70 @@
package ${packageName}.service;
import java.util.List;
import ${packageName}.domain .${ClassName};
/**
* ${functionName}Service接口
*
* @author ${author}
* created on ${datetime}
*/
public interface I${ClassName}Service {
/**
* 查询${functionName}
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
List<${ClassName}> select${ClassName}List(${ClassName} ${className});
/**
* 新增${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
int insert${ClassName}(${ClassName} ${className});
/**
* 修改${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
int update${ClassName}(${ClassName} ${className});
/**
* 批量删除${functionName}
*
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
* @return 结果
*/
int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
/**
* 删除${functionName}信息
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
/**
* 检查${functionName}是否已存在
*
* @param ${pkColumn.javaField} 主键
* @param deleteIfLogicDeleted 如果是已经逻辑删除的数据则是否顺带物理删除掉如果为true则逻辑删除的也会返回null
* @return null:不存在; not null:存在
*/
${ClassName} check${pkColumn.capJavaField}Exists(${pkColumn.javaType} ${pkColumn.javaField}, boolean deleteIfLogicDeleted);
}

View File

@@ -220,4 +220,29 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service
}
}
#end
/**
* 检查${functionName}是否已存在
*
* @param ${pkColumn.javaField} 主键
* @param deleteIfLogicDeleted 如果是已经逻辑删除的数据则是否顺带物理删除掉如果为true则逻辑删除的也会返回null
* @return null:不存在; not null:存在
*/
@Transactional
@Override
public ${ClassName} check${pkColumn.capJavaField}Exists(${pkColumn.javaType} ${pkColumn.javaField}, boolean deleteIfLogicDeleted) {
Optional<${ClassName}> existsRecordOpt = ${className}Mapper.selectOne(dsl -> dsl.where(${ClassName}DynamicSqlSupport.${pkColumn.javaField}, SqlBuilder.isEqualTo(${pkColumn.javaField})));
if (existsRecordOpt.isEmpty()) {
return null;
} else {
${ClassName} existsRecord = existsRecordOpt.get();
if (deleteIfLogicDeleted && existsRecord.isLogicDeleted()) {
//顺带物理删除掉
${className}Mapper.deleteByPrimaryKey(existsRecord.get${pkColumn.capJavaField}());
return null;
}
return existsRecord;
}
}
}