Compare commits
2 Commits
bef9b98546
...
4bbe6a2df8
Author | SHA1 | Date |
---|---|---|
weilin.zhu | 4bbe6a2df8 | |
weilin.zhu | 4823cfe1a8 |
|
@ -1003,14 +1003,20 @@ public class HttpUtils {
|
||||||
if (Strings.isNullOrEmpty(contentType)) {
|
if (Strings.isNullOrEmpty(contentType)) {
|
||||||
List<NameValuePair> nvps = new ArrayList<>();
|
List<NameValuePair> nvps = new ArrayList<>();
|
||||||
for (Map.Entry<String, Object> entry : params.entrySet()) {
|
for (Map.Entry<String, Object> entry : params.entrySet()) {
|
||||||
nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
//nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
||||||
|
|
||||||
|
//修复请求form表单提交时,参数值被双引号括了起来
|
||||||
|
nvps.add(new BasicNameValuePair(entry.getKey(), Util.null2String(entry.getValue())));
|
||||||
}
|
}
|
||||||
httpPost.setHeader("Content-Type", HttpArgsType.DEFAULT_CONTENT_TYPE);
|
httpPost.setHeader("Content-Type", HttpArgsType.DEFAULT_CONTENT_TYPE);
|
||||||
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
|
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
|
||||||
} else if (contentType.toUpperCase().startsWith(HttpArgsType.X_WWW_FORM_URLENCODED.toUpperCase())) {
|
} else if (contentType.toUpperCase().startsWith(HttpArgsType.X_WWW_FORM_URLENCODED.toUpperCase())) {
|
||||||
List<NameValuePair> nvps = new ArrayList<>();
|
List<NameValuePair> nvps = new ArrayList<>();
|
||||||
for (Map.Entry<String, Object> entry : params.entrySet()) {
|
for (Map.Entry<String, Object> entry : params.entrySet()) {
|
||||||
nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
//nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
||||||
|
|
||||||
|
//修复请求form表单提交时,参数值被双引号括了起来
|
||||||
|
nvps.add(new BasicNameValuePair(entry.getKey(), Util.null2String(entry.getValue())));
|
||||||
}
|
}
|
||||||
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
|
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
|
||||||
// } else if (contentType.toUpperCase().startsWith(HttpArgsType.APPLICATION_JSON.toUpperCase())) {
|
// } else if (contentType.toUpperCase().startsWith(HttpArgsType.APPLICATION_JSON.toUpperCase())) {
|
||||||
|
@ -1187,14 +1193,18 @@ public class HttpUtils {
|
||||||
if (Strings.isNullOrEmpty(contentType)) {
|
if (Strings.isNullOrEmpty(contentType)) {
|
||||||
List<NameValuePair> nvps = new ArrayList<>();
|
List<NameValuePair> nvps = new ArrayList<>();
|
||||||
for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
|
for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
|
||||||
nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
//nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
||||||
|
//修复请求form表单提交时,参数值被双引号括了起来
|
||||||
|
nvps.add(new BasicNameValuePair(entry.getKey(), Util.null2String(entry.getValue())));
|
||||||
}
|
}
|
||||||
httpPut.setHeader("Content-Type", HttpArgsType.DEFAULT_CONTENT_TYPE);
|
httpPut.setHeader("Content-Type", HttpArgsType.DEFAULT_CONTENT_TYPE);
|
||||||
httpPut.setEntity(new UrlEncodedFormEntity(nvps));
|
httpPut.setEntity(new UrlEncodedFormEntity(nvps));
|
||||||
} else if (contentType.toUpperCase().startsWith(HttpArgsType.X_WWW_FORM_URLENCODED.toUpperCase())) {
|
} else if (contentType.toUpperCase().startsWith(HttpArgsType.X_WWW_FORM_URLENCODED.toUpperCase())) {
|
||||||
List<NameValuePair> nvps = new ArrayList<>();
|
List<NameValuePair> nvps = new ArrayList<>();
|
||||||
for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
|
for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
|
||||||
nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
//nvps.add(new BasicNameValuePair(entry.getKey(), JSON.toJSONString(entry.getValue())));
|
||||||
|
//修复请求form表单提交时,参数值被双引号括了起来
|
||||||
|
nvps.add(new BasicNameValuePair(entry.getKey(), Util.null2String(entry.getValue())));
|
||||||
}
|
}
|
||||||
httpPut.setEntity(new UrlEncodedFormEntity(nvps));
|
httpPut.setEntity(new UrlEncodedFormEntity(nvps));
|
||||||
} else if (contentType.toUpperCase().startsWith(HttpArgsType.APPLICATION_JSON.toUpperCase())) {
|
} else if (contentType.toUpperCase().startsWith(HttpArgsType.APPLICATION_JSON.toUpperCase())) {
|
||||||
|
|
1
开发文档.md
1
开发文档.md
|
@ -34,5 +34,6 @@
|
||||||
+ [建模开发文档](https://e-cloudstore.com/doc.html?appId=e783a1d75a784d9b97fbd40fdf569f7d)
|
+ [建模开发文档](https://e-cloudstore.com/doc.html?appId=e783a1d75a784d9b97fbd40fdf569f7d)
|
||||||
+ [支持ecode复写的组件版本信息整理](https://e-cloudstore.com/doc.html?appId=f353923a8d2d42948235e7bbbd5f8912)
|
+ [支持ecode复写的组件版本信息整理](https://e-cloudstore.com/doc.html?appId=f353923a8d2d42948235e7bbbd5f8912)
|
||||||
+ [ecode常见问题](https://e-cloudstore.com/doc.html?appId=25fb364617c44ca3aa007581db3e4269)
|
+ [ecode常见问题](https://e-cloudstore.com/doc.html?appId=25fb364617c44ca3aa007581db3e4269)
|
||||||
|
+ [ecode权限说明](https://e-cloudstore.com/doc.html?appId=e6f85c66d5514aa2aa9242a0cea303d7)
|
||||||
+ [前端开发规范](https://e-cloudstore.com/doc.html?appId=36f4cc525d7444ee9291e6dfaeb0a632)
|
+ [前端开发规范](https://e-cloudstore.com/doc.html?appId=36f4cc525d7444ee9291e6dfaeb0a632)
|
||||||
+ [e9组件库](https://cloudstore.e-cology.cn/#/pc/doc/common-index)
|
+ [e9组件库](https://cloudstore.e-cology.cn/#/pc/doc/common-index)
|
76
快速入门开发.md
76
快速入门开发.md
|
@ -46,14 +46,14 @@ public interface Action {
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
常量 | 值 | 说明
|
| 常量 | 值 | 说明 |
|
||||||
---|---|---
|
|----------------------|-----|-----------------------|
|
||||||
SUCCESS | "1" | 成功标识,继续流程提交或执行下一个附加操作
|
| SUCCESS | "1" | 成功标识,继续流程提交或执行下一个附加操作 |
|
||||||
FAILURE_AND_CONTINUE | "0" | 失败标识,阻断流程提交
|
| FAILURE_AND_CONTINUE | "0" | 失败标识,阻断流程提交 |
|
||||||
|
|
||||||
方法 | 说明
|
| 方法 | 说明 |
|
||||||
---|---
|
|--------------------------------------|---------------------|
|
||||||
String execute(RequestInfo request); | action实现逻辑,执行时调用此方法
|
| String execute(RequestInfo request); | action实现逻辑,执行时调用此方法 |
|
||||||
|
|
||||||
实现示例
|
实现示例
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ public String execute(RequestInfo info){
|
||||||
int formid=RequestManager.getFormid();
|
int formid=RequestManager.getFormid();
|
||||||
//是否为单据
|
//是否为单据
|
||||||
int isbill=RequestManager.getIsbill();
|
int isbill=RequestManager.getIsbill();
|
||||||
//获取数据库主表名
|
//获取数据库主表名 (低版本中 该值有可能获取到的值为空)
|
||||||
String tableName=isbill==1?"workflow_form":RequestManager.getBillTableName();
|
String tableName=isbill==1?"workflow_form":RequestManager.getBillTableName();
|
||||||
return Action.SUCCESS;
|
return Action.SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ public class SQLExecuteActionDemo implements Action {
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
4、强制收回触发action回滚
|
4、强制收回触发action回滚
|
||||||
|
@ -275,7 +275,7 @@ public String execute(RequestInfo request){
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -438,14 +438,66 @@ public class OperatorActionTest implements OperatorAction {
|
||||||
7、流程提交失败,调用action回滚逻辑(E9+2006KB支持)
|
7、流程提交失败,调用action回滚逻辑(E9+2006KB支持)
|
||||||
|
|
||||||
8、节点附加操作执行失败问题的简单排查
|
8、节点附加操作执行失败问题的简单排查
|
||||||
|
> 查看日志文件 /ecology/log/integration/integration_流程提交日期.log 文件中根据requestid进行搜索,会有详细的接口后附加操作的相关日志。
|
||||||
|
|
||||||
### 第一个定时任务
|
### 第一个定时任务
|
||||||
|
|
||||||
> 维护人员:
|
> 维护人员:weilin.zhu
|
||||||
|
|
||||||
|
> 必须继承weaver.interfaces.schedule.BaseCronJob类,实现execute() 方法。
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import weaver.interfaces.schedule.BaseCronJob;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>第一个计划任务</p>
|
||||||
|
*/
|
||||||
|
public class FirstTask extends BaseCronJob {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义参数 (必须有getter、setter方法)否则无法取到配置值
|
||||||
|
*/
|
||||||
|
private String cusParam = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重写父类方法
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void execute() {
|
||||||
|
//具体的业务逻辑
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCusParam() {
|
||||||
|
return cusParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCusParam(String cusParam) {
|
||||||
|
this.cusParam = cusParam;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
### 第一个restful接口
|
### 第一个restful接口
|
||||||
|
|
||||||
> 维护人员:
|
> 维护人员:weilin.zhu
|
||||||
|
|
||||||
|
> 1、API接口必须写在 com.api /om.cloudstore 文件夹下,这样才能被扫描到。若系统有统一待办的非标功能,放在weaver.rest目录下也是可以的。
|
||||||
|
>
|
||||||
|
> 2、但是这里我们这边要求大家放到 com.api 目录下,我们编写的接口,请求地址前面默认会加上/api。例:@Path("/getUserInfo"),请求地址应为/api/getUserInfo
|
||||||
|
>
|
||||||
|
> 3、若编写的api供外部系统调用,必须将api的请求地址放在配置文件的白名单中,否则异构系统无法直接调用。
|
||||||
|
|
||||||
|
> 关于API白名单说明:
|
||||||
|
>
|
||||||
|
> 配置文件:ecology/WEB-INF/prop/weaver_session_filter.properties
|
||||||
|
>
|
||||||
|
> 配置说明:在unchecksessionurl=后面添加自定义接口请求地址
|
||||||
|
|
||||||
|
|
||||||
|
> 示例代码:
|
||||||
|
```java
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### 如何操作数据库
|
### 如何操作数据库
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue