feat(REQ-4624) - 针对 BpmnTaskDelegateAssigner 模型增加 personId 的判断转换函数,避免业务出现问题

This commit is contained in:
wangli 2025-07-30 17:16:27 +08:00
parent 4ebda69a05
commit 7016f26683

View File

@ -1,7 +1,6 @@
package cn.axzo.workflow.common.model.request.bpmn.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -10,6 +9,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.math.NumberUtils;
import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.rely.FieldType;
import org.springframework.util.StringUtils;
@ -81,6 +81,8 @@ public class BpmnTaskDelegateAssigner extends BaseBpmnTaskDelegateAssigner imple
* 对应安心筑特殊的PersonId
* <p>
* 仅安心筑使用, 应该必传
* <p>
* <h2 color=red>注意该属性在部分场景下会是非 Long 类型的值建议业务消费时调用{@link BpmnTaskDelegateAssigner#parsePersonId()}函数进行转换</h2>
*/
@IndexField(fieldType = FieldType.KEYWORD)
private String personId;
@ -231,4 +233,27 @@ public class BpmnTaskDelegateAssigner extends BaseBpmnTaskDelegateAssigner imple
public static BpmnTaskDelegateAssigner toObject(String jsonStr) {
return JSON.parseObject(jsonStr, BpmnTaskDelegateAssigner.class);
}
/**
* @return
*/
public Long parsePersonId() {
if (NumberUtils.isDigits(personId)) {
return Long.parseLong(personId);
} else {
return 0L;
}
}
public static void main(String[] args) {
BpmnTaskDelegateAssigner assigner = new BpmnTaskDelegateAssigner();
assigner.setPersonId("system");
System.out.println("assigner.parsePersonId() = " + assigner.parsePersonId());
assigner.setPersonId("");
System.out.println("assigner.parsePersonId() = " + assigner.parsePersonId());
assigner.setPersonId("123");
System.out.println("assigner.parsePersonId() = " + assigner.parsePersonId());
}
}