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

合并分支 'dev' 到 'master'

合并分支到主干20200725

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