fix(bpm):优化PortalRequest可用性检查逻辑- 将null判断改为available()方法调用,确保sysCode、domain和protocol均非空- 在PortalRequest类中新增available()方法,用于检查实例是否可用
- 统一代码风格,优化条件判断和字符串判空逻辑 - 调整方法参数格式,增强代码可读性 - 修复潜在的空指针异常问题,提高系统稳定性
This commit is contained in:
@@ -53,25 +53,25 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
private IDictDataService dictDataService;
|
||||
|
||||
@Override
|
||||
public boolean pushDoneRiskHazardWorkflow(Long id,String todoType) {
|
||||
public boolean pushDoneRiskHazardWorkflow(Long id, String todoType) {
|
||||
// 0.1.查找风险隐患数据,如果查不到则放弃推送
|
||||
Map<String, Object> risk = riskService.getRiskById(id);
|
||||
if (MapUtil.isEmpty(risk)) return false;
|
||||
// 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知
|
||||
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||
if (ObjectUtil.isNull(portalRequest)) return false;
|
||||
if (!Objects.requireNonNull(portalRequest).available()) return false;
|
||||
|
||||
// 1.构建请求参数,准备推送待办信息
|
||||
String creator="";
|
||||
String receiver="";
|
||||
String isRemark="";
|
||||
String viewType="";
|
||||
String checkArea="";
|
||||
String creator = "";
|
||||
String receiver = "";
|
||||
String isRemark = "";
|
||||
String viewType = "";
|
||||
String checkArea = "";
|
||||
// 1.1.拼接标题
|
||||
|
||||
DictDataDO dictData = dictDataService.getDictData("check_area_dic", risk.getOrDefault("check_area", "").toString());
|
||||
if (dictData != null) {
|
||||
checkArea=dictData.getLabel();
|
||||
checkArea = dictData.getLabel();
|
||||
}
|
||||
|
||||
String requestName = DateUtil.formatDate((Date) risk.getOrDefault("check_date", new Date())) + SPACE +
|
||||
@@ -81,15 +81,13 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
risk.getOrDefault("check_problem", "") + SPACE +
|
||||
risk.getOrDefault("check_people", "");
|
||||
// 1.2.根据代办类型取消息发送者 TODO 需要升级存储检查人的username
|
||||
if(todoType.equals("CHARGE_TODO")||todoType.equals("CHARGE_DONE")){
|
||||
if(todoType.equals("CHARGE_TODO"))
|
||||
{
|
||||
isRemark=WORK_STATUS_TODO;
|
||||
viewType=VIEW_TYPE_UNREAD;
|
||||
}else
|
||||
{
|
||||
isRemark=WORK_STATUS_DONE;
|
||||
viewType=VIEW_TYPE_READ;
|
||||
if (todoType.equals("CHARGE_TODO") || todoType.equals("CHARGE_DONE")) {
|
||||
if (todoType.equals("CHARGE_TODO")) {
|
||||
isRemark = WORK_STATUS_TODO;
|
||||
viewType = VIEW_TYPE_UNREAD;
|
||||
} else {
|
||||
isRemark = WORK_STATUS_DONE;
|
||||
viewType = VIEW_TYPE_READ;
|
||||
}
|
||||
|
||||
// 消息发送者为 检查人
|
||||
@@ -97,49 +95,40 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
AdminUserRespDTO createUser = Optional.ofNullable(createUserId)
|
||||
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||
.orElse(new AdminUserRespDTO());
|
||||
if(StringUtils.isEmpty(createUser.getUsername()))
|
||||
{
|
||||
if (StringUtils.isEmpty(createUser.getUsername())) {
|
||||
return false;
|
||||
}else
|
||||
{
|
||||
creator=createUser.getUsername();
|
||||
} else {
|
||||
creator = createUser.getUsername();
|
||||
}
|
||||
|
||||
// 消息接受者为 整改责任人
|
||||
Long receiveId = Objects.isNull(risk.get("corrective_charge_people_id")) ? null : Long.valueOf( risk.get("corrective_charge_people_id").toString());
|
||||
Long receiveId = Objects.isNull(risk.get("corrective_charge_people_id")) ? null : Long.valueOf(risk.get("corrective_charge_people_id").toString());
|
||||
AdminUserRespDTO receiveUser = Optional.ofNullable(receiveId)
|
||||
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||
.orElse(new AdminUserRespDTO());
|
||||
if(StringUtils.isEmpty(receiveUser.getUsername()))
|
||||
{
|
||||
if (StringUtils.isEmpty(receiveUser.getUsername())) {
|
||||
return false;
|
||||
}else
|
||||
{
|
||||
receiver=receiveUser.getUsername();
|
||||
} else {
|
||||
receiver = receiveUser.getUsername();
|
||||
}
|
||||
}else if(todoType.equals("CONFIRM_TODO")||todoType.equals("CONFIRM_DONE"))
|
||||
{
|
||||
if(todoType.equals("CONFIRM_TODO"))
|
||||
{
|
||||
isRemark=WORK_STATUS_TODO;
|
||||
viewType=VIEW_TYPE_UNREAD;
|
||||
}else
|
||||
{
|
||||
isRemark=WORK_STATUS_DONE;
|
||||
viewType=VIEW_TYPE_READ;
|
||||
} else if (todoType.equals("CONFIRM_TODO") || todoType.equals("CONFIRM_DONE")) {
|
||||
if (todoType.equals("CONFIRM_TODO")) {
|
||||
isRemark = WORK_STATUS_TODO;
|
||||
viewType = VIEW_TYPE_UNREAD;
|
||||
} else {
|
||||
isRemark = WORK_STATUS_DONE;
|
||||
viewType = VIEW_TYPE_READ;
|
||||
}
|
||||
|
||||
// 消息发送者为 整改责任人
|
||||
Long createUserId = Objects.isNull(risk.get("corrective_charge_people_id")) ? null : Long.valueOf( risk.get("corrective_charge_people_id").toString());
|
||||
Long createUserId = Objects.isNull(risk.get("corrective_charge_people_id")) ? null : Long.valueOf(risk.get("corrective_charge_people_id").toString());
|
||||
AdminUserRespDTO createUser = Optional.ofNullable(createUserId)
|
||||
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||
.orElse(new AdminUserRespDTO());
|
||||
if(StringUtils.isEmpty(createUser.getUsername()))
|
||||
{
|
||||
if (StringUtils.isEmpty(createUser.getUsername())) {
|
||||
return false;
|
||||
}else
|
||||
{
|
||||
creator=createUser.getUsername();
|
||||
} else {
|
||||
creator = createUser.getUsername();
|
||||
}
|
||||
|
||||
// 消息接受者为 整改确认人
|
||||
@@ -147,12 +136,10 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
AdminUserRespDTO receiveUser = Optional.ofNullable(receiveId)
|
||||
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||
.orElse(new AdminUserRespDTO());
|
||||
if(StringUtils.isEmpty(receiveUser.getUsername()))
|
||||
{
|
||||
if (StringUtils.isEmpty(receiveUser.getUsername())) {
|
||||
return false;
|
||||
}else
|
||||
{
|
||||
receiver=receiveUser.getUsername();
|
||||
} else {
|
||||
receiver = receiveUser.getUsername();
|
||||
}
|
||||
}
|
||||
// 1.2.组织请求数据
|
||||
@@ -175,8 +162,7 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
||||
try {
|
||||
portalRequest.receiveRequestInfo(todoRequestDTO);
|
||||
if(todoType.equals("CONFIRM_DONE"))
|
||||
{
|
||||
if (todoType.equals("CONFIRM_DONE")) {
|
||||
portalRequest.receiveRequestInfo(completeRequestDTO);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -193,7 +179,7 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||
if (MapUtil.isEmpty(risk)) return false;
|
||||
// 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知
|
||||
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||
if (ObjectUtil.isNull(portalRequest)) return false;
|
||||
if (!Objects.requireNonNull(portalRequest).available()) return false;
|
||||
|
||||
// 1.构建请求参数,准备推送待办信息
|
||||
DeleteRequestInfoDTO deleteRequestInfoDTO = new DeleteRequestInfoDTO()
|
||||
|
||||
@@ -58,7 +58,7 @@ public class RiskServiceImpl implements IRiskService {
|
||||
|
||||
// 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知
|
||||
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||
if (ObjectUtil.isNull(portalRequest)) return;
|
||||
if (!Objects.requireNonNull(portalRequest).available()) return;
|
||||
|
||||
// 1.构建请求参数,准备推送待办信息
|
||||
// 1.1.拼接标题
|
||||
|
||||
Reference in New Issue
Block a user