提交 d6013f3a 编写于 作者: zhouweidong's avatar zhouweidong

合并分支 'dev' 到 'master'

合并分支到主干20200725

查看合并请求 !18
......@@ -37,18 +37,18 @@ import java.util.List;
@MapperScan("${pub.getPKGCodeName()}.*.mapper")
@SpringBootApplication(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
<#assign bmogo=false>
<#if app.getAllPSAppDataEntities()??>
<#list app.getAllPSAppDataEntities() as appde>
<#if appde.getStorageMode()?? && appde.getStorageMode()==2>
<#assign bmogo=true>
<#break >
</#if>
</#list>
</#if>
<#if bmogo==false>
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,
</#if>
<#--<#assign bmogo=false>-->
<#--<#if app.getAllPSAppDataEntities()??>-->
<#--<#list app.getAllPSAppDataEntities() as appde>-->
<#--<#if appde.getStorageMode()?? && appde.getStorageMode()==2>-->
<#--<#assign bmogo=true>-->
<#--<#break >-->
<#--</#if>-->
<#--</#list>-->
<#--</#if>-->
<#--<#if bmogo==false>-->
<#--org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,-->
<#--</#if>-->
<#if bDynamicDS>
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure.class
</#if>
......
......@@ -31,18 +31,18 @@ import java.util.List;
@EnableTransactionManagement
@EnableFeignClients(basePackages = {"${pub.getPKGCodeName()}" })
@SpringBootApplication(exclude = {
<#assign bmogo=false>
<#if sys.getAllPSDataEntities()??>
<#list sys.getAllPSDataEntities() as de>
<#if de.getStorageMode()?? && de.getStorageMode()==2>
<#assign bmogo=true>
<#break >
</#if>
</#list>
</#if>
<#if bmogo==false>
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,
</#if>
<#--<#assign bmogo=false>-->
<#--<#if sys.getAllPSDataEntities()??>-->
<#--<#list sys.getAllPSDataEntities() as de>-->
<#--<#if de.getStorageMode()?? && de.getStorageMode()==2>-->
<#--<#assign bmogo=true>-->
<#--<#break >-->
<#--</#if>-->
<#--</#list>-->
<#--</#if>-->
<#--<#if bmogo==false>-->
<#--org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,-->
<#--</#if>-->
<#if bDynamicDS>
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure.class
</#if>
......
......@@ -47,8 +47,13 @@ public class ${item.codeName}SearchContext extends QueryWrapperContext<${item.co
@JsonFormat(pattern="HH:mm", timezone="GMT+8")
@JSONField(format="HH:mm")
</#if>
private ${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
public void set${formitem.getName()?lower_case?cap_first}(${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case}) {
<#assign formItemDataType=srfjavatype(formitem.getPSDEField().stdDataType)>
<#comment>in条件通过String接,通过split拆后再进行查询</#comment>
<#if formitem.getValueOp() == "IN">
<#assign formItemDataType="String">
</#if>
private ${formItemDataType} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
public void set${formitem.getName()?lower_case?cap_first}(${formItemDataType} ${formitem.getName()?lower_case}) {
this.${formitem.getName()?lower_case} = ${formitem.getName()?lower_case};
if(!ObjectUtils.isEmpty(this.${formitem.getName()?lower_case})){
<#if formitem.getValueOp() == "LIKE">
......@@ -78,22 +83,13 @@ public class ${item.codeName}SearchContext extends QueryWrapperContext<${item.co
this.getSearchCond().isNull("${formitem.getPSDEField().getName()?lower_case}");
}
<#elseif formitem.getValueOp() == "IN">
<#if formitem.getPSCodeListId()??>
<#assign codeListName=getCodeListName(formitem.getPSCodeListId())>
String defaultSeparator=(CodeListBase.getCodeList("${codeListName}")==null)?";":CodeListBase.getCodeList("${codeListName}").getCodeList().getValueseparator();
<#else >
String defaultSeparator=";";
</#if>
this.getSearchCond().in("${formitem.getPSDEField().getName()?lower_case}",this.${formitem.getName()?lower_case}.split(defaultSeparator));
<#comment>获取分隔符</#comment>
<#assign valueSeparator=getInCondSeparator(formitem)>
this.getSearchCond().in("${formitem.getPSDEField().getName()?lower_case}",this.${formitem.getName()?lower_case}.split("${valueSeparator}"));
<#elseif formitem.getValueOp() == "NOTIN">
<#if formitem.getPSCodeListId()??>
<#assign codeListName=getCodeListName(formitem.getPSCodeListId())>
String defaultSeparator=(CodeListBase.getCodeList("${codeListName}")==null)?";":CodeListBase.getCodeList("${codeListName}").getCodeList().getValueseparator();
<#else >
String defaultSeparator=";";
</#if>
String defaultSeparator=";";
this.getSearchCond().notIn("${formitem.getPSDEField().getName()?lower_case}",this.${formitem.getName()?lower_case}.split(defaultSeparator));
<#comment>获取分隔符</#comment>
<#assign valueSeparator=getInCondSeparator(formitem)>
this.getSearchCond().notIn("${formitem.getPSDEField().getName()?lower_case}",this.${formitem.getName()?lower_case}.split("${valueSeparator}"));
</#if>
}
}
......@@ -160,8 +156,13 @@ public class ${item.codeName}SearchContext extends QueryBuildContext {
@JsonFormat(pattern="HH:mm", timezone="GMT+8")
@JSONField(format="HH:mm")
</#if>
private ${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
public void set${formitem.getName()?lower_case?cap_first}(${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case}) {
<#assign formItemDataType=srfjavatype(formitem.getPSDEField().stdDataType)>
<#comment>in条件通过String接,通过split拆后再进行查询</#comment>
<#if formitem.getValueOp() == "IN">
<#assign formItemDataType="String">
</#if>
private ${formItemDataType} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
public void set${formitem.getName()?lower_case?cap_first}(${formItemDataType} ${formitem.getName()?lower_case}) {
this.${formitem.getName()?lower_case} = ${formitem.getName()?lower_case};
if(!ObjectUtils.isEmpty(this.${formitem.getName()?lower_case})){
<#if formitem.getValueOp() == "LIKE">
......@@ -194,22 +195,13 @@ public class ${item.codeName}SearchContext extends QueryBuildContext {
this.getSearchCond().and("${formitem.getPSDEField().getName()?lower_case}").exists(null);
}
<#elseif formitem.getValueOp() == "IN">
<#if formitem.getPSCodeListId()??>
<#assign codeListName=getCodeListName(formitem.getPSCodeListId())>
String defaultSeparator=(CodeListBase.getCodeList("${codeListName}")==null)?";":CodeListBase.getCodeList("${codeListName}").getCodeList().getValueseparator();
<#else >
String defaultSeparator=";";
</#if>
this.getSearchCond().and("${formitem.getPSDEField().getName()?lower_case}").in(this.${formitem.getName()?lower_case}.split(defaultSeparator)));
<#comment>获取分隔符</#comment>
<#assign valueSeparator=getInCondSeparator(formitem)>
this.getSearchCond().and("${formitem.getPSDEField().getName()?lower_case}").in(this.${formitem.getName()?lower_case}.split("${valueSeparator}")));
<#elseif formitem.getValueOp() == "NOTIN">
<#if formitem.getPSCodeListId()??>
<#assign codeListName=getCodeListName(formitem.getPSCodeListId())>
String defaultSeparator=(CodeListBase.getCodeList("${codeListName}")==null)?";":CodeListBase.getCodeList("${codeListName}").getCodeList().getValueseparator();
<#else >
String defaultSeparator=";";
</#if>
String defaultSeparator=";";
this.getSearchCond().and("${formitem.getPSDEField().getName()?lower_case}").notIn(this.${formitem.getName()?lower_case}.split(defaultSeparator)));
<#comment>获取分隔符</#comment>
<#assign valueSeparator=getInCondSeparator(formitem)>
this.getSearchCond().and("${formitem.getPSDEField().getName()?lower_case}").notIn(this.${formitem.getName()?lower_case}.split("${valueSeparator}")));
</#if>
}
}
......@@ -260,7 +252,12 @@ public class ${item.codeName}SearchContext extends SearchContextBase {
@JsonFormat(pattern="HH:mm", timezone="GMT+8")
@JSONField(format="HH:mm")
</#if>
private ${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
<#assign formItemDataType=srfjavatype(formitem.getPSDEField().stdDataType)>
<#comment>in条件通过String接,通过split拆后再进行查询</#comment>
<#if formitem.getValueOp() == "IN">
<#assign formItemDataType="String">
</#if>
private ${formItemDataType} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
</#if>
</#list>
......@@ -292,7 +289,12 @@ public class ${item.codeName}SearchContext extends SearchContextBase {
@JsonFormat(pattern="HH:mm", timezone="GMT+8")
@JSONField(format="HH:mm")
</#if>
private ${srfjavatype(formitem.getPSDEField().stdDataType)} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
<#assign formItemDataType=srfjavatype(formitem.getPSDEField().stdDataType)>
<#comment>in条件通过String接,通过split拆后再进行查询</#comment>
<#if formitem.getValueOp() == "IN">
<#assign formItemDataType="String">
</#if>
private ${formItemDataType} ${formitem.getName()?lower_case};//[${defield.getLogicName()}]
</#if>
</#list>
......@@ -302,4 +304,19 @@ public class ${item.codeName}SearchContext extends SearchContextBase {
</#if>
<#comment>获取in查询的分隔符</#comment>
<#function getInCondSeparator formitem>
<#assign valueSeparator=";">
<#if formitem.getPSCodeListId()??>
<#assign codelistId=formitem.getPSCodeListId()>
<#if sys.getPSCodeList(codelistId,true)??>
<#assign codelist=sys.getPSCodeList(codelistId)>
<#if codelist.getValueSeparator?? && codelist.getValueSeparator()?? && codelist.getValueSeparator()!=''>
<#assign valueSeparator=codelist.getValueSeparator()>
</#if>
</#if>
</#if>
<#return valueSeparator/>
</#function>
......@@ -2561,6 +2561,7 @@ ${deaction.getRender().code}
}
}
rs.put("rst", 0);
rs.put("data",entities);
return rs;
}
......
......@@ -21,6 +21,7 @@ import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.lang.reflect.Field;
import java.util.Map;
/**
* 数据库版本检查
......@@ -31,6 +32,7 @@ import java.lang.reflect.Field;
public class VersionCheckAspect
{
private final ExpressionParser parser = new SpelExpressionParser();
private final String IgnoreField="ignoreversioncheck";
@SneakyThrows
@Before("execution(* ${pub.getPKGCodeName()}.*.rest.*.update(..)) && @annotation(versionCheck)")
......@@ -65,6 +67,11 @@ public class VersionCheckAspect
private void versionCheck(VersionCheck versionCheck,Object resource,Object dto,Object id ){
EvaluationContext context = new StandardEvaluationContext();
context.setVariable("dto",dto);
//忽略版本检查
Expression dtoParamsExp = parser.parseExpression("#dto.extensionparams");
Map dtoParam=dtoParamsExp.getValue(context, Map.class);
if(!ObjectUtils.isEmpty(dtoParam) && !ObjectUtils.isEmpty(dtoParam.get(IgnoreField)) && dtoParam.get(IgnoreField).equals(1))
return;
Expression newExp = parser.parseExpression(String.format("#dto.%s",versionCheck.versionfield()));
Object newVersion=newExp.getValue(context);
if(ObjectUtils.isEmpty(newVersion))
......
......@@ -10,6 +10,16 @@ TARGET=PSSYSTEM
<#assign dbUrl="jdbc:mysql://127.0.0.1:3306/"+sys.name+"?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true">
<#assign dbDriver="com.mysql.jdbc.Driver">
<#assign bDynamicDS=false>
<#assign bmogo=false>
<#assign mongodbUri="mongodb://"+sys.name+":"+sys.name+"@127.0.0.1:27017/"+sys.name>
<#if sys.getAllPSDataEntities()??>
<#list sys.getAllPSDataEntities() as de>
<#if de.getStorageMode()?? && de.getStorageMode()==2>
<#assign bmogo=true>
<#break >
</#if>
</#list>
</#if>
<#list sys.getAllPSDataEntities() as entity>
<#if (entity.getStorageMode()==1 || entity.getStorageMode()==2) && entity.getDSLink()!='DEFAULT'>
<#assign bDynamicDS=true>
......@@ -30,6 +40,9 @@ TARGET=PSSYSTEM
<#if appPlatform.getUserParam("spring.redis.database","0")??>
<#assign redisDataBase = appPlatform.getUserParam("spring.redis.database","0")>
</#if>
<#if appPlatform.getUserParam("spring.data.mongodb.uri",mongodbUri)??>
<#assign mongodbUri = appPlatform.getUserParam("spring.data.mongodb.uri",mongodbUri)>
</#if>
<#break>
</#if>
</#list>
......@@ -48,6 +61,9 @@ TARGET=PSSYSTEM
<#if sysApiPlatform.getUserParam("spring.redis.database","0")??>
<#assign redisDataBase = sysApiPlatform.getUserParam("spring.redis.database","0")>
</#if>
<#if sysApiPlatform.getUserParam("spring.data.mongodb.uri",mongodbUri)??>
<#assign mongodbUri = sysApiPlatform.getUserParam("spring.data.mongodb.uri",mongodbUri)>
</#if>
<#break>
</#if>
</#list>
......@@ -140,6 +156,11 @@ spring:
max-wait: 300ms
max-idle: 16
min-idle: 8
<#if bmogo>
data:
mongodb:
uri: ${mongodbUri}
</#if>
<#if bDynamicDS>
<@dynamicDatasourceConfig/>
<#else>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册