Merge branch 'feature/REQ-4624' into dev

This commit is contained in:
wangli 2025-08-05 10:37:30 +08:00
commit 6b0cd3befd
2 changed files with 10 additions and 5 deletions

View File

@ -1,8 +1,8 @@
package cn.axzo.workflow.common.enums;
import cn.axzo.workflow.common.model.dto.AmountFieldDTO;
import cn.axzo.workflow.common.model.dto.ContactsPersonDTO;
import cn.axzo.workflow.common.model.dto.UploadFieldDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -42,7 +42,7 @@ public enum FormFieldTypeEnum {
}),
contacts("contacts", "联系人", new TypeReference<List<ContactsPersonDTO>>() {
}),
amount("amount", "金额", new TypeReference<String>() {
amount("amount", "金额", new TypeReference<AmountFieldDTO>() {
}),
decimal("decimal", "小数", new TypeReference<Map<String, Object>>() {
}),
@ -96,14 +96,17 @@ public enum FormFieldTypeEnum {
return fieldValue;
}
// 先转为字符串再反序列化
String json = objectMapper.writeValueAsString(fieldValue);
String json = fieldValue.toString();
if (!(fieldValue instanceof String)) {
json = objectMapper.writeValueAsString(fieldValue);
}
Object defaultValue = handleDefault(fieldParams, json, fieldType);
if (Objects.isNull(defaultValue)) {
if (Objects.nonNull(defaultValue)) {
return fieldValue;
}
if (Objects.equals(type, "decimal")) {
// 特殊处理 decimal 类型确保返回的 Map 包含 unit 字段
Map<String, Object> decimalMap = (Map<String, Object>) defaultValue;
Map<String, Object> decimalMap = new HashMap<>();
decimalMap.put("value", fieldValue);
decimalMap.put("unit", fieldParams.getOrDefault("unit", ""));
return decimalMap;

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.common.model.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -15,6 +16,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class ContactsPersonDTO {
/**
* xx:xx:xx