提交 ab3bc58f 编写于 作者: ibizdev's avatar ibizdev

Mosher 发布系统代码 [后台服务,演示应用]

上级 8a972a20
...@@ -12,4 +12,4 @@ ...@@ -12,4 +12,4 @@
**.iml **.iml
*.jar *.jar
*.log *.log
.DS_Store .DS_Store
\ No newline at end of file
...@@ -102,5 +102,134 @@ export default class GridViewLoadUILogicBase { ...@@ -102,5 +102,134 @@ export default class GridViewLoadUILogicBase {
} }
} }
/**
* 开始
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_begin_node(actionContext: UIActionContext) {
// 自定义表格数据加载
actionContext.setResult(actionContext.defaultParam.getReal());
console.log('已完成执行 开始 节点');
await this.execute_bindparam1_node(actionContext);
}
/**
* 绑定当前搜索表单
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_bindparam1_node(actionContext: UIActionContext) {
// 自定义表格数据加载
try {
// 源数据
const srcParam = actionContext.getParam('view');
// 目标数据
const dstParam = actionContext.getParam('searchForm');
// 源属性
const srcFieldName: string = 'searchform';
if (srcFieldName) {
dstParam.bind(srcParam.get(srcFieldName));
} else {
dstParam.bind(srcParam.getReal());
}
actionContext.bindLastReturnParam(null);
} catch (error: any) {
throw new Error(`逻辑参数当前搜索表单 ${error && error.message ? error.message : '发生未知错误!'}`);
}
console.log('已完成执行 绑定当前搜索表单 节点');
await this.execute_viewctrlinvoke1_node(actionContext);
}
/**
* 视图部件调用
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_viewctrlinvoke1_node(actionContext: UIActionContext) {
// 自定义表格数据加载
const invokeCtrl = 'searchForm';
const invokeMethod = 'loadDraft';
const invokeParam = 'viewParam';
if (!invokeCtrl || !invokeMethod) {
throw new Error(`界面对象或者调用方法缺失`);
}
const invokeUICtrl = actionContext.getParam(invokeCtrl).getReal();
if (invokeUICtrl[invokeMethod] && invokeUICtrl[invokeMethod] instanceof Function) {
try {
const result = await invokeUICtrl[invokeMethod]();
if (invokeParam) {
actionContext.getParam(invokeParam).bind(result);
}
actionContext.bindLastReturnParam(result);
} catch (error:any) {
throw new Error(`${invokeCtrl}界面对象调用${invokeMethod}方法发生异常`);
}
} else {
throw new Error(`${invokeCtrl}界面对象不存在${invokeMethod}方法`);
}
console.log('已完成执行 视图部件调用 节点');
await this.execute_viewctrlinvoke2_node(actionContext);
}
/**
* 视图部件调用
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_viewctrlinvoke2_node(actionContext: UIActionContext) {
// 自定义表格数据加载
const invokeCtrl = 'grid';
const invokeMethod = 'load';
const invokeParam = 'viewParam';
if (!invokeCtrl || !invokeMethod) {
throw new Error(`界面对象或者调用方法缺失`);
}
const invokeUICtrl = actionContext.getParam(invokeCtrl).getReal();
if (invokeUICtrl[invokeMethod] && invokeUICtrl[invokeMethod] instanceof Function) {
try {
const result = await invokeUICtrl[invokeMethod]();
if (invokeParam) {
actionContext.getParam(invokeParam).bind(result);
}
actionContext.bindLastReturnParam(result);
} catch (error:any) {
throw new Error(`${invokeCtrl}界面对象调用${invokeMethod}方法发生异常`);
}
} else {
throw new Error(`${invokeCtrl}界面对象不存在${invokeMethod}方法`);
}
console.log('已完成执行 视图部件调用 节点');
await this.execute_end1_node(actionContext);
}
/**
* 结束
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_end1_node(actionContext: UIActionContext) {
// 自定义表格数据加载
const strReturnType: string = 'NONEVALUE';
if (Object.is(strReturnType, LogicReturnType.NONEVALUE) || Object.is(strReturnType, LogicReturnType.NULLVALUE)) {
actionContext.setResult(null);
} else if (Object.is(strReturnType, LogicReturnType.SRCVALUE)) {
actionContext.setResult('');
} else if (Object.is(strReturnType, LogicReturnType.BREAK)) {
actionContext.setResult(LogicReturnType.BREAK);
} else if (Object.is(strReturnType, LogicReturnType.LOGICPARAM) || Object.is(strReturnType, LogicReturnType.LOGICPARAMFIELD)) {
const returnParam = actionContext.getParam('');
if (Object.is(strReturnType, LogicReturnType.LOGICPARAM)) {
actionContext.setResult(returnParam.getReal());
} else {
actionContext.setResult(returnParam.get(''));
}
} else {
throw new Error(`无法识别的返回值类型${strReturnType}`);
}
console.log('已完成执行 结束 节点');
console.log('已完成执行 结束 节点');
}
} }
\ No newline at end of file
...@@ -81,5 +81,59 @@ export default class OpenYuQueUILogicBase { ...@@ -81,5 +81,59 @@ export default class OpenYuQueUILogicBase {
} }
} }
/**
* 开始
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_begin_node(actionContext: UIActionContext) {
// 打开语雀文档
actionContext.setResult(actionContext.defaultParam.getReal());
console.log('已完成执行 开始 节点');
await this.execute_deuiaction1_node(actionContext);
}
/**
* 结束
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_end1_node(actionContext: UIActionContext) {
// 打开语雀文档
const strReturnType: string = 'NONEVALUE';
if (Object.is(strReturnType, LogicReturnType.NONEVALUE) || Object.is(strReturnType, LogicReturnType.NULLVALUE)) {
actionContext.setResult(null);
} else if (Object.is(strReturnType, LogicReturnType.SRCVALUE)) {
actionContext.setResult('');
} else if (Object.is(strReturnType, LogicReturnType.BREAK)) {
actionContext.setResult(LogicReturnType.BREAK);
} else if (Object.is(strReturnType, LogicReturnType.LOGICPARAM) || Object.is(strReturnType, LogicReturnType.LOGICPARAMFIELD)) {
const returnParam = actionContext.getParam('');
if (Object.is(strReturnType, LogicReturnType.LOGICPARAM)) {
actionContext.setResult(returnParam.getReal());
} else {
actionContext.setResult(returnParam.get(''));
}
} else {
throw new Error(`无法识别的返回值类型${strReturnType}`);
}
console.log('已完成执行 结束 节点');
console.log('已完成执行 结束 节点');
}
/**
* 界面行为
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
protected async execute_deuiaction1_node(actionContext: UIActionContext) {
// 打开语雀文档
const data = actionContext.defaultParam.getReal();
const { context, viewparams } = actionContext;
// TODO 调用实体界面行为节点
console.log('已完成执行 界面行为 节点');
await this.execute_end1_node(actionContext);
}
} }
\ No newline at end of file
...@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -657,7 +657,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -657,7 +657,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/ */
public load(opt: any = {}, isReset: boolean = false): void { public load(opt: any = {}, isReset: boolean = false): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -736,7 +736,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -736,7 +736,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -845,7 +845,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -845,7 +845,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -853,7 +853,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface ...@@ -853,7 +853,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizorder){ if(item.ibizorder){
......
...@@ -55,23 +55,6 @@ ...@@ -55,23 +55,6 @@
git clone -b master $para2 demosys/ git clone -b master $para2 demosys/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd demosys/ cd demosys/
cd demo-boot
mvn ibizlabcli:code
cd ..
set +e
git config user.name "ibizdev"
git add .
git commit -m "generator before deploy $para5"
git push origin master
git config user.name "root"
set -e
mvn package -Pboot
cd demo-boot
sed -i "s#dstimage#$para5#g" pom.xml
sed -i "s#dstimage#$para5#g" src/main/docker/demo-boot-demoapi.yaml
mvn -Pboot docker:build
mvn -Pboot docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/demo-boot-demoapi.yaml iBizDemo --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /demo-boot.jar java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /demo-boot.jar
EXPOSE 52000 EXPOSE 8081
ADD demo-boot.jar /demo-boot.jar ADD demo-boot.jar /demo-boot.jar
...@@ -50,4 +50,4 @@ public class BootApplication extends WebMvcConfigurerAdapter { ...@@ -50,4 +50,4 @@ public class BootApplication extends WebMvcConfigurerAdapter {
super.addArgumentResolvers(argumentResolvers); super.addArgumentResolvers(argumentResolvers);
argumentResolvers.add(resolver); argumentResolvers.add(resolver);
} }
} }
\ No newline at end of file
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
</parent> </parent>
<artifactId>demo-core</artifactId> <artifactId>demo-core</artifactId>
<name>Demo Core</name> <name>后台服务 Core</name>
<description>后台服务 Core,模板生成代码,再次发布会覆盖,建议不要直接修改,修改请在demo-boot项目中继承或覆盖重写</description> <description>后台服务 Core</description>
<dependencies> <dependencies>
...@@ -20,14 +20,6 @@ ...@@ -20,14 +20,6 @@
<artifactId>ibizlab-boot-starter-data</artifactId> <artifactId>ibizlab-boot-starter-data</artifactId>
<version>2.4.0-SNAPSHOT</version> <version>2.4.0-SNAPSHOT</version>
</dependency> </dependency>
<!-- MySQL驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies> </dependencies>
<properties> <properties>
...@@ -101,4 +93,4 @@ ...@@ -101,4 +93,4 @@
</profile> </profile>
</profiles> </profiles>
</project> </project>
\ No newline at end of file
[ [
{
"name": "年度",
"code": "Years",
"group": "",
"memo": "",
}
]
\ No newline at end of file
{
"name":"年度",
"code":"Years",
"group":"",
"memo":"",
"enable":"",
}
]
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<artifactId>demo</artifactId> <artifactId>demo</artifactId>
<groupId>cn.ibizlab</groupId> <groupId>cn.ibizlab</groupId>
<version>1.0.0.0</version> <version>1.0.0.0</version>
<name>Demo</name> <name>后台服务</name>
<description>后台服务</description> <description></description>
<packaging>pom</packaging> <packaging>pom</packaging>
<parent> <parent>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
<generateBackupPoms>false</generateBackupPoms> <generateBackupPoms>false</generateBackupPoms>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>cn.ibizlab</groupId> <groupId>cn.ibizlab</groupId>
<artifactId>ibizlab-generator-plugin</artifactId> <artifactId>ibizlab-generator-plugin</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
...@@ -137,4 +137,4 @@ ...@@ -137,4 +137,4 @@
</plugins> </plugins>
</build> </build>
</project> </project>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册