From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-oa/src/main/java/com/java110/oa/cmd/oaWorkflow/UpdateOaWorkflowFormData.java | 76 ++++++++++++++++++++++++++++++++++---
1 files changed, 69 insertions(+), 7 deletions(-)
diff --git a/service-oa/src/main/java/com/java110/oa/cmd/oaWorkflow/UpdateOaWorkflowFormData.java b/service-oa/src/main/java/com/java110/oa/cmd/oaWorkflow/UpdateOaWorkflowFormData.java
index 6b8f857..6417ef8 100644
--- a/service-oa/src/main/java/com/java110/oa/cmd/oaWorkflow/UpdateOaWorkflowFormData.java
+++ b/service-oa/src/main/java/com/java110/oa/cmd/oaWorkflow/UpdateOaWorkflowFormData.java
@@ -4,13 +4,17 @@
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.oaWorkflowForm.OaWorkflowFormDto;
+import com.java110.dto.workflowDataFile.WorkflowDataFileDto;
import com.java110.intf.oa.IOaWorkflowFormInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.oa.IWorkflowDataFileV1InnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowForm.IGetOaWorkflowFormBMO;
+import com.java110.po.workflowDataFile.WorkflowDataFilePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.StringUtil;
@@ -19,14 +23,15 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 淇敼琛ㄥ崟鏁版嵁
*/
-@Java110Cmd(serviceCode = "/oaWorkflow/updateOaWorkflowFormData")
-public class UpdateOaWorkflowFormData extends AbstractServiceCmdListener {
+@Java110Cmd(serviceCode = "oaWorkflow.updateOaWorkflowFormData")
+public class UpdateOaWorkflowFormData extends Cmd {
@Autowired
private IOaWorkflowFormInnerServiceSMO oaWorkflowFormInnerServiceSMOImpl;
@@ -37,6 +42,9 @@
@Autowired
private IGetOaWorkflowFormBMO getOaWorkflowFormBMOImpl;
+ @Autowired
+ private IWorkflowDataFileV1InnerServiceSMO workflowDataFileV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
Assert.hasKeyAndValue(reqJson, "id", "ID涓嶈兘涓虹┖");
@@ -46,6 +54,9 @@
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+ Map<String,String> headers = cmdDataFlowContext.getReqHeaders();
+
+ reqJson.put("storeId",headers.get("store-id"));
OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
oaWorkflowFormDto.setFlowId(reqJson.get("flowId").toString());
@@ -71,12 +82,18 @@
}
List<String> columns = new ArrayList<>();
- List<String> values = new ArrayList<>();
for (String key : reqJson.keySet()) {
- if ("flowId".equals(key) || "id".equals(key)) {
+ if ("flowId".equals(key) || "id".equals(key) || "storeId".equals(key)) {
continue;
}
- columns.add(key + "=" + reqJson.getString(key));
+ if("fileName".equals(key)){
+ continue;
+ }
+
+ if("realFileName".equals(key)){
+ continue;
+ }
+ columns.add(key + "='" + reqJson.getString(key)+"'");
//绠�鍗曟牎楠�
validateColumns(columns);
@@ -91,9 +108,54 @@
throw new IllegalArgumentException("淇濆瓨澶辫触");
}
+ //鍒ゆ柇鏄惁鏈夐檮浠�
+ saveOaWorkflowFile(reqJson);
+
cmdDataFlowContext.setResponseEntity(ResultVo.success());
+ }
+
+
+ private void saveOaWorkflowFile(JSONObject reqJson) {
+ if (!reqJson.containsKey("fileName")) {
+ return;
+ }
+
+ String fileName = reqJson.getString("fileName");
+ if (StringUtil.isEmpty(fileName)) {
+ return;
+ }
+
+ WorkflowDataFileDto workflowDataFileDto = new WorkflowDataFileDto();
+ workflowDataFileDto.setId(reqJson.getString("id"));
+ List<WorkflowDataFileDto> workflowDataFileDtos = workflowDataFileV1InnerServiceSMOImpl.queryWorkflowDataFiles(workflowDataFileDto);
+
+ if(workflowDataFileDtos == null || workflowDataFileDtos.size()< 1) {
+ WorkflowDataFilePo workflowDataFilePo = new WorkflowDataFilePo();
+ workflowDataFilePo.setCreateUserId(reqJson.getString("userId"));
+ workflowDataFilePo.setCreateUserName(reqJson.getString("createUserName"));
+ workflowDataFilePo.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+ workflowDataFilePo.setFileName(reqJson.getString("fileName"));
+ workflowDataFilePo.setId(reqJson.getString("id"));
+ workflowDataFilePo.setRealFileName(reqJson.getString("realFileName"));
+ workflowDataFilePo.setStoreId(reqJson.getString("storeId"));
+ int flag = workflowDataFileV1InnerServiceSMOImpl.saveWorkflowDataFile(workflowDataFilePo);
+ if (flag < 1) {
+ throw new CmdException("淇濆瓨闄勪欢澶辫触");
+ }
+ }else{
+ WorkflowDataFilePo workflowDataFilePo = new WorkflowDataFilePo();
+ workflowDataFilePo.setFileId(workflowDataFileDtos.get(0).getFileId());
+ workflowDataFilePo.setFileName(reqJson.getString("fileName"));
+ workflowDataFilePo.setId(reqJson.getString("id"));
+ workflowDataFilePo.setRealFileName(reqJson.getString("realFileName"));
+ workflowDataFilePo.setStoreId(reqJson.getString("storeId"));
+ int flag = workflowDataFileV1InnerServiceSMOImpl.updateWorkflowDataFile(workflowDataFilePo);
+ if (flag < 1) {
+ throw new CmdException("淇濆瓨闄勪欢澶辫触");
+ }
+ }
}
private void validateColumns(List<String> columns) {
@@ -107,7 +169,7 @@
}
public static boolean containsSqlInjection(Object obj) {
- Pattern pattern = Pattern.compile("\\b(exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare)\\b|(\\*|;|\\+|'|%)");
+ Pattern pattern = Pattern.compile("\\b(exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare)");
Matcher matcher = pattern.matcher(obj.toString().toLowerCase());
return matcher.find();
}
--
Gitblit v1.8.0