配置新一套待办推送
This commit is contained in:
parent
3f48c86f23
commit
34a735d830
|
@ -74,6 +74,8 @@ public class ToDoResendTack extends AbstractTask {
|
|||
String accountId = System.getProperty("backlog-accountid");
|
||||
logger.info("拼接sql,此次拼接的待办类型为:" + t_status + "(1:待办、2已办、5撤销),使用参数startTime:" + startTime + "endTime:"
|
||||
+ endTime);
|
||||
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
|
||||
|
||||
StringBuilder cwbSql1 = new StringBuilder();
|
||||
cwbSql1.append("SELECT ");
|
||||
cwbSql1.append("b.FID,");
|
||||
|
@ -224,12 +226,44 @@ public class ToDoResendTack extends AbstractTask {
|
|||
form.append("\"0\"");
|
||||
form.append("}");
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),title,next.getLong("fid").toString(),userName,next.getString("fbillno"));
|
||||
if(java.util.Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),title,next.getLong("fid").toString(),userName,next.getString("fbillno"));
|
||||
}else if(java.util.Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoTest(form.toString(),title,next.getLong("fid").toString(),userName,next.getString("fbillno"));
|
||||
|
||||
}else if(java.util.Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),title,next.getLong("fid").toString(),userName,next.getString("fbillno"));
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoTest(form.toString(),title,next.getLong("fid").toString(),userName,next.getString("fbillno"));
|
||||
}
|
||||
break;
|
||||
case "2":
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
if(java.util.Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}else if(java.util.Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDoTest(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}else if(java.util.Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDoTest(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}
|
||||
break;
|
||||
case "5":
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
if(java.util.Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}else if(java.util.Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoTest(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}else if(java.util.Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoTest(next.getLong("fid"),userName,next.getString("fbillno"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -1,13 +1,26 @@
|
|||
package shkd.sys.sys.midservice.handler;
|
||||
|
||||
import cn.hutool.crypto.SmUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.exception.ErrorCode;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.workflow.engine.msg.ctx.MessageContext;
|
||||
import kd.bos.workflow.engine.msg.info.ToDoInfo;
|
||||
import shkd.sys.sys.midservice.constant.ToDoCenterConstant;
|
||||
import shkd.sys.sys.midservice.model.BacklogMessage;
|
||||
import shkd.sys.sys.midservice.utils.GetUrlUtils;
|
||||
import shkd.sys.sys.midservice.utils.RequestClient;
|
||||
import shkd.sys.sys.utils.AesUtils;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
|
@ -22,34 +35,35 @@ public class CreateToDoHandler {
|
|||
private static Log logger = LogFactory.getLog(CreateToDoHandler.class);
|
||||
private static CreateToDoHandler _CreateToDoHandler;
|
||||
|
||||
public static synchronized CreateToDoHandler get_CreateToDoHandler(){
|
||||
if(_CreateToDoHandler == null){
|
||||
_CreateToDoHandler = new CreateToDoHandler();
|
||||
public static synchronized CreateToDoHandler get_CreateToDoHandler() {
|
||||
if (_CreateToDoHandler == null) {
|
||||
_CreateToDoHandler = new CreateToDoHandler();
|
||||
}
|
||||
return _CreateToDoHandler;
|
||||
}
|
||||
|
||||
public boolean
|
||||
sendCreateToDo(String messageInfo,String title,String appRecordId,String userId,String number) {
|
||||
sendCreateToDo(String messageInfo, String title, String appRecordId, String userId, String number) {
|
||||
logger.info("###进入待办推送接口数据组装");
|
||||
try {
|
||||
//调用接口结果
|
||||
String result = RequestClient.getInstance().callService(ToDoCenterConstant.URI_send_addNew,messageInfo);
|
||||
logger.info("###接口返回结果"+result);
|
||||
String result = RequestClient.getInstance().callService(ToDoCenterConstant.URI_send_addNew, messageInfo);
|
||||
logger.info("###接口返回结果" + result);
|
||||
//接口调用结果
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
if(jsonObject == null){
|
||||
RequestClient.getInstance().saveCreateToDo(title,ToDoCenterConstant.URI_send_addNew,false,result,messageInfo,appRecordId,userId,number);
|
||||
if (jsonObject == null) {
|
||||
RequestClient.getInstance().saveCreateToDo(title, ToDoCenterConstant.URI_send_addNew, false, result, messageInfo, appRecordId, userId, number);
|
||||
logger.info("###响应报文为空");
|
||||
return false;
|
||||
}else{
|
||||
if(Objects.equals("success",jsonObject.getString("status"))){
|
||||
} else {
|
||||
if (Objects.equals("success", jsonObject.getString("status"))) {
|
||||
//发送成功
|
||||
//调用保存操作
|
||||
RequestClient.getInstance().saveCreateToDo(title,ToDoCenterConstant.URI_send_addNew,true,result,messageInfo,appRecordId,userId,number);
|
||||
RequestClient.getInstance().saveCreateToDo(title, ToDoCenterConstant.URI_send_addNew, true, result, messageInfo, appRecordId, userId, number);
|
||||
return true;
|
||||
}else{
|
||||
} else {
|
||||
//调用保存操作
|
||||
RequestClient.getInstance().saveCreateToDo(title,ToDoCenterConstant.URI_send_addNew,false,result,messageInfo,appRecordId,userId,number);
|
||||
RequestClient.getInstance().saveCreateToDo(title, ToDoCenterConstant.URI_send_addNew, false, result, messageInfo, appRecordId, userId, number);
|
||||
//发送失败
|
||||
logger.error("###接口调通失败");
|
||||
return false;
|
||||
|
@ -57,9 +71,41 @@ public class CreateToDoHandler {
|
|||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("###调用接口失败:"+e.getMessage(),e);
|
||||
logger.error("###调用接口失败:" + e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean
|
||||
sendCreateToDoTest(String messageInfo, String title, String appRecordId, String userId, String number) {
|
||||
logger.info("###进入待办推送接口数据组装");
|
||||
try {
|
||||
//调用接口结果
|
||||
String result = RequestClient.getInstance().callServiceTest(ToDoCenterConstant.URI_send_addNew, messageInfo);
|
||||
logger.info("###接口返回结果" + result);
|
||||
//接口调用结果
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
if (jsonObject == null) {
|
||||
RequestClient.getInstance().saveCreateToDoTest(title, ToDoCenterConstant.URI_send_addNew, false, result, messageInfo, appRecordId, userId, number);
|
||||
logger.info("###响应报文为空");
|
||||
return false;
|
||||
} else {
|
||||
if (Objects.equals("success", jsonObject.getString("status"))) {
|
||||
//发送成功
|
||||
//调用保存操作
|
||||
RequestClient.getInstance().saveCreateToDoTest(title, ToDoCenterConstant.URI_send_addNew, true, result, messageInfo, appRecordId, userId, number);
|
||||
return true;
|
||||
} else {
|
||||
//调用保存操作
|
||||
RequestClient.getInstance().saveCreateToDoTest(title, ToDoCenterConstant.URI_send_addNew, false, result, messageInfo, appRecordId, userId, number);
|
||||
//发送失败
|
||||
logger.error("###接口调通失败");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("###调用接口失败:" + e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,5 +57,35 @@ public class DealToDoHandler {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean sendDealToDoTest(Long appRecordId, String userId,String number) {
|
||||
try {
|
||||
String part = "{ \"appRecordId\": \""+appRecordId+"\", \"userId\": \""+userId+"\" }";
|
||||
//调用接口结果
|
||||
String result = RequestClient.getInstance().callServiceTest(ToDoCenterConstant.URI_SEND_finish, part);
|
||||
//保存发送消息日志
|
||||
//接口调用结果
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
if (jsonObject == null) {
|
||||
//发送失败
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId, userId, ToDoCenterConstant.URI_SEND_finish, false, result, part, "2",number);
|
||||
logger.info("###响应报文为空");
|
||||
return false;
|
||||
} else {
|
||||
if(Objects.equals("success",jsonObject.getString("status"))){
|
||||
//发送成功
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId, userId, ToDoCenterConstant.URI_SEND_finish, true, result, part, "2",number);
|
||||
return true;
|
||||
} else {
|
||||
//发送失败
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId, userId, ToDoCenterConstant.URI_SEND_finish, false, result, part, "2",number);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("调用接口失败:" + e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -57,4 +57,33 @@ public class deleteToDoHandler {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
public boolean sendDeleteToDoTest(Long appRecordId,String userId,String number) {
|
||||
try {
|
||||
//body
|
||||
String part = "{ \"appRecordId\": \""+appRecordId+"\", \"userId\": \""+userId+"\" }";
|
||||
//调用接口结果
|
||||
String result = RequestClient.getInstance().callServiceTest(ToDoCenterConstant.URI_send_deleteP,part);
|
||||
//保存发送消息日志
|
||||
//接口调用结果
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
if(jsonObject== null){
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId,userId,ToDoCenterConstant.URI_send_deleteP,false,result,part,"5",number);
|
||||
logger.info("###响应报文为空");
|
||||
return false;
|
||||
}else{
|
||||
if(Objects.equals("success",jsonObject.getString("status"))){
|
||||
//发送成功
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId,userId,ToDoCenterConstant.URI_send_deleteP,true,result,part,"5",number);
|
||||
return true;
|
||||
}else{
|
||||
RequestClient.getInstance().saveDeLToDoTest(appRecordId,userId,ToDoCenterConstant.URI_send_deleteP,false,result,part,"5",number);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("###调用中台服务消息中心发送消息服务异常:"+e.getMessage(),e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ import shkd.sys.sys.utils.AesUtils;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
|
@ -36,9 +37,21 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
|
|||
private static final Log logger = LogFactory.getLog(BacklogServiceHandle.class);
|
||||
|
||||
public void createToDo(MessageContext ctx, ToDoInfo todoInfo) {
|
||||
|
||||
logger.info("###创建待办_createToDo");
|
||||
//几个待办
|
||||
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
|
||||
if(Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
getToDoFormal(ctx,todoInfo);
|
||||
}else if(Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
getToDoTest(ctx,todoInfo);
|
||||
}else if(Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
getToDoTest(ctx,todoInfo);
|
||||
getToDoFormal(ctx,todoInfo);
|
||||
}
|
||||
logger.info("###结束待办_createToDo");
|
||||
/* //几个待办
|
||||
List<Long> userIds = todoInfo.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,number" +
|
||||
",phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
|
@ -56,7 +69,116 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
|
|||
throw new KDException(errorCode, e);
|
||||
}
|
||||
StringBuilder form = new StringBuilder();
|
||||
// BacklogMessage backlogMessage = new BacklogMessage();
|
||||
form.append("{");
|
||||
form.append("\"title\":");
|
||||
form.append("\"").append(todoInfo.getTitle()).append("\",");
|
||||
form.append("\"bName\":");
|
||||
form.append("\"").append("司库").append("\",");
|
||||
form.append("\"bussinessCode\":");
|
||||
form.append("\"").append("EOSS").append("\",");
|
||||
form.append("\"urGency\":");
|
||||
form.append("\"0\",");
|
||||
form.append("\"currentStepName\":");
|
||||
form.append("\"").append(dynamicObject.getString("name")).append("\",");
|
||||
form.append("\"sendUserName\":");
|
||||
form.append("\"").append(dynamicObject.getString("startname")).append("\",");
|
||||
form.append("\"receiveUsersysName\":");
|
||||
form.append("\"").append(query_one.getString("username")).append("\",");
|
||||
form.append("\"receiveUserId\":");
|
||||
form.append("\"").append(query_one.getString("username")).append("\",");
|
||||
form.append("\"handleUrl\":");
|
||||
Map<String, Object> taskInfo = GetUrlUtils.getTaskInfo(todoInfo.getTaskId());
|
||||
String url = GetUrlUtils.buildTaskUrl(taskInfo);
|
||||
form.append("\"").append(url).append("&userName=").append(userName).append("\",");
|
||||
form.append("\"appHandleUrl\":");
|
||||
form.append("\"").append(url).append("&userName=").append(userName).append("\",");
|
||||
form.append("\"appName\":");
|
||||
form.append("\"").append(ctx.getEntityName()).append("\",");
|
||||
form.append("\"pendingId\":");
|
||||
form.append("\"").append(todoInfo.getTaskId()).append("\",");
|
||||
form.append("\"pendingAttr\":");
|
||||
form.append("\"0\"");
|
||||
form.append("}");
|
||||
logger.info("###待办拼接请求体:"+form);
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),todoInfo.getTitle(),
|
||||
todoInfo.getTaskId().toString(),query_one.getString("username"),dynamicObject.getString("billno"));
|
||||
}
|
||||
logger.info("###结束待办_createToDo");*/
|
||||
}
|
||||
//已办
|
||||
public void dealToDo(MessageContext ctx, ToDoInfo info){
|
||||
logger.info("###创建已办_dealToDo");
|
||||
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
|
||||
if(Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
getDealFormal(ctx,info);
|
||||
}else if(Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
getDealTest(ctx,info);
|
||||
}else if(Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
getDealTest(ctx,info);
|
||||
getDealFormal(ctx,info);
|
||||
}
|
||||
logger.info("###结束已办_dealToDo");
|
||||
}
|
||||
//撤销
|
||||
public void deleteToDo(MessageContext ctx, ToDoInfo info){
|
||||
|
||||
logger.info("###创建撤销_deleteToDo");
|
||||
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
|
||||
if(Objects.equals(shkd_type,"0")){
|
||||
//正式环境
|
||||
getDeleteFormal(ctx,info);
|
||||
}else if(Objects.equals(shkd_type,"1")){
|
||||
//测试环境
|
||||
getDeleteTest(ctx,info);
|
||||
}else if(Objects.equals(shkd_type,"2")){
|
||||
//二套环境
|
||||
getDeleteTest(ctx,info);
|
||||
getDeleteFormal(ctx,info);
|
||||
}
|
||||
/* List<Long> userIds = info.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
|
||||
new QFilter[]{new QFilter("id", "=", info.getTaskId())});
|
||||
//业务id
|
||||
Long taskId = ctx.getTaskId();
|
||||
logger.info("####撤销taskid:"+info.getTaskId());
|
||||
for (DynamicObject queryOne : query) {
|
||||
if(dynamicObject != null){
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),dynamicObject.getString("billno"));
|
||||
}else{
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),"");
|
||||
|
||||
}
|
||||
}*/
|
||||
logger.info("###结束撤销_deleteToDo");
|
||||
}
|
||||
|
||||
/***
|
||||
* 正式环境、待办
|
||||
*/
|
||||
public void getToDoFormal(MessageContext ctx, ToDoInfo todoInfo) {
|
||||
//几个待办
|
||||
List<Long> userIds = todoInfo.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,number" +
|
||||
",phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno,startname,id,name",
|
||||
new QFilter[]{new QFilter("id", "=", todoInfo.getTaskId())});
|
||||
logger.info("####待办taskid:" + todoInfo.getTaskId());
|
||||
for (DynamicObject query_one : query) {
|
||||
String userName;
|
||||
try {
|
||||
userName = AesUtils.aesEncryptString(query_one.getString("username"));
|
||||
logger.info("AES加密后user:" + userName);
|
||||
} catch (Exception e) {
|
||||
logger.info("####AES加密出现异常,请联系运维人员排查!");
|
||||
ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!");
|
||||
throw new KDException(errorCode, e);
|
||||
}
|
||||
StringBuilder form = new StringBuilder();
|
||||
// BacklogMessage backlogMessage = new BacklogMessage();
|
||||
form.append("{");
|
||||
form.append("\"title\":");
|
||||
form.append("\"").append(todoInfo.getTitle()).append("\",");
|
||||
|
@ -123,17 +245,74 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
|
|||
backlogMessage.setNotifyMethod("");
|
||||
//业务自定义数据
|
||||
backlogMessage.setJsonData("");*/
|
||||
logger.info("###待办拼接请求体:"+form);
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),todoInfo.getTitle(),
|
||||
todoInfo.getTaskId().toString(),query_one.getString("username"),dynamicObject.getString("billno"));
|
||||
logger.info("###待办拼接请求体:" + form);
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), todoInfo.getTitle(),
|
||||
todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno"));
|
||||
}
|
||||
}
|
||||
/***
|
||||
* 测试环境、待办
|
||||
*/
|
||||
public void getToDoTest(MessageContext ctx, ToDoInfo todoInfo) {
|
||||
//几个待办
|
||||
List<Long> userIds = todoInfo.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,number" +
|
||||
",phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno,startname,id,name",
|
||||
new QFilter[]{new QFilter("id", "=", todoInfo.getTaskId())});
|
||||
logger.info("####待办taskid:" + todoInfo.getTaskId());
|
||||
for (DynamicObject query_one : query) {
|
||||
String userName;
|
||||
try {
|
||||
userName = AesUtils.aesEncryptString(query_one.getString("username"));
|
||||
logger.info("AES加密后user:" + userName);
|
||||
} catch (Exception e) {
|
||||
logger.info("####AES加密出现异常,请联系运维人员排查!");
|
||||
ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!");
|
||||
throw new KDException(errorCode, e);
|
||||
}
|
||||
StringBuilder form = new StringBuilder();
|
||||
// BacklogMessage backlogMessage = new BacklogMessage();
|
||||
form.append("{");
|
||||
form.append("\"title\":");
|
||||
form.append("\"").append(todoInfo.getTitle()).append("\",");
|
||||
form.append("\"bName\":");
|
||||
form.append("\"").append("司库").append("\",");
|
||||
form.append("\"bussinessCode\":");
|
||||
form.append("\"").append("EOSS").append("\",");
|
||||
form.append("\"urGency\":");
|
||||
form.append("\"0\",");
|
||||
form.append("\"currentStepName\":");
|
||||
form.append("\"").append(dynamicObject.getString("name")).append("\",");
|
||||
form.append("\"sendUserName\":");
|
||||
form.append("\"").append(dynamicObject.getString("startname")).append("\",");
|
||||
form.append("\"receiveUsersysName\":");
|
||||
form.append("\"").append(query_one.getString("username")).append("\",");
|
||||
form.append("\"receiveUserId\":");
|
||||
form.append("\"").append(query_one.getString("username")).append("\",");
|
||||
form.append("\"handleUrl\":");
|
||||
Map<String, Object> taskInfo = GetUrlUtils.getTaskInfo(todoInfo.getTaskId());
|
||||
String url = GetUrlUtils.buildTaskUrl(taskInfo);
|
||||
form.append("\"").append(url).append("&userName=").append(userName).append("\",");
|
||||
form.append("\"appHandleUrl\":");
|
||||
form.append("\"").append(url).append("&userName=").append(userName).append("\",");
|
||||
form.append("\"appName\":");
|
||||
form.append("\"").append(ctx.getEntityName()).append("\",");
|
||||
form.append("\"pendingId\":");
|
||||
form.append("\"").append(todoInfo.getTaskId()).append("\",");
|
||||
form.append("\"pendingAttr\":");
|
||||
form.append("\"0\"");
|
||||
form.append("}");
|
||||
logger.info("###待办拼接请求体:" + form);
|
||||
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoTest(form.toString(), todoInfo.getTitle(),
|
||||
todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno"));
|
||||
}
|
||||
logger.info("###结束待办_createToDo");
|
||||
|
||||
}
|
||||
|
||||
//已办
|
||||
public void dealToDo(MessageContext ctx, ToDoInfo info){
|
||||
logger.info("###创建已办_dealToDo");
|
||||
/***
|
||||
* 正式环境、已办办
|
||||
*/
|
||||
public void getDealFormal(MessageContext ctx, ToDoInfo info){
|
||||
//几个已办
|
||||
List<Long> userIds = info.getUserIds();
|
||||
logger.info("####已办taskid:"+info.getTaskId());
|
||||
|
@ -149,13 +328,32 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
|
|||
DealToDoHandler.get_DealToDoHandler().sendDealToDo(taskId,queryOne.getString("username"),"");
|
||||
}
|
||||
}
|
||||
logger.info("###结束已办_dealToDo");
|
||||
|
||||
}
|
||||
//撤销
|
||||
public void deleteToDo(MessageContext ctx, ToDoInfo info){
|
||||
/***
|
||||
* 测试环境、已办
|
||||
*/
|
||||
public void getDealTest(MessageContext ctx, ToDoInfo info){
|
||||
//几个已办
|
||||
List<Long> userIds = info.getUserIds();
|
||||
logger.info("####已办taskid:"+info.getTaskId());
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
|
||||
new QFilter[]{new QFilter("id", "=", info.getTaskId())});
|
||||
//业务id
|
||||
Long taskId = ctx.getTaskId();
|
||||
for (DynamicObject queryOne : query) {
|
||||
if(dynamicObject != null){
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDoTest(taskId,queryOne.getString("username"),dynamicObject.getString("billno"));
|
||||
}else{
|
||||
DealToDoHandler.get_DealToDoHandler().sendDealToDoTest(taskId,queryOne.getString("username"),"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("###创建撤销_deleteToDo");
|
||||
/***
|
||||
* 测试环境、撤销
|
||||
*/
|
||||
public void getDeleteFormal(MessageContext ctx, ToDoInfo info){
|
||||
List<Long> userIds = info.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
|
||||
|
@ -168,10 +366,27 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
|
|||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),dynamicObject.getString("billno"));
|
||||
}else{
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),"");
|
||||
|
||||
}
|
||||
}
|
||||
logger.info("###结束撤销_deleteToDo");
|
||||
}
|
||||
|
||||
/***
|
||||
* 测试环境、撤销
|
||||
*/
|
||||
public void getDeleteTest(MessageContext ctx, ToDoInfo info){
|
||||
List<Long> userIds = info.getUserIds();
|
||||
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
|
||||
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
|
||||
new QFilter[]{new QFilter("id", "=", info.getTaskId())});
|
||||
//业务id
|
||||
Long taskId = ctx.getTaskId();
|
||||
logger.info("####撤销taskid:"+info.getTaskId());
|
||||
for (DynamicObject queryOne : query) {
|
||||
if(dynamicObject != null){
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoTest(taskId,queryOne.getString("username"),dynamicObject.getString("billno"));
|
||||
}else{
|
||||
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoTest(taskId,queryOne.getString("username"),"");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import cn.hutool.crypto.SmUtil;
|
|||
import cn.hutool.http.HttpRequest;
|
||||
import kd.bos.coderule.api.CodeRuleInfo;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.isc.util.flow.core.Execution;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
@ -26,16 +25,28 @@ public class RequestClient {
|
|||
private static final Logger logger = LoggerFactory.getLogger(RequestClient.class);
|
||||
private final String protocal;//http
|
||||
private final String ip;// 域名
|
||||
|
||||
private final String port;// 端口
|
||||
private final String clientKey;// 系统标识
|
||||
private final String clientSecret;// clientSecret-scict
|
||||
private final String testIp;// 域名
|
||||
private final String testPort;// 域名
|
||||
private final String testClientKey;// 系统标识
|
||||
private final String testClientSecret;// clientSecret-scict
|
||||
|
||||
private RequestClient() {
|
||||
this.protocal = System.getProperty("backlog-protocal");
|
||||
//正式环境
|
||||
this.ip = System.getProperty("backlog-ip");
|
||||
this.port = System.getProperty("backlog-port");
|
||||
this.clientKey= System.getProperty("clientKey-scict");
|
||||
this.clientSecret= System.getProperty("clientSecret-scict");
|
||||
this.clientKey= System.getProperty("clientKey-scict"); // scicsiku
|
||||
this.clientSecret= System.getProperty("clientSecret-scict");// 0abbcc87-f1d4-4550-8df7-b45acaa305c8
|
||||
//测试环境
|
||||
this.testIp = System.getProperty("backlog-testip"); //
|
||||
this.testPort = System.getProperty("backlog-testport"); //
|
||||
this.testClientKey = System.getProperty("testclientKey-scict"); // scicsiku
|
||||
this.testClientSecret = System.getProperty("testclientSecret-scict"); // 18b9a506-d9d8-4d15-9e03-01867cff5824
|
||||
|
||||
}
|
||||
/**
|
||||
* 获取中台服务客户端实例
|
||||
|
@ -85,6 +96,46 @@ public class RequestClient {
|
|||
}
|
||||
return responseText;
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试环境、封装中台请求头,执行POST请求
|
||||
* @param url 接口地址(不含http://ip:port的后半部分)
|
||||
* @param body FORM格式字符串
|
||||
* @return 响应结果报文
|
||||
*/
|
||||
public String callServiceTest(String url, String body){
|
||||
StringBuffer urlStr = new StringBuffer();
|
||||
urlStr.append(this.protocal).append("://").append(this.testIp);
|
||||
if (!StringUtils.isEmpty(this.testPort)) {
|
||||
urlStr.append(":").append(this.testPort);
|
||||
}
|
||||
logger.info("###环境参数,protocal:"+this.protocal+",ip:"+this.testIp+",this.port:"+this.testPort);
|
||||
urlStr.append(url);
|
||||
String responseText = null;
|
||||
String timestamp = Long.toString(System.currentTimeMillis() / 1000);
|
||||
byte[] securityKey = this.testClientSecret.substring(10, 26).getBytes();
|
||||
String authenticationCode = SmUtil.sm4(securityKey).encryptHex(testClientKey + testClientSecret + timestamp);
|
||||
logger.info("###请求头主要参数:authen(sign)"+authenticationCode+"###时间戳"+timestamp);
|
||||
Map<String,Object> params=new HashMap<>(2);
|
||||
params.put("params",body);
|
||||
try {
|
||||
//直接POST请求
|
||||
responseText = HttpRequest.post(urlStr.toString())
|
||||
.header("authen", authenticationCode)
|
||||
.header("clientKey", testClientKey)
|
||||
.header("timestamp", timestamp)
|
||||
.header("origin_client", "HttpToken")
|
||||
.form(params)
|
||||
.execute().body();
|
||||
logger.info(String.format("###调用接口成功,请求URL:%s,请求Body:%s,响应报文:%s", urlStr, params, responseText));
|
||||
} catch (Exception e) {
|
||||
logger.error(String.format("###调用接口异常:%s,请求URL:%s,请求Body:%s", e.getMessage(), urlStr, params), e);
|
||||
}
|
||||
return responseText;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 保存待办日志
|
||||
* @param title 标题
|
||||
|
@ -131,8 +182,56 @@ public class RequestClient {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
* 测试环境、保存待办日志
|
||||
* @param title 标题
|
||||
* @param url 路径
|
||||
* @param isTrue 接口调用是否成功
|
||||
* @param result 响应报文
|
||||
* @param jsonMessage 请求报文
|
||||
* @param appRecordId taskid
|
||||
* @param userId 用户id
|
||||
* @param number 单据编码
|
||||
*/
|
||||
public void saveCreateToDoTest(String title,String url, boolean isTrue,String result,String jsonMessage,String appRecordId,String userId,String number){
|
||||
logger.info("###开始调用待办保存日志方法");
|
||||
StringBuffer urlStr = new StringBuffer();
|
||||
urlStr.append(this.protocal).append("://").append(this.testIp);
|
||||
if (!StringUtils.isEmpty(this.testPort)) {
|
||||
urlStr.append(":").append(this.testPort);
|
||||
}
|
||||
urlStr.append(url);;
|
||||
logger.info("###保存时,环境参数,protocal:"+this.protocal+",ip:"+this.testIp+",this.port:"+this.testPort);
|
||||
try{
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("shkd_backlog1");
|
||||
logger.info("###保存日志表id"+dynamicObject.getPkValue());
|
||||
dynamicObject.set("shkd_url","测试环境:"+urlStr);
|
||||
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dynamicObject.getDataEntityType().getName(), dynamicObject, null);
|
||||
dynamicObject.set("billno",CodeRuleServiceHelper.getNumber(codeRule,dynamicObject));
|
||||
dynamicObject.set("shkd_traceid",appRecordId);
|
||||
dynamicObject.set("shkd_username",userId);
|
||||
dynamicObject.set("shkd_request",title);
|
||||
dynamicObject.set("shkd_request_tag",jsonMessage);
|
||||
dynamicObject.set("shkd_response",isTrue);
|
||||
dynamicObject.set("shkd_response_tag",result);
|
||||
dynamicObject.set("shkd_status","0");
|
||||
dynamicObject.set("billstatus","C");
|
||||
if(StringUtils.isNotEmpty(number)){
|
||||
dynamicObject.set("shkd_number",number);
|
||||
}
|
||||
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
||||
logger.info("###保存日志表后id"+dynamicObject.getPkValue());
|
||||
logger.info("save结果"+save.toString());
|
||||
logger.info("###结束调用待办保存日志方法");
|
||||
}catch (Exception execution){
|
||||
logger.info("###保存日志失败"+execution.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
* 保存待办日志
|
||||
* 保存已办、撤销日志
|
||||
* @param appRecordId 业务id
|
||||
* @param userId 接收人id
|
||||
* @param url 路径
|
||||
|
@ -175,5 +274,49 @@ public class RequestClient {
|
|||
|
||||
}
|
||||
|
||||
/***
|
||||
* 测试环境、保存已办、撤销日志
|
||||
* @param appRecordId 业务id
|
||||
* @param userId 接收人id
|
||||
* @param url 路径
|
||||
* @param isTrue 接口调用是否成功
|
||||
* @param result 响应报文
|
||||
* @param jsonMessage 请求报文
|
||||
* @param status 类型 2:已办 5:撤销
|
||||
*/
|
||||
public void saveDeLToDoTest(Long appRecordId,String userId,String url,boolean isTrue,String result,String jsonMessage,String status,String number){
|
||||
logger.info("###开始调用已办、撤销保存日志方法");
|
||||
StringBuffer urlStr = new StringBuffer();
|
||||
urlStr.append(this.protocal).append("://").append(this.testIp);
|
||||
if (!StringUtils.isEmpty(this.testPort)) {
|
||||
urlStr.append(":").append(this.testPort);
|
||||
}
|
||||
urlStr.append(url);
|
||||
try{
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("shkd_backlog1");
|
||||
dynamicObject.set("shkd_url","测试环境:"+urlStr.toString());
|
||||
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dynamicObject.getDataEntityType().getName(), dynamicObject, null);
|
||||
dynamicObject.set("billno",CodeRuleServiceHelper.getNumber(codeRule,dynamicObject));
|
||||
dynamicObject.set("shkd_traceid",appRecordId);
|
||||
dynamicObject.set("shkd_username",userId);
|
||||
dynamicObject.set("shkd_request","业务id:"+appRecordId+",接收人username:"+userId);
|
||||
dynamicObject.set("shkd_request_tag",jsonMessage);
|
||||
dynamicObject.set("shkd_response",isTrue);
|
||||
dynamicObject.set("shkd_response_tag",result);
|
||||
dynamicObject.set("shkd_status",status);
|
||||
dynamicObject.set("billstatus","C");
|
||||
if(StringUtils.isNotEmpty(number)){
|
||||
dynamicObject.set("shkd_number",number);
|
||||
}
|
||||
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
||||
logger.info("###保存日志表id"+dynamicObject.getPkValue());
|
||||
logger.info("save结果"+save.toString());
|
||||
logger.info("###结束调用已办、撤销保存日志方法");
|
||||
}catch (Exception execution){
|
||||
logger.info("###保存日志失败"+execution.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue